IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
[linux-2.6-block.git] / drivers / net / 3c509.c
index 59c33925be62d2a90cba16c91f767718090bbd0f..7ad0a54779c44175c070112605b1d710fd3109f4 100644 (file)
@@ -191,7 +191,7 @@ static ushort id_read_eeprom(int index);
 static ushort read_eeprom(int ioaddr, int index);
 static int el3_open(struct net_device *dev);
 static int el3_start_xmit(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t el3_interrupt(int irq, void *dev_id, struct pt_regs *regs);
+static irqreturn_t el3_interrupt(int irq, void *dev_id);
 static void update_stats(struct net_device *dev);
 static struct net_device_stats *el3_get_stats(struct net_device *dev);
 static int el3_rx(struct net_device *dev);
@@ -225,6 +225,7 @@ static struct eisa_device_id el3_eisa_ids[] = {
                { "TCM5095" },
                { "" }
 };
+MODULE_DEVICE_TABLE(eisa, el3_eisa_ids);
 
 static int el3_eisa_probe (struct device *device);
 
@@ -909,7 +910,7 @@ el3_start_xmit(struct sk_buff *skb, struct net_device *dev)
 
 /* The EL3 interrupt handler. */
 static irqreturn_t
-el3_interrupt(int irq, void *dev_id, struct pt_regs *regs)
+el3_interrupt(int irq, void *dev_id)
 {
        struct net_device *dev = (struct net_device *)dev_id;
        struct el3_private *lp;
@@ -1005,7 +1006,7 @@ el3_interrupt(int irq, void *dev_id, struct pt_regs *regs)
 static void el3_poll_controller(struct net_device *dev)
 {
        disable_irq(dev->irq);
-       el3_interrupt(dev->irq, dev, NULL);
+       el3_interrupt(dev->irq, dev);
        enable_irq(dev->irq);
 }
 #endif