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