]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - drivers/net/apne.c
IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
[mirror_ubuntu-artful-kernel.git] / drivers / net / apne.c
index b9820b86cdcc28f8d93031b9cccbe28d8544e44b..9164d8cd670e4cb6e6054abb9add4cf3e30c38f7 100644 (file)
@@ -88,7 +88,7 @@ static void apne_block_input(struct net_device *dev, int count,
                                                                struct sk_buff *skb, int ring_offset);
 static void apne_block_output(struct net_device *dev, const int count,
                                                        const unsigned char *buf, const int start_page);
-static irqreturn_t apne_interrupt(int irq, void *dev_id, struct pt_regs *regs);
+static irqreturn_t apne_interrupt(int irq, void *dev_id);
 
 static int init_pcmcia(void);
 
@@ -132,9 +132,9 @@ struct net_device * __init apne_probe(int unit)
 
        if ( !(AMIGAHW_PRESENT(PCMCIA)) )
                return ERR_PTR(-ENODEV);
-                                
+
        printk("Looking for PCMCIA ethernet card : ");
-                                        
+
        /* check if a card is inserted */
        if (!(PCMCIA_INSERTED)) {
                printk("NO PCMCIA card inserted\n");
@@ -205,7 +205,7 @@ static int __init apne_probe1(struct net_device *dev, int ioaddr)
     int neX000, ctron;
 #endif
     static unsigned version_printed;
+
     if (ei_debug  &&  version_printed++ == 0)
        printk(version);
 
@@ -261,13 +261,13 @@ static int __init apne_probe1(struct net_device *dev, int ioaddr)
 
     /* At this point, wordlength *only* tells us if the SA_prom is doubled
        up or not because some broken PCI cards don't respect the byte-wide
-       request in program_seq above, and hence don't have doubled up values. 
+       request in program_seq above, and hence don't have doubled up values.
        These broken cards would otherwise be detected as an ne1000.  */
 
     if (wordlength == 2)
        for (i = 0; i < 16; i++)
                SA_prom[i] = SA_prom[i+i];
-    
+
     if (wordlength == 2) {
        /* We must set the 8390 for word mode. */
        outb(0x49, ioaddr + NE_EN0_DCFG);
@@ -313,7 +313,7 @@ static int __init apne_probe1(struct net_device *dev, int ioaddr)
     dev->base_addr = ioaddr;
 
     /* Install the Interrupt handler */
-    i = request_irq(IRQ_AMIGA_PORTS, apne_interrupt, SA_SHIRQ, DRV_NAME, dev);
+    i = request_irq(IRQ_AMIGA_PORTS, apne_interrupt, IRQF_SHARED, DRV_NAME, dev);
     if (i) return i;
 
     for(i = 0; i < ETHER_ADDR_LEN; i++) {
@@ -543,7 +543,7 @@ apne_block_output(struct net_device *dev, int count,
     return;
 }
 
-static irqreturn_t apne_interrupt(int irq, void *dev_id, struct pt_regs *regs)
+static irqreturn_t apne_interrupt(int irq, void *dev_id)
 {
     unsigned char pcmcia_intreq;
 
@@ -559,7 +559,7 @@ static irqreturn_t apne_interrupt(int irq, void *dev_id, struct pt_regs *regs)
     if (ei_debug > 3)
         printk("pcmcia intreq = %x\n", pcmcia_intreq);
     pcmcia_disable_irq();                      /* to get rid of the sti() within ei_interrupt */
-    ei_interrupt(irq, dev_id, regs);
+    ei_interrupt(irq, dev_id);
     pcmcia_ack_int(pcmcia_get_intreq());
     pcmcia_enable_irq();
     return IRQ_HANDLED;