diff options
Diffstat (limited to 'drivers/net/mac8390.c')
-rw-r--r-- | drivers/net/mac8390.c | 48 |
1 files changed, 24 insertions, 24 deletions
diff --git a/drivers/net/mac8390.c b/drivers/net/mac8390.c index 06cb460361a8..ade6ff852e1a 100644 --- a/drivers/net/mac8390.c +++ b/drivers/net/mac8390.c | |||
@@ -7,12 +7,12 @@ | |||
7 | This software may be used and distributed according to the terms of | 7 | This software may be used and distributed according to the terms of |
8 | the GNU Public License, incorporated herein by reference. */ | 8 | the GNU Public License, incorporated herein by reference. */ |
9 | 9 | ||
10 | /* 2000-02-28: support added for Dayna and Kinetics cards by | 10 | /* 2000-02-28: support added for Dayna and Kinetics cards by |
11 | A.G.deWijn@phys.uu.nl */ | 11 | A.G.deWijn@phys.uu.nl */ |
12 | /* 2000-04-04: support added for Dayna2 by bart@etpmod.phys.tue.nl */ | 12 | /* 2000-04-04: support added for Dayna2 by bart@etpmod.phys.tue.nl */ |
13 | /* 2001-04-18: support for DaynaPort E/LC-M by rayk@knightsmanor.org */ | 13 | /* 2001-04-18: support for DaynaPort E/LC-M by rayk@knightsmanor.org */ |
14 | /* 2001-05-15: support for Cabletron ported from old daynaport driver | 14 | /* 2001-05-15: support for Cabletron ported from old daynaport driver |
15 | * and fixed access to Sonic Sys card which masquerades as a Farallon | 15 | * and fixed access to Sonic Sys card which masquerades as a Farallon |
16 | * by rayk@knightsmanor.org */ | 16 | * by rayk@knightsmanor.org */ |
17 | 17 | ||
18 | #include <linux/module.h> | 18 | #include <linux/module.h> |
@@ -55,7 +55,7 @@ | |||
55 | #define KINETICS_8390_BASE 0x80000 | 55 | #define KINETICS_8390_BASE 0x80000 |
56 | #define KINETICS_8390_MEM 0x00000 | 56 | #define KINETICS_8390_MEM 0x00000 |
57 | 57 | ||
58 | #define CABLETRON_8390_BASE 0x90000 | 58 | #define CABLETRON_8390_BASE 0x90000 |
59 | #define CABLETRON_8390_MEM 0x00000 | 59 | #define CABLETRON_8390_MEM 0x00000 |
60 | 60 | ||
61 | enum mac8390_type { | 61 | enum mac8390_type { |
@@ -118,7 +118,7 @@ static int useresources[] = { | |||
118 | 118 | ||
119 | static char version[] __initdata = | 119 | static char version[] __initdata = |
120 | "mac8390.c: v0.4 2001-05-15 David Huggins-Daines <dhd@debian.org> and others\n"; | 120 | "mac8390.c: v0.4 2001-05-15 David Huggins-Daines <dhd@debian.org> and others\n"; |
121 | 121 | ||
122 | extern enum mac8390_type mac8390_ident(struct nubus_dev * dev); | 122 | extern enum mac8390_type mac8390_ident(struct nubus_dev * dev); |
123 | extern int mac8390_memsize(unsigned long membase); | 123 | extern int mac8390_memsize(unsigned long membase); |
124 | extern int mac8390_memtest(struct net_device * dev); | 124 | extern int mac8390_memtest(struct net_device * dev); |
@@ -168,7 +168,7 @@ enum mac8390_type __init mac8390_ident(struct nubus_dev * dev) | |||
168 | { | 168 | { |
169 | if (dev->dr_sw == NUBUS_DRSW_ASANTE) | 169 | if (dev->dr_sw == NUBUS_DRSW_ASANTE) |
170 | return MAC8390_ASANTE; | 170 | return MAC8390_ASANTE; |
171 | if (dev->dr_sw == NUBUS_DRSW_FARALLON) | 171 | if (dev->dr_sw == NUBUS_DRSW_FARALLON) |
172 | return MAC8390_FARALLON; | 172 | return MAC8390_FARALLON; |
173 | if (dev->dr_sw == NUBUS_DRSW_KINETICS) | 173 | if (dev->dr_sw == NUBUS_DRSW_KINETICS) |
174 | return MAC8390_KINETICS; | 174 | return MAC8390_KINETICS; |
@@ -187,7 +187,7 @@ int __init mac8390_memsize(unsigned long membase) | |||
187 | { | 187 | { |
188 | unsigned long flags; | 188 | unsigned long flags; |
189 | int i, j; | 189 | int i, j; |
190 | 190 | ||
191 | local_irq_save(flags); | 191 | local_irq_save(flags); |
192 | /* Check up to 32K in 4K increments */ | 192 | /* Check up to 32K in 4K increments */ |
193 | for (i = 0; i < 8; i++) { | 193 | for (i = 0; i < 8; i++) { |
@@ -197,7 +197,7 @@ int __init mac8390_memsize(unsigned long membase) | |||
197 | RAM end located */ | 197 | RAM end located */ |
198 | if (hwreg_present(m) == 0) | 198 | if (hwreg_present(m) == 0) |
199 | break; | 199 | break; |
200 | 200 | ||
201 | /* write a distinctive byte */ | 201 | /* write a distinctive byte */ |
202 | *m = 0xA5A0 | i; | 202 | *m = 0xA5A0 | i; |
203 | /* check that we read back what we wrote */ | 203 | /* check that we read back what we wrote */ |
@@ -224,7 +224,7 @@ struct net_device * __init mac8390_probe(int unit) | |||
224 | int version_disp = 0; | 224 | int version_disp = 0; |
225 | struct nubus_dev * ndev = NULL; | 225 | struct nubus_dev * ndev = NULL; |
226 | int err = -ENODEV; | 226 | int err = -ENODEV; |
227 | 227 | ||
228 | struct nubus_dir dir; | 228 | struct nubus_dir dir; |
229 | struct nubus_dirent ent; | 229 | struct nubus_dirent ent; |
230 | int offset; | 230 | int offset; |
@@ -273,7 +273,7 @@ struct net_device * __init mac8390_probe(int unit) | |||
273 | dev->name, ndev->board->slot); | 273 | dev->name, ndev->board->slot); |
274 | continue; | 274 | continue; |
275 | } | 275 | } |
276 | 276 | ||
277 | /* Get the MAC address */ | 277 | /* Get the MAC address */ |
278 | if ((nubus_find_rsrc(&dir, NUBUS_RESID_MAC_ADDRESS, &ent)) == -1) { | 278 | if ((nubus_find_rsrc(&dir, NUBUS_RESID_MAC_ADDRESS, &ent)) == -1) { |
279 | printk(KERN_INFO "%s: Couldn't get MAC address!\n", | 279 | printk(KERN_INFO "%s: Couldn't get MAC address!\n", |
@@ -282,7 +282,7 @@ struct net_device * __init mac8390_probe(int unit) | |||
282 | } else { | 282 | } else { |
283 | nubus_get_rsrc_mem(dev->dev_addr, &ent, 6); | 283 | nubus_get_rsrc_mem(dev->dev_addr, &ent, 6); |
284 | /* Some Sonic Sys cards masquerade as Farallon */ | 284 | /* Some Sonic Sys cards masquerade as Farallon */ |
285 | if (cardtype == MAC8390_FARALLON && | 285 | if (cardtype == MAC8390_FARALLON && |
286 | dev->dev_addr[0] == 0x0 && | 286 | dev->dev_addr[0] == 0x0 && |
287 | dev->dev_addr[1] == 0x40 && | 287 | dev->dev_addr[1] == 0x40 && |
288 | dev->dev_addr[2] == 0x10) { | 288 | dev->dev_addr[2] == 0x10) { |
@@ -290,7 +290,7 @@ struct net_device * __init mac8390_probe(int unit) | |||
290 | cardtype = MAC8390_SONICSYS; | 290 | cardtype = MAC8390_SONICSYS; |
291 | } | 291 | } |
292 | } | 292 | } |
293 | 293 | ||
294 | if (useresources[cardtype] == 1) { | 294 | if (useresources[cardtype] == 1) { |
295 | nubus_rewinddir(&dir); | 295 | nubus_rewinddir(&dir); |
296 | if (nubus_find_rsrc(&dir, NUBUS_RESID_MINOR_BASEOS, &ent) == -1) { | 296 | if (nubus_find_rsrc(&dir, NUBUS_RESID_MINOR_BASEOS, &ent) == -1) { |
@@ -318,10 +318,10 @@ struct net_device * __init mac8390_probe(int unit) | |||
318 | switch (cardtype) { | 318 | switch (cardtype) { |
319 | case MAC8390_KINETICS: | 319 | case MAC8390_KINETICS: |
320 | case MAC8390_DAYNA: /* it's the same */ | 320 | case MAC8390_DAYNA: /* it's the same */ |
321 | dev->base_addr = | 321 | dev->base_addr = |
322 | (int)(ndev->board->slot_addr + | 322 | (int)(ndev->board->slot_addr + |
323 | DAYNA_8390_BASE); | 323 | DAYNA_8390_BASE); |
324 | dev->mem_start = | 324 | dev->mem_start = |
325 | (int)(ndev->board->slot_addr + | 325 | (int)(ndev->board->slot_addr + |
326 | DAYNA_8390_MEM); | 326 | DAYNA_8390_MEM); |
327 | dev->mem_end = | 327 | dev->mem_end = |
@@ -343,11 +343,11 @@ struct net_device * __init mac8390_probe(int unit) | |||
343 | */ | 343 | */ |
344 | i = (void *)dev->base_addr; | 344 | i = (void *)dev->base_addr; |
345 | *i = 0x21; | 345 | *i = 0x21; |
346 | dev->mem_end = | 346 | dev->mem_end = |
347 | dev->mem_start + | 347 | dev->mem_start + |
348 | mac8390_memsize(dev->mem_start); | 348 | mac8390_memsize(dev->mem_start); |
349 | break; | 349 | break; |
350 | 350 | ||
351 | default: | 351 | default: |
352 | printk(KERN_ERR "Card type %s is" | 352 | printk(KERN_ERR "Card type %s is" |
353 | " unsupported, sorry\n", | 353 | " unsupported, sorry\n", |
@@ -433,7 +433,7 @@ static int __init mac8390_initdev(struct net_device * dev, struct nubus_dev * nd | |||
433 | }; | 433 | }; |
434 | 434 | ||
435 | int access_bitmode; | 435 | int access_bitmode; |
436 | 436 | ||
437 | /* Now fill in our stuff */ | 437 | /* Now fill in our stuff */ |
438 | dev->open = &mac8390_open; | 438 | dev->open = &mac8390_open; |
439 | dev->stop = &mac8390_close; | 439 | dev->stop = &mac8390_close; |
@@ -459,7 +459,7 @@ static int __init mac8390_initdev(struct net_device * dev, struct nubus_dev * nd | |||
459 | ei_status.rmem_start = dev->mem_start + TX_PAGES*256; | 459 | ei_status.rmem_start = dev->mem_start + TX_PAGES*256; |
460 | ei_status.rmem_end = dev->mem_end; | 460 | ei_status.rmem_end = dev->mem_end; |
461 | } | 461 | } |
462 | 462 | ||
463 | /* Fill in model-specific information and functions */ | 463 | /* Fill in model-specific information and functions */ |
464 | switch(type) { | 464 | switch(type) { |
465 | case MAC8390_SONICSYS: | 465 | case MAC8390_SONICSYS: |
@@ -509,7 +509,7 @@ static int __init mac8390_initdev(struct net_device * dev, struct nubus_dev * nd | |||
509 | printk(KERN_ERR "Card type %s is unsupported, sorry\n", cardname[type]); | 509 | printk(KERN_ERR "Card type %s is unsupported, sorry\n", cardname[type]); |
510 | return -ENODEV; | 510 | return -ENODEV; |
511 | } | 511 | } |
512 | 512 | ||
513 | NS8390_init(dev, 0); | 513 | NS8390_init(dev, 0); |
514 | 514 | ||
515 | /* Good, done, now spit out some messages */ | 515 | /* Good, done, now spit out some messages */ |
@@ -525,7 +525,7 @@ static int __init mac8390_initdev(struct net_device * dev, struct nubus_dev * nd | |||
525 | } | 525 | } |
526 | } | 526 | } |
527 | printk(" IRQ %d, shared memory at %#lx-%#lx, %d-bit access.\n", | 527 | printk(" IRQ %d, shared memory at %#lx-%#lx, %d-bit access.\n", |
528 | dev->irq, dev->mem_start, dev->mem_end-1, | 528 | dev->irq, dev->mem_start, dev->mem_end-1, |
529 | access_bitmode?32:16); | 529 | access_bitmode?32:16); |
530 | return 0; | 530 | return 0; |
531 | } | 531 | } |
@@ -536,7 +536,7 @@ static int mac8390_open(struct net_device *dev) | |||
536 | if (request_irq(dev->irq, ei_interrupt, 0, "8390 Ethernet", dev)) { | 536 | if (request_irq(dev->irq, ei_interrupt, 0, "8390 Ethernet", dev)) { |
537 | printk ("%s: unable to get IRQ %d.\n", dev->name, dev->irq); | 537 | printk ("%s: unable to get IRQ %d.\n", dev->name, dev->irq); |
538 | return -EAGAIN; | 538 | return -EAGAIN; |
539 | } | 539 | } |
540 | return 0; | 540 | return 0; |
541 | } | 541 | } |
542 | 542 | ||
@@ -639,7 +639,7 @@ static void sane_block_output(struct net_device *dev, int count, | |||
639 | const unsigned char *buf, int start_page) | 639 | const unsigned char *buf, int start_page) |
640 | { | 640 | { |
641 | long shmem = (start_page - WD_START_PG)<<8; | 641 | long shmem = (start_page - WD_START_PG)<<8; |
642 | 642 | ||
643 | memcpy_toio((char *)dev->mem_start + shmem, buf, count); | 643 | memcpy_toio((char *)dev->mem_start + shmem, buf, count); |
644 | } | 644 | } |
645 | 645 | ||
@@ -681,12 +681,12 @@ static void dayna_block_output(struct net_device *dev, int count, const unsigned | |||
681 | int start_page) | 681 | int start_page) |
682 | { | 682 | { |
683 | long shmem = (start_page - WD_START_PG)<<8; | 683 | long shmem = (start_page - WD_START_PG)<<8; |
684 | 684 | ||
685 | dayna_memcpy_tocard(dev, shmem, buf, count); | 685 | dayna_memcpy_tocard(dev, shmem, buf, count); |
686 | } | 686 | } |
687 | 687 | ||
688 | /* Cabletron block I/O */ | 688 | /* Cabletron block I/O */ |
689 | static void slow_sane_get_8390_hdr(struct net_device *dev, struct e8390_pkt_hdr *hdr, | 689 | static void slow_sane_get_8390_hdr(struct net_device *dev, struct e8390_pkt_hdr *hdr, |
690 | int ring_page) | 690 | int ring_page) |
691 | { | 691 | { |
692 | unsigned long hdr_start = (ring_page - WD_START_PG)<<8; | 692 | unsigned long hdr_start = (ring_page - WD_START_PG)<<8; |
@@ -750,4 +750,4 @@ static void word_memcpy_fromcard(void *tp, const void *fp, int count) | |||
750 | *to++=*from++; | 750 | *to++=*from++; |
751 | } | 751 | } |
752 | 752 | ||
753 | 753 | ||