patch-2.4.0-prerelease linux/drivers/net/hydra.c
Next file: linux/drivers/net/irda/Makefile
Previous file: linux/drivers/net/hamradio/yam.c
Back to the patch index
Back to the overall index
- Lines: 70
- Date:
Sat Dec 30 11:23:14 2000
- Orig file:
v2.4.0-test12/linux/drivers/net/hydra.c
- Orig date:
Tue Oct 31 12:42:26 2000
diff -u --recursive --new-file v2.4.0-test12/linux/drivers/net/hydra.c linux/drivers/net/hydra.c
@@ -186,6 +186,7 @@
release_mem_region(board, 0x4000);
continue;
}
+ SET_MODULE_OWNER(dev);
for(j = 0; j < ETHER_ADDR_LEN; j++)
dev->dev_addr[j] = *((u8 *)ZTWO_VADDR(board + HYDRA_ADDRPROM + 2*j));
@@ -284,15 +285,11 @@
/* take interface out of loopback */
WRITE_REG(NIC_TCR, 0);
- dev->tbusy = 0;
- dev->interrupt = 0;
- dev->start = 1;
+ netif_start_queue(dev);
- if(request_irq(IRQ_AMIGA_PORTS, hydra_interrupt, SA_SHIRQ,
- "Hydra Ethernet", dev))
- return(-EAGAIN);
-
- MOD_INC_USE_COUNT;
+ i = request_irq(IRQ_AMIGA_PORTS, hydra_interrupt, SA_SHIRQ,
+ dev->name, dev);
+ if (i) return i;
return(0);
}
@@ -304,8 +301,7 @@
volatile u8 *nicbase = (u8 *)dev->base_addr;
int n = 5000;
- dev->start = 0;
- dev->tbusy = 1;
+ netif_stop_queue(dev);
#ifdef HYDRA_DEBUG
printk("%s: Shutting down ethercard\n", dev->name);
@@ -319,8 +315,6 @@
free_irq(IRQ_AMIGA_PORTS, dev);
- MOD_DEC_USE_COUNT;
-
return(0);
}
@@ -668,20 +662,13 @@
#ifdef MODULE
-static char devicename[9] = { 0, };
-
-static struct net_device hydra_dev =
-{
- devicename, /* filled in by register_netdev() */
- 0, 0, 0, 0, /* memory */
- 0, 0, /* base, irq */
- 0, 0, 0, NULL, hydra_probe,
-};
+static struct net_device hydra_dev;
int init_module(void)
{
int err;
+ hydra_dev.init = hydra_probe;
if ((err = register_netdev(&hydra_dev))) {
if (err == -EIO)
printk("No Hydra board found. Module not loaded.\n");
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)