fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / drivers / isdn / hisax / sedlbauer.c
index 3393370..030d162 100644 (file)
@@ -39,7 +39,6 @@
 */
 
 #include <linux/init.h>
-#include <linux/config.h>
 #include "hisax.h"
 #include "isac.h"
 #include "ipac.h"
@@ -51,9 +50,9 @@
 
 extern const char *CardType[];
 
-const char *Sedlbauer_revision = "$Revision: 1.34.2.6 $";
+static const char *Sedlbauer_revision = "$Revision: 1.34.2.6 $";
 
-const char *Sedlbauer_Types[] =
+static const char *Sedlbauer_Types[] =
        {"None", "speed card/win", "speed star", "speed fax+",
        "speed win II / ISDN PC/104", "speed star II", "speed pci",
        "speed fax+ pyramid", "speed fax+ pci", "HST Saphir III"};
@@ -261,7 +260,7 @@ WriteISAR(struct IsdnCardState *cs, int mode, u_char offset, u_char value)
 #include "hscx_irq.c"
 
 static irqreturn_t
-sedlbauer_interrupt(int intno, void *dev_id, struct pt_regs *regs)
+sedlbauer_interrupt(int intno, void *dev_id)
 {
        struct IsdnCardState *cs = dev_id;
        u_char val;
@@ -307,7 +306,7 @@ sedlbauer_interrupt(int intno, void *dev_id, struct pt_regs *regs)
 }
 
 static irqreturn_t
-sedlbauer_interrupt_ipac(int intno, void *dev_id, struct pt_regs *regs)
+sedlbauer_interrupt_ipac(int intno, void *dev_id)
 {
        struct IsdnCardState *cs = dev_id;
        u_char ista, val, icnt = 5;
@@ -354,7 +353,7 @@ Start_IPAC:
 }
 
 static irqreturn_t
-sedlbauer_interrupt_isar(int intno, void *dev_id, struct pt_regs *regs)
+sedlbauer_interrupt_isar(int intno, void *dev_id)
 {
        struct IsdnCardState *cs = dev_id;
        u_char val;
@@ -394,7 +393,7 @@ sedlbauer_interrupt_isar(int intno, void *dev_id, struct pt_regs *regs)
        return IRQ_HANDLED;
 }
 
-void
+static void
 release_io_sedlbauer(struct IsdnCardState *cs)
 {
        int bytecnt = 8;
@@ -516,7 +515,7 @@ Sedl_card_msg(struct IsdnCardState *cs, int mt, void *arg)
 static struct pci_dev *dev_sedl __devinitdata = NULL;
 
 #ifdef __ISAPNP__
-static struct isapnp_device_id sedl_ids[] __initdata = {
+static struct isapnp_device_id sedl_ids[] __devinitdata = {
        { ISAPNP_VENDOR('S', 'A', 'G'), ISAPNP_FUNCTION(0x01),
          ISAPNP_VENDOR('S', 'A', 'G'), ISAPNP_FUNCTION(0x01), 
          (unsigned long) "Speed win" },
@@ -526,7 +525,7 @@ static struct isapnp_device_id sedl_ids[] __initdata = {
        { 0, }
 };
 
-static struct isapnp_device_id *ipid __initdata = &sedl_ids[0];
+static struct isapnp_device_id *ipid __devinitdata = &sedl_ids[0];
 static struct pnp_card *pnp_c __devinitdata = NULL;
 #endif
 
@@ -633,7 +632,7 @@ setup_sedlbauer(struct IsdnCard *card)
                        printk(KERN_WARNING "Sedlbauer: No PCI card found\n");
                        return(0);
                }
-               cs->irq_flags |= SA_SHIRQ;
+               cs->irq_flags |= IRQF_SHARED;
                cs->hw.sedl.bus = SEDL_BUS_PCI;
                sub_vendor_id = dev_sedl->subsystem_vendor;
                sub_id = dev_sedl->subsystem_device;
@@ -678,7 +677,11 @@ setup_sedlbauer(struct IsdnCard *card)
                return (0);
 #endif /* CONFIG_PCI */
        }       
+
+#ifdef __ISAPNP__
 ready: 
+#endif
+
        /* In case of the sedlbauer pcmcia card, this region is in use,
         * reserved for us by the card manager. So we do not check it
         * here, it would fail.
@@ -810,7 +813,7 @@ ready:
                                cs->hw.sedl.hscx = cs->hw.sedl.cfg_reg + SEDL_HSCX_PCMCIA_HSCX;
                                cs->hw.sedl.reset_on = cs->hw.sedl.cfg_reg + SEDL_HSCX_PCMCIA_RESET;
                                cs->hw.sedl.reset_off = cs->hw.sedl.cfg_reg + SEDL_HSCX_PCMCIA_RESET;
-                               cs->irq_flags |= SA_SHIRQ;
+                               cs->irq_flags |= IRQF_SHARED;
                        } else {
                                cs->hw.sedl.adr = cs->hw.sedl.cfg_reg + SEDL_HSCX_ISA_ADR;
                                cs->hw.sedl.isac = cs->hw.sedl.cfg_reg + SEDL_HSCX_ISA_ISAC;