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 tulip_probe(struct device *dev);
42 extern int hp100_probe(struct device *dev);
43 extern int ultra_probe(struct device *dev);
44 extern int wd_probe(struct device *dev);
45 extern int el2_probe(struct device *dev);
46 extern int ne_probe(struct device *dev);
47 extern int hp_probe(struct device *dev);
48 extern int hp_plus_probe(struct device *dev);
49 extern int znet_probe(struct device *);
50 extern int express_probe(struct device *);
51 extern int eepro_probe(struct device *);
52 extern int el3_probe(struct device *);
53 extern int at1500_probe(struct device *);
54 extern int at1700_probe(struct device *);
55 extern int fmv18x_probe(struct device *);
56 extern int eth16i_probe(struct device *);
57 extern int depca_probe(struct device *);
58 extern int apricot_probe(struct device *);
59 extern int ewrk3_probe(struct device *);
60 extern int de4x5_probe(struct device *);
61 extern int el1_probe(struct device *);
62 #if defined(CONFIG_WAVELAN)
63 extern int wavelan_probe(struct device *);
64 #endif
65 extern int el16_probe(struct device *);
66 extern int elplus_probe(struct device *);
67 extern int ac3200_probe(struct device *);
68 extern int e2100_probe(struct device *);
69 extern int ni52_probe(struct device *);
70 extern int ni65_probe(struct device *);
71 extern int SK_init(struct device *);
72 extern int seeq8005_probe(struct device *);
73 extern int tc59x_probe(struct device *);
74 extern int dgrs_probe(struct device *);
75 extern int smc_init( struct device * );
76 extern int sparc_lance_probe(struct device *);
77 extern int atarilance_probe(struct device *);
78 extern int a2065_probe(struct device *);
79 extern int ariadne_probe(struct device *);
80
81
82 extern int atp_init(struct device *);
83 extern int de600_probe(struct device *);
84 extern int de620_probe(struct device *);
85
86 static int
87 ethif_probe(struct device *dev)
88 {
89 u_long base_addr = dev->base_addr;
90
91 if ((base_addr == 0xffe0) || (base_addr == 1))
92 return 1;
93
94 if (1
95 #ifdef CONFIG_DGRS
96 && dgrs_probe(dev)
97 #endif
98 #if defined(CONFIG_VORTEX)
99 && tc59x_probe(dev)
100 #endif
101 #if defined(CONFIG_SEEQ8005)
102 && seeq8005_probe(dev)
103 #endif
104 #if defined(CONFIG_DEC_ELCP)
105 && tulip_probe(dev)
106 #endif
107 #if defined(CONFIG_HP100)
108 && hp100_probe(dev)
109 #endif
110 #if defined(CONFIG_ULTRA)
111 && ultra_probe(dev)
112 #endif
113 #if defined(CONFIG_SMC9194)
114 && smc_init(dev)
115 #endif
116 #if defined(CONFIG_WD80x3) || defined(WD80x3)
117 && wd_probe(dev)
118 #endif
119 #if defined(CONFIG_EL2) || defined(EL2)
120 && el2_probe(dev)
121 #endif
122 #if defined(CONFIG_HPLAN) || defined(HPLAN)
123 && hp_probe(dev)
124 #endif
125 #if defined(CONFIG_HPLAN_PLUS)
126 && hp_plus_probe(dev)
127 #endif
128 #ifdef CONFIG_AC3200
129 && ac3200_probe(dev)
130 #endif
131 #ifdef CONFIG_E2100
132 && e2100_probe(dev)
133 #endif
134 #if defined(CONFIG_NE2000) || defined(NE2000)
135 && ne_probe(dev)
136 #endif
137 #ifdef CONFIG_AT1500
138 && at1500_probe(dev)
139 #endif
140 #ifdef CONFIG_AT1700
141 && at1700_probe(dev)
142 #endif
143 #ifdef CONFIG_FMV18X
144 && fmv18x_probe(dev)
145 #endif
146 #ifdef CONFIG_ETH16I
147 && eth16i_probe(dev)
148 #endif
149 #ifdef CONFIG_EL3
150 && el3_probe(dev)
151 #endif
152 #ifdef CONFIG_ZNET
153 && znet_probe(dev)
154 #endif
155 #ifdef CONFIG_EEXPRESS
156 && express_probe(dev)
157 #endif
158 #ifdef CONFIG_EEXPRESS_PRO
159 && eepro_probe(dev)
160 #endif
161 #ifdef CONFIG_DEPCA
162 && depca_probe(dev)
163 #endif
164 #ifdef CONFIG_EWRK3
165 && ewrk3_probe(dev)
166 #endif
167 #ifdef CONFIG_DE4X5
168 && de4x5_probe(dev)
169 #endif
170 #ifdef CONFIG_APRICOT
171 && apricot_probe(dev)
172 #endif
173 #ifdef CONFIG_EL1
174 && el1_probe(dev)
175 #endif
176 #if defined(CONFIG_WAVELAN)
177 && wavelan_probe(dev)
178 #endif
179 #ifdef CONFIG_EL16
180 && el16_probe(dev)
181 #endif
182 #ifdef CONFIG_ELPLUS
183 && elplus_probe(dev)
184 #endif
185 #ifdef CONFIG_DE600
186 && de600_probe(dev)
187 #endif
188 #ifdef CONFIG_DE620
189 && de620_probe(dev)
190 #endif
191 #if defined(CONFIG_SK_G16)
192 && SK_init(dev)
193 #endif
194 #ifdef CONFIG_NI52
195 && ni52_probe(dev)
196 #endif
197 #ifdef CONFIG_ATARILANCE
198 && atarilance_probe(dev)
199 #endif
200 #ifdef CONFIG_A2065
201 && a2065_probe(dev)
202 #endif
203 #ifdef CONFIG_ARIADNE
204 && ariadne_probe(dev)
205 #endif
206 #ifdef CONFIG_SUNLANCE
207 && sparc_lance_probe(dev)
208 #endif
209 && 1 ) {
210 return 1;
211 }
212 return 0;
213 }
214
215 #ifdef CONFIG_SDLA
216 extern int sdla_init(struct device *);
217 static struct device sdla0_dev = { "sdla0", 0, 0, 0, 0, 0, 0, 0, 0, 0, NEXT_DEV, sdla_init, };
218
219 # undef NEXT_DEV
220 # define NEXT_DEV (&sdla0_dev)
221 #endif
222
223
224
225 #ifdef CONFIG_DLCI
226 extern int dlci_init(struct device *);
227 static struct device dlci_dev = { "dlci", 0, 0, 0, 0, 0, 0, 0, 0, 0, NEXT_DEV, dlci_init, };
228 # undef NEXT_DEV
229 # define NEXT_DEV (&dlci_dev)
230 #endif
231
232 #ifdef CONFIG_NETROM
233 extern int nr_init(struct device *);
234
235 static struct device nr3_dev = { "nr3", 0, 0, 0, 0, 0, 0, 0, 0, 0, NEXT_DEV, nr_init, };
236 static struct device nr2_dev = { "nr2", 0, 0, 0, 0, 0, 0, 0, 0, 0, &nr3_dev, nr_init, };
237 static struct device nr1_dev = { "nr1", 0, 0, 0, 0, 0, 0, 0, 0, 0, &nr2_dev, nr_init, };
238 static struct device nr0_dev = { "nr0", 0, 0, 0, 0, 0, 0, 0, 0, 0, &nr1_dev, nr_init, };
239
240 # undef NEXT_DEV
241 # define NEXT_DEV (&nr0_dev)
242 #endif
243
244
245 #ifdef CONFIG_ATP
246 static struct device atp_dev = {
247 "atp0", 0, 0, 0, 0, 0, 0, 0, 0, 0, NEXT_DEV, atp_init, };
248 # undef NEXT_DEV
249 # define NEXT_DEV (&atp_dev)
250 #endif
251
252 #ifdef CONFIG_ARCNET
253 extern int arcnet_probe(struct device *dev);
254 static struct device arcnet_dev = {
255 "arc0", 0x0, 0x0, 0x0, 0x0, 0, 0, 0, 0, 0, NEXT_DEV, arcnet_probe, };
256 # undef NEXT_DEV
257 # define NEXT_DEV (&arcnet_dev)
258 #endif
259
260
261 #ifndef ETH0_ADDR
262 # define ETH0_ADDR 0
263 #endif
264 #ifndef ETH0_IRQ
265 # define ETH0_IRQ 0
266 #endif
267
268
269
270
271 static struct device eth3_dev = {
272 "eth3", 0,0,0,0,0xffe0 , 0,0,0,0, NEXT_DEV, ethif_probe };
273 static struct device eth2_dev = {
274 "eth2", 0,0,0,0,0xffe0 , 0,0,0,0, ð3_dev, ethif_probe };
275 static struct device eth1_dev = {
276 "eth1", 0,0,0,0,0xffe0 , 0,0,0,0, ð2_dev, ethif_probe };
277
278 static struct device eth0_dev = {
279 "eth0", 0, 0, 0, 0, ETH0_ADDR, ETH0_IRQ, 0, 0, 0, ð1_dev, ethif_probe };
280
281 # undef NEXT_DEV
282 # define NEXT_DEV (ð0_dev)
283
284 #if defined(PLIP) || defined(CONFIG_PLIP)
285 extern int plip_init(struct device *);
286 static struct device plip2_dev = {
287 "plip2", 0, 0, 0, 0, 0x278, 2, 0, 0, 0, NEXT_DEV, plip_init, };
288 static struct device plip1_dev = {
289 "plip1", 0, 0, 0, 0, 0x378, 7, 0, 0, 0, &plip2_dev, plip_init, };
290 static struct device plip0_dev = {
291 "plip0", 0, 0, 0, 0, 0x3BC, 5, 0, 0, 0, &plip1_dev, plip_init, };
292 # undef NEXT_DEV
293 # define NEXT_DEV (&plip0_dev)
294 #endif
295
296 #if defined(SLIP) || defined(CONFIG_SLIP)
297
298
299 extern int slip_init_ctrl_dev(struct device *);
300 static struct device slip_bootstrap = {
301 "slip_proto", 0x0, 0x0, 0x0, 0x0, 0, 0, 0, 0, 0, NEXT_DEV, slip_init_ctrl_dev, };
302 #undef NEXT_DEV
303 #define NEXT_DEV (&slip_bootstrap)
304 #endif
305
306 #if defined(CONFIG_STRIP)
307 extern int strip_init_ctrl_dev(struct device *);
308 static struct device strip_bootstrap = {
309 "strip_proto", 0x0, 0x0, 0x0, 0x0, 0, 0, 0, 0, 0, NEXT_DEV, strip_init_ctrl_dev, };
310 #undef NEXT_DEV
311 #define NEXT_DEV (&strip_bootstrap)
312 #endif
313
314 #if defined(CONFIG_PPP)
315 extern int ppp_init(struct device *);
316 static struct device ppp_bootstrap = {
317 "ppp_proto", 0x0, 0x0, 0x0, 0x0, 0, 0, 0, 0, 0, NEXT_DEV, ppp_init, };
318 #undef NEXT_DEV
319 #define NEXT_DEV (&ppp_bootstrap)
320 #endif
321
322 #ifdef CONFIG_DUMMY
323 extern int dummy_init(struct device *dev);
324 static struct device dummy_dev = {
325 "dummy", 0x0, 0x0, 0x0, 0x0, 0, 0, 0, 0, 0, NEXT_DEV, dummy_init, };
326 # undef NEXT_DEV
327 # define NEXT_DEV (&dummy_dev)
328 #endif
329
330 #ifdef CONFIG_EQUALIZER
331 extern int eql_init(struct device *dev);
332 struct device eql_dev = {
333 "eql",
334
335 0x0, 0x0, 0x0, 0x0,
336 0,
337 0,
338 0, 0, 0,
339 NEXT_DEV,
340 eql_init
341 };
342 # undef NEXT_DEV
343 # define NEXT_DEV (&eql_dev)
344 #endif
345
346 #ifdef CONFIG_IBMTR
347
348 extern int tok_probe(struct device *dev);
349 static struct device ibmtr_dev1 = {
350 "tr1",
351 0x0,
352 0x0,
353 0x0,
354 0x0,
355 0xa24,
356 0,
357 0, 0, 0,
358 NEXT_DEV,
359 tok_probe
360 };
361 # undef NEXT_DEV
362 # define NEXT_DEV (&ibmtr_dev1)
363
364
365 static struct device ibmtr_dev0 = {
366 "tr0",
367 0x0,
368 0x0,
369 0x0,
370 0x0,
371 0xa20,
372 0,
373 0, 0, 0,
374 NEXT_DEV,
375 tok_probe
376 };
377 # undef NEXT_DEV
378 # define NEXT_DEV (&ibmtr_dev0)
379
380 #endif
381 #ifdef CONFIG_NET_IPIP
382 #ifdef CONFIG_IP_FORWARD
383 extern int tunnel_init(struct device *);
384
385 static struct device tunnel_dev1 =
386 {
387 "tunl1",
388 0x0,
389 0x0,
390 0x0,
391 0x0,
392 0x0,
393 0,
394 0, 0, 0,
395 NEXT_DEV,
396 tunnel_init
397 };
398
399 static struct device tunnel_dev0 =
400 {
401 "tunl0",
402 0x0,
403 0x0,
404 0x0,
405 0x0,
406 0x0,
407 0,
408 0, 0, 0,
409 &tunnel_dev1,
410 tunnel_init
411 };
412 # undef NEXT_DEV
413 # define NEXT_DEV (&tunnel_dev0)
414
415 #endif
416 #endif
417
418 #ifdef CONFIG_AP1000
419 extern int apfddi_init(struct device *dev);
420 static struct device fddi_dev = {
421 "fddi", 0x0, 0x0, 0x0, 0x0, 0, 0, 0, 0, 0, NEXT_DEV, apfddi_init };
422 # undef NEXT_DEV
423 # define NEXT_DEV (&fddi_dev)
424
425 extern int bif_init(struct device *dev);
426 static struct device bif_dev = {
427 "bif", 0x0, 0x0, 0x0, 0x0, 0, 0, 0, 0, 0, NEXT_DEV, bif_init };
428 # undef NEXT_DEV
429 # define NEXT_DEV (&bif_dev)
430
431 #endif
432
433 extern int loopback_init(struct device *dev);
434 struct device loopback_dev = {
435 "lo",
436 0x0,
437 0x0,
438 0x0,
439 0x0,
440 0,
441 0,
442 0, 0, 0,
443 NEXT_DEV,
444 loopback_init
445 };
446
447 struct device *dev_base = &loopback_dev;