summaryrefslogtreecommitdiffstats
path: root/drivers/net/smc9194.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1997-12-06 23:51:34 +0000
committerRalf Baechle <ralf@linux-mips.org>1997-12-06 23:51:34 +0000
commit230e5ab6a084ed50470f101934782dbf54b0d06b (patch)
tree5dd821c8d33f450470588e7a543f74bf74306e9e /drivers/net/smc9194.c
parentc9b1c8a64c6444d189856f1e26bdcb8b4cd0113a (diff)
Merge with Linux 2.1.67.
Diffstat (limited to 'drivers/net/smc9194.c')
-rw-r--r--drivers/net/smc9194.c8
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)