This source file includes following definitions.
- ethif_probe
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 #include <linux/config.h>
31 #include <linux/netdevice.h>
32 #include <linux/errno.h>
33
34 #define NEXT_DEV NULL
35
36
37
38
39
40
41 extern int hp100_probe(struct device *dev);
42 extern int ultra_probe(struct device *dev);
43 extern int wd_probe(struct device *dev);
44 extern int el2_probe(struct device *dev);
45 extern int ne_probe(struct device *dev);
46 extern int hp_probe(struct device *dev);
47 extern int hp_plus_probe(struct device *dev);
48 extern int znet_probe(struct device *);
49 extern int express_probe(struct device *);
50 extern int eepro_probe(struct device *);
51 extern int el3_probe(struct device *);
52 extern int at1500_probe(struct device *);
53 extern int at1700_probe(struct device *);
54 extern int depca_probe(struct device *);
55 extern int apricot_probe(struct device *);
56 extern int ewrk3_probe(struct device *);
57 extern int de4x5_probe(struct device *);
58 extern int el1_probe(struct device *);
59 #if defined(CONFIG_WAVELAN)
60 extern int wavelan_probe(struct device *);
61 #endif
62 extern int el16_probe(struct device *);
63 extern int elplus_probe(struct device *);
64 extern int ac3200_probe(struct device *);
65 extern int e2100_probe(struct device *);
66 extern int ni52_probe(struct device *);
67 extern int ni65_probe(struct device *);
68 extern int SK_init(struct device *);
69 extern int seeq8005_probe(struct device *);
70
71
72 extern int atp_init(struct device *);
73 extern int de600_probe(struct device *);
74 extern int de620_probe(struct device *);
75
76 static int
77 ethif_probe(struct device *dev)
78 {
79 u_long base_addr = dev->base_addr;
80
81 if ((base_addr == 0xffe0) || (base_addr == 1))
82 return 1;
83
84 if (1
85 #if defined(CONFIG_SEEQ8005)
86 && seeq8005_probe(dev)
87 #endif
88 #if defined(CONFIG_HP100)
89 && hp100_probe(dev)
90 #endif
91 #if defined(CONFIG_ULTRA)
92 && ultra_probe(dev)
93 #endif
94 #if defined(CONFIG_WD80x3) || defined(WD80x3)
95 && wd_probe(dev)
96 #endif
97 #if defined(CONFIG_EL2) || defined(EL2)
98 && el2_probe(dev)
99 #endif
100 #if defined(CONFIG_NE2000) || defined(NE2000)
101 && ne_probe(dev)
102 #endif
103 #if defined(CONFIG_HPLAN) || defined(HPLAN)
104 && hp_probe(dev)
105 #endif
106 #if defined(CONFIG_HPLAN_PLUS)
107 && hp_plus_probe(dev)
108 #endif
109 #ifdef CONFIG_AT1500
110 && at1500_probe(dev)
111 #endif
112 #ifdef CONFIG_AT1700
113 && at1700_probe(dev)
114 #endif
115 #ifdef CONFIG_EL3
116 && el3_probe(dev)
117 #endif
118 #ifdef CONFIG_ZNET
119 && znet_probe(dev)
120 #endif
121 #ifdef CONFIG_EEXPRESS
122 && express_probe(dev)
123 #endif
124 #ifdef CONFIG_EEXPRESS_PRO
125 && eepro_probe(dev)
126 #endif
127 #ifdef CONFIG_DEPCA
128 && depca_probe(dev)
129 #endif
130 #ifdef CONFIG_EWRK3
131 && ewrk3_probe(dev)
132 #endif
133 #ifdef CONFIG_DE4X5
134 && de4x5_probe(dev)
135 #endif
136 #ifdef CONFIG_APRICOT
137 && apricot_probe(dev)
138 #endif
139 #ifdef CONFIG_EL1
140 && el1_probe(dev)
141 #endif
142 #if defined(CONFIG_WAVELAN)
143 && wavelan_probe(dev)
144 #endif
145 #ifdef CONFIG_EL16
146 && el16_probe(dev)
147 #endif
148 #ifdef CONFIG_ELPLUS
149 && elplus_probe(dev)
150 #endif
151 #ifdef CONFIG_AC3200
152 && ac3200_probe(dev)
153 #endif
154 #ifdef CONFIG_E2100
155 && e2100_probe(dev)
156 #endif
157 #ifdef CONFIG_DE600
158 && de600_probe(dev)
159 #endif
160 #ifdef CONFIG_DE620
161 && de620_probe(dev)
162 #endif
163 #if defined(CONFIG_SK_G16)
164 && SK_init(dev)
165 #endif
166 #ifdef CONFIG_NI52
167 && ni52_probe(dev)
168 #endif
169 #ifdef CONFIG_NI65
170 && ni65_probe(dev)
171 #endif
172 && 1 ) {
173 return 1;
174 }
175 return 0;
176 }
177
178
179 #ifdef CONFIG_NETROM
180 extern int nr_init(struct device *);
181
182 static struct device nr3_dev = { "nr3", 0, 0, 0, 0, 0, 0, 0, 0, 0, NEXT_DEV, nr_init, };
183 static struct device nr2_dev = { "nr2", 0, 0, 0, 0, 0, 0, 0, 0, 0, &nr3_dev, nr_init, };
184 static struct device nr1_dev = { "nr1", 0, 0, 0, 0, 0, 0, 0, 0, 0, &nr2_dev, nr_init, };
185 static struct device nr0_dev = { "nr0", 0, 0, 0, 0, 0, 0, 0, 0, 0, &nr1_dev, nr_init, };
186
187 # undef NEXT_DEV
188 # define NEXT_DEV (&nr0_dev)
189 #endif
190
191
192 #ifdef CONFIG_ATP
193 static struct device atp_dev = {
194 "atp0", 0, 0, 0, 0, 0, 0, 0, 0, 0, NEXT_DEV, atp_init, };
195 # undef NEXT_DEV
196 # define NEXT_DEV (&atp_dev)
197 #endif
198
199 #ifdef CONFIG_ARCNET
200 extern int arcnet_probe(struct device *dev);
201 static struct device arcnet_dev = {
202 "arc0", 0x0, 0x0, 0x0, 0x0, 0, 0, 0, 0, 0, NEXT_DEV, arcnet_probe, };
203 # undef NEXT_DEV
204 # define NEXT_DEV (&arcnet_dev)
205 #endif
206
207
208 #ifndef ETH0_ADDR
209 # define ETH0_ADDR 0
210 #endif
211 #ifndef ETH0_IRQ
212 # define ETH0_IRQ 0
213 #endif
214
215
216
217
218 static struct device eth3_dev = {
219 "eth3", 0,0,0,0,0xffe0 , 0,0,0,0, NEXT_DEV, ethif_probe };
220 static struct device eth2_dev = {
221 "eth2", 0,0,0,0,0xffe0 , 0,0,0,0, ð3_dev, ethif_probe };
222 static struct device eth1_dev = {
223 "eth1", 0,0,0,0,0xffe0 , 0,0,0,0, ð2_dev, ethif_probe };
224
225 static struct device eth0_dev = {
226 "eth0", 0, 0, 0, 0, ETH0_ADDR, ETH0_IRQ, 0, 0, 0, ð1_dev, ethif_probe };
227
228 # undef NEXT_DEV
229 # define NEXT_DEV (ð0_dev)
230
231 #if defined(PLIP) || defined(CONFIG_PLIP)
232 extern int plip_init(struct device *);
233 static struct device plip2_dev = {
234 "plip2", 0, 0, 0, 0, 0x278, 2, 0, 0, 0, NEXT_DEV, plip_init, };
235 static struct device plip1_dev = {
236 "plip1", 0, 0, 0, 0, 0x378, 7, 0, 0, 0, &plip2_dev, plip_init, };
237 static struct device plip0_dev = {
238 "plip0", 0, 0, 0, 0, 0x3BC, 5, 0, 0, 0, &plip1_dev, plip_init, };
239 # undef NEXT_DEV
240 # define NEXT_DEV (&plip0_dev)
241 #endif
242
243 #if defined(SLIP) || defined(CONFIG_SLIP)
244
245
246 extern int slip_init_ctrl_dev(struct device *);
247 static struct device slip_bootstrap = {
248 "slip_proto", 0x0, 0x0, 0x0, 0x0, 0, 0, 0, 0, 0, NEXT_DEV, slip_init_ctrl_dev, };
249 #undef NEXT_DEV
250 #define NEXT_DEV (&slip_bootstrap)
251 #endif
252
253 #if defined(CONFIG_PPP)
254 extern int ppp_init(struct device *);
255 #ifdef CONFIG_PPP_LOTS
256
257 static struct device ppp15_dev={"ppp15",0,0,0,0,15,0,0,0,0,NEXT_DEV,ppp_init};
258 static struct device ppp14_dev={"ppp14",0,0,0,0,14,0,0,0,0,&ppp15_dev,ppp_init};
259 static struct device ppp13_dev={"ppp13",0,0,0,0,13,0,0,0,0,&ppp14_dev,ppp_init};
260 static struct device ppp12_dev={"ppp12",0,0,0,0,12,0,0,0,0,&ppp13_dev,ppp_init};
261 static struct device ppp11_dev={"ppp11",0,0,0,0,11,0,0,0,0,&ppp12_dev,ppp_init};
262 static struct device ppp10_dev={"ppp10",0,0,0,0,10,0,0,0,0,&ppp11_dev,ppp_init};
263 static struct device ppp9_dev={"ppp9",0,0,0,0,9,0,0,0,0,&ppp10_dev,ppp_init};
264 static struct device ppp8_dev={"ppp8",0,0,0,0,8,0,0,0,0,&ppp9_dev,ppp_init};
265 static struct device ppp7_dev={"ppp7",0,0,0,0,7,0,0,0,0,&ppp8_dev,ppp_init};
266 static struct device ppp6_dev={"ppp6",0,0,0,0,6,0,0,0,0,&ppp7_dev,ppp_init};
267 static struct device ppp5_dev={"ppp5",0,0,0,0,5,0,0,0,0,&ppp6_dev,ppp_init};
268 static struct device ppp4_dev={"ppp4",0,0,0,0,4,0,0,0,0,&ppp5_dev,ppp_init};
269 # undef NEXT_DEV
270 # define NEXT_DEV (&ppp4_dev)
271 #endif
272
273 static struct device ppp3_dev = {
274 "ppp3", 0x0, 0x0, 0x0, 0x0, 3, 0, 0, 0, 0, NEXT_DEV, ppp_init, };
275 static struct device ppp2_dev = {
276 "ppp2", 0x0, 0x0, 0x0, 0x0, 2, 0, 0, 0, 0, &ppp3_dev, ppp_init, };
277 static struct device ppp1_dev = {
278 "ppp1", 0x0, 0x0, 0x0, 0x0, 1, 0, 0, 0, 0, &ppp2_dev, ppp_init, };
279 static struct device ppp0_dev = {
280 "ppp0", 0x0, 0x0, 0x0, 0x0, 0, 0, 0, 0, 0, &ppp1_dev, ppp_init, };
281 #undef NEXT_DEV
282 #define NEXT_DEV (&ppp0_dev)
283 #endif
284
285 #ifdef CONFIG_DUMMY
286 extern int dummy_init(struct device *dev);
287 static struct device dummy_dev = {
288 "dummy", 0x0, 0x0, 0x0, 0x0, 0, 0, 0, 0, 0, NEXT_DEV, dummy_init, };
289 # undef NEXT_DEV
290 # define NEXT_DEV (&dummy_dev)
291 #endif
292
293 #ifdef CONFIG_EQUALIZER
294 extern int eql_init(struct device *dev);
295 struct device eql_dev = {
296 "eql",
297
298 0x0, 0x0, 0x0, 0x0,
299 0,
300 0,
301 0, 0, 0,
302 NEXT_DEV,
303 eql_init
304 };
305 # undef NEXT_DEV
306 # define NEXT_DEV (&eql_dev)
307 #endif
308
309 #ifdef CONFIG_IBMTR
310
311 extern int tok_probe(struct device *dev);
312 static struct device ibmtr_dev1 = {
313 "tr1",
314 0x0,
315 0x0,
316 0x0,
317 0x0,
318 0xa24,
319 0,
320 0, 0, 0,
321 NEXT_DEV,
322 tok_probe
323 };
324 # undef NEXT_DEV
325 # define NEXT_DEV (&ibmtr_dev1)
326
327
328 static struct device ibmtr_dev0 = {
329 "tr0",
330 0x0,
331 0x0,
332 0x0,
333 0x0,
334 0xa20,
335 0,
336 0, 0, 0,
337 NEXT_DEV,
338 tok_probe
339 };
340 # undef NEXT_DEV
341 # define NEXT_DEV (&ibmtr_dev0)
342
343 #endif
344 #ifdef CONFIG_NET_IPIP
345 #ifdef CONFIG_IP_FORWARD
346 extern int tunnel_init(struct device *);
347
348 static struct device tunnel_dev1 =
349 {
350 "tunl1",
351 0x0,
352 0x0,
353 0x0,
354 0x0,
355 0x0,
356 0,
357 0, 0, 0,
358 NEXT_DEV,
359 tunnel_init
360 };
361
362 static struct device tunnel_dev0 =
363 {
364 "tunl0",
365 0x0,
366 0x0,
367 0x0,
368 0x0,
369 0x0,
370 0,
371 0, 0, 0,
372 &tunnel_dev1,
373 tunnel_init
374 };
375 # undef NEXT_DEV
376 # define NEXT_DEV (&tunnel_dev0)
377
378 #endif
379 #endif
380
381 extern int loopback_init(struct device *dev);
382 struct device loopback_dev = {
383 "lo",
384 0x0,
385 0x0,
386 0x0,
387 0x0,
388 0,
389 0,
390 0, 0, 0,
391 NEXT_DEV,
392 loopback_init
393 };
394
395 struct device *dev_base = &loopback_dev;