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