aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/i825xx/eexpress.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ethernet/i825xx/eexpress.c')
-rw-r--r--drivers/net/ethernet/i825xx/eexpress.c60
1 files changed, 1 insertions, 59 deletions
diff --git a/drivers/net/ethernet/i825xx/eexpress.c b/drivers/net/ethernet/i825xx/eexpress.c
index cc2e66ad443..7a6a2f04c5b 100644
--- a/drivers/net/ethernet/i825xx/eexpress.c
+++ b/drivers/net/ethernet/i825xx/eexpress.c
@@ -9,7 +9,7 @@
9 * Many modifications, and currently maintained, by 9 * Many modifications, and currently maintained, by
10 * Philip Blundell <philb@gnu.org> 10 * Philip Blundell <philb@gnu.org>
11 * Added the Compaq LTE Alan Cox <alan@lxorguk.ukuu.org.uk> 11 * Added the Compaq LTE Alan Cox <alan@lxorguk.ukuu.org.uk>
12 * Added MCA support Adam Fritzler 12 * Added MCA support Adam Fritzler (now deleted)
13 * 13 *
14 * Note - this driver is experimental still - it has problems on faster 14 * Note - this driver is experimental still - it has problems on faster
15 * machines. Someone needs to sit down and go through it line by line with 15 * machines. Someone needs to sit down and go through it line by line with
@@ -111,7 +111,6 @@
111#include <linux/netdevice.h> 111#include <linux/netdevice.h>
112#include <linux/etherdevice.h> 112#include <linux/etherdevice.h>
113#include <linux/skbuff.h> 113#include <linux/skbuff.h>
114#include <linux/mca-legacy.h>
115#include <linux/spinlock.h> 114#include <linux/spinlock.h>
116#include <linux/bitops.h> 115#include <linux/bitops.h>
117#include <linux/jiffies.h> 116#include <linux/jiffies.h>
@@ -227,16 +226,6 @@ static unsigned short start_code[] = {
227/* maps irq number to EtherExpress magic value */ 226/* maps irq number to EtherExpress magic value */
228static char irqrmap[] = { 0,0,1,2,3,4,0,0,0,1,5,6,0,0,0,0 }; 227static char irqrmap[] = { 0,0,1,2,3,4,0,0,0,1,5,6,0,0,0,0 };
229 228
230#ifdef CONFIG_MCA_LEGACY
231/* mapping of the first four bits of the second POS register */
232static unsigned short mca_iomap[] = {
233 0x270, 0x260, 0x250, 0x240, 0x230, 0x220, 0x210, 0x200,
234 0x370, 0x360, 0x350, 0x340, 0x330, 0x320, 0x310, 0x300
235};
236/* bits 5-7 of the second POS register */
237static char mca_irqmap[] = { 12, 9, 3, 4, 5, 10, 11, 15 };
238#endif
239
240/* 229/*
241 * Prototypes for Linux interface 230 * Prototypes for Linux interface
242 */ 231 */
@@ -340,53 +329,6 @@ static int __init do_express_probe(struct net_device *dev)
340 329
341 dev->if_port = 0xff; /* not set */ 330 dev->if_port = 0xff; /* not set */
342 331
343#ifdef CONFIG_MCA_LEGACY
344 if (MCA_bus) {
345 int slot = 0;
346
347 /*
348 * Only find one card at a time. Subsequent calls
349 * will find others, however, proper multicard MCA
350 * probing and setup can't be done with the
351 * old-style Space.c init routines. -- ASF
352 */
353 while (slot != MCA_NOTFOUND) {
354 int pos0, pos1;
355
356 slot = mca_find_unused_adapter(0x628B, slot);
357 if (slot == MCA_NOTFOUND)
358 break;
359
360 pos0 = mca_read_stored_pos(slot, 2);
361 pos1 = mca_read_stored_pos(slot, 3);
362 ioaddr = mca_iomap[pos1&0xf];
363
364 dev->irq = mca_irqmap[(pos1>>4)&0x7];
365
366 /*
367 * XXX: Transceiver selection is done
368 * differently on the MCA version.
369 * How to get it to select something
370 * other than external/AUI is currently
371 * unknown. This code is just for looks. -- ASF
372 */
373 if ((pos0 & 0x7) == 0x1)
374 dev->if_port = AUI;
375 else if ((pos0 & 0x7) == 0x5) {
376 if (pos1 & 0x80)
377 dev->if_port = BNC;
378 else
379 dev->if_port = TPE;
380 }
381
382 mca_set_adapter_name(slot, "Intel EtherExpress 16 MCA");
383 mca_set_adapter_procfn(slot, NULL, dev);
384 mca_mark_as_used(slot);
385
386 break;
387 }
388 }
389#endif
390 if (ioaddr&0xfe00) { 332 if (ioaddr&0xfe00) {
391 if (!request_region(ioaddr, EEXP_IO_EXTENT, "EtherExpress")) 333 if (!request_region(ioaddr, EEXP_IO_EXTENT, "EtherExpress"))
392 return -EBUSY; 334 return -EBUSY;