From: Dave A. <ai...@us...> - 2001-02-23 01:07:12
|
Update of /cvsroot/linux-vax/kernel-2.4/drivers/net In directory usw-pr-cvs1:/tmp/cvs-serv6529/drivers/net Modified Files: vaxlance.c Log Message: enable autoprobing just of vector not mask Index: vaxlance.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/drivers/net/vaxlance.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- vaxlance.c 2001/02/11 23:57:16 1.4 +++ vaxlance.c 2001/02/22 22:49:22 1.5 @@ -47,6 +47,7 @@ #include <linux/delay.h> #include <asm/io.h> #include <linux/etherdevice.h> +#include <asm/vsa.h> #ifndef CONFIG_TC unsigned long system_base = 0; @@ -214,7 +215,7 @@ volatile struct lance_regs *ll; volatile struct lance_init_block *init_block; volatile unsigned long *dma_ptr_reg; - + unsigned char vsbus_int; spinlock_t lock; int rx_new, tx_new; @@ -585,7 +586,7 @@ writereg(&ll->rap, LE_CSR0); csr0 = ll->rdp; - + vsbus_clear_int(lp->vsbus_int); /* Acknowledge all the interrupt sources ASAP */ writereg(&ll->rdp, csr0 & (LE_C0_INTR | LE_C0_TINT | LE_C0_RINT)); @@ -648,7 +649,7 @@ return -EAGAIN; } /* this is just a hack for now */ - vsa_enable_int(5); + vsbus_enable_int(lp->vsbus_int); /* Stop the Lance */ writereg(&ll->rap, LE_CSR0); @@ -981,8 +982,9 @@ dev->dev_addr[i] = esar[i * 4]; printk("%2.2x%c", dev->dev_addr[i], i == 5 ? ',' : ':'); } - -#if 0 + lp->vsbus_int=5; +#if 1 + vsbus_enable_int(lp->vsbus_int); autoirq_setup(0); writereg(&ll->rap, LE_CSR0); @@ -993,6 +995,7 @@ writereg(&ll->rdp, LE_C0_INEA|LE_C0_INIT); dev->irq = autoirq_report(100); + vsbus_clear_int(lp->vsbus_int); if (dev->irq) printk(" probed IRQ %d", dev->irq); else @@ -1068,7 +1071,7 @@ /* Find all the lance cards on the system and initialize them */ -static int __init vax_lance_probe(void) +int __init vax_lance_probe(void) { struct net_device *dev = NULL; static int called = 0; |