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