]> Pileus Git - ~andy/linux/blobdiff - drivers/isdn/hisax/bkm_a8.c
Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6
[~andy/linux] / drivers / isdn / hisax / bkm_a8.c
index 9d1abfb93dde5335061f4e51901ecb4f1bbdb4f7..6339bb443f624e56f4fbfe97b3f400d968e5d8ac 100644 (file)
@@ -140,7 +140,7 @@ set_ipac_active(struct IsdnCardState *cs, u_int active)
 #include "hscx_irq.c"
 
 static irqreturn_t
-bkm_interrupt_ipac(int intno, void *dev_id, struct pt_regs *regs)
+bkm_interrupt_ipac(int intno, void *dev_id)
 {
        struct IsdnCardState *cs = dev_id;
        u_char ista, val, icnt = 5;
@@ -260,7 +260,7 @@ BKM_card_msg(struct IsdnCardState *cs, int mt, void *arg)
        return (0);
 }
 
-static int __init
+static int __devinit
 sct_alloc_io(u_int adr, u_int len)
 {
        if (!request_region(adr, len, "scitel")) {
@@ -272,22 +272,21 @@ sct_alloc_io(u_int adr, u_int len)
        return(0);
 }
 
-static struct pci_dev *dev_a8 __initdata = NULL;
-static u16  sub_vendor_id __initdata = 0;
-static u16  sub_sys_id __initdata = 0;
-static u_char pci_bus __initdata = 0;
-static u_char pci_device_fn __initdata = 0;
-static u_char pci_irq __initdata = 0;
+static struct pci_dev *dev_a8 __devinitdata = NULL;
+static u16  sub_vendor_id __devinitdata = 0;
+static u16  sub_sys_id __devinitdata = 0;
+static u_char pci_bus __devinitdata = 0;
+static u_char pci_device_fn __devinitdata = 0;
+static u_char pci_irq __devinitdata = 0;
 
 #endif /* CONFIG_PCI */
 
-int __init
+int __devinit
 setup_sct_quadro(struct IsdnCard *card)
 {
 #ifdef CONFIG_PCI
        struct IsdnCardState *cs = card->cs;
        char tmp[64];
-       u_char pci_rev_id;
        u_int found = 0;
        u_int pci_ioaddr1, pci_ioaddr2, pci_ioaddr3, pci_ioaddr4, pci_ioaddr5;
 
@@ -335,8 +334,7 @@ setup_sct_quadro(struct IsdnCard *card)
                }
 #ifdef ATTEMPT_PCI_REMAPPING
 /* HACK: PLX revision 1 bug: PLX address bit 7 must not be set */
-               pci_read_config_byte(dev_a8, PCI_REVISION_ID, &pci_rev_id);
-               if ((pci_ioaddr1 & 0x80) && (pci_rev_id == 1)) {
+               if ((pci_ioaddr1 & 0x80) && (dev_a8->revision == 1)) {
                        printk(KERN_WARNING "HiSax: %s (%s): PLX rev 1, remapping required!\n",
                                CardType[card->typ],
                                sct_quadro_subtypes[cs->subtyp]);
@@ -374,7 +372,7 @@ setup_sct_quadro(struct IsdnCard *card)
        pci_ioaddr5 &= PCI_BASE_ADDRESS_IO_MASK;
        /* Take over */
        cs->irq = pci_irq;
-       cs->irq_flags |= SA_SHIRQ;
+       cs->irq_flags |= IRQF_SHARED;
        /* pci_ioaddr1 is unique to all subdevices */
        /* pci_ioaddr2 is for the fourth subdevice only */
        /* pci_ioaddr3 is for the third subdevice only */