diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1997-12-06 23:51:34 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1997-12-06 23:51:34 +0000 |
commit | 230e5ab6a084ed50470f101934782dbf54b0d06b (patch) | |
tree | 5dd821c8d33f450470588e7a543f74bf74306e9e /drivers/net/smc9194.c | |
parent | c9b1c8a64c6444d189856f1e26bdcb8b4cd0113a (diff) |
Merge with Linux 2.1.67.
Diffstat (limited to 'drivers/net/smc9194.c')
-rw-r--r-- | drivers/net/smc9194.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/net/smc9194.c b/drivers/net/smc9194.c index 55f04121f..3db278b38 100644 --- a/drivers/net/smc9194.c +++ b/drivers/net/smc9194.c @@ -1102,13 +1102,12 @@ __initfunc(static int smc_initcard(struct device *dev, int ioaddr)) ether_setup(dev); /* Grab the IRQ */ - irqval = request_irq(dev->irq, &smc_interrupt, 0, CARDNAME, NULL); + irqval = request_irq(dev->irq, &smc_interrupt, 0, CARDNAME, dev); if (irqval) { printk(CARDNAME": unable to get IRQ %d (irqval=%d).\n", dev->irq, irqval); return -EAGAIN; } - irq2dev_map[dev->irq] = dev; /* Grab the region so that no one else tries to probe our ioports. */ request_region(ioaddr, SMC_IO_EXTENT, CARDNAME); @@ -1274,7 +1273,7 @@ static void smc_interrupt(int irq, void * dev_id, struct pt_regs * regs) static void smc_interrupt(int irq, struct pt_regs * regs) #endif { - struct device *dev = (struct device *)(irq2dev_map[irq]); + struct device *dev = dev_id; int ioaddr = dev->base_addr; struct smc_local *lp = (struct smc_local *)dev->priv; @@ -1764,8 +1763,7 @@ void cleanup_module(void) /* No need to check MOD_IN_USE, as sys_delete_module() checks. */ unregister_netdev(&devSMC9194); - free_irq(devSMC9194.irq, NULL ); - irq2dev_map[devSMC9194.irq] = NULL; + free_irq(devSMC9194.irq, &devSMC9194); release_region(devSMC9194.base_addr, SMC_IO_EXTENT); if (devSMC9194.priv) |