b1_reset(card->port);
        b1_getrevision(card);
        
-       retval = request_irq(card->irq, b1_interrupt, SA_SHIRQ, card->name, card);
+       retval = request_irq(card->irq, b1_interrupt, IRQF_SHARED, card->name, card);
        if (retval) {
                printk(KERN_ERR "b1pci: unable to get IRQ %d.\n", card->irq);
                retval = -EBUSY;
        b1dma_reset(card);
        b1_getrevision(card);
 
-       retval = request_irq(card->irq, b1dma_interrupt, SA_SHIRQ, card->name, card);
+       retval = request_irq(card->irq, b1dma_interrupt, IRQF_SHARED, card->name, card);
        if (retval) {
                printk(KERN_ERR "b1pci: unable to get IRQ %d.\n",
                       card->irq);
 
        card->irq = irq;
        card->cardtype = cardtype;
 
-       retval = request_irq(card->irq, b1_interrupt, SA_SHIRQ, card->name, card);
+       retval = request_irq(card->irq, b1_interrupt, IRQF_SHARED, card->name, card);
        if (retval) {
                printk(KERN_ERR "b1pcmcia: unable to get IRQ %d.\n",
                       card->irq);
 
        }
        c4_reset(card);
 
-       retval = request_irq(card->irq, c4_interrupt, SA_SHIRQ, card->name, card);
+       retval = request_irq(card->irq, c4_interrupt, IRQF_SHARED, card->name, card);
        if (retval) {
                printk(KERN_ERR "c4: unable to get IRQ %d.\n",card->irq);
                retval = -EBUSY;
 
        }
        b1dma_reset(card);
 
-       retval = request_irq(card->irq, b1dma_interrupt, SA_SHIRQ, card->name, card);
+       retval = request_irq(card->irq, b1dma_interrupt, IRQF_SHARED, card->name, card);
        if (retval) {
                printk(KERN_ERR "t1pci: unable to get IRQ %d.\n", card->irq);
                retval = -EBUSY;
 
 int diva_os_register_irq(void *context, byte irq, const char *name)
 {
        int result = request_irq(irq, diva_os_irq_wrapper,
-                                SA_INTERRUPT | SA_SHIRQ, name, context);
+                                IRQF_DISABLED | IRQF_SHARED, name, context);
        return (result);
 }
 
 
        cs->BC_Write_Reg = &WriteHSCX;
        cs->BC_Send_Data = &hscx_fill_fifo;
        cs->cardmsg = &AVM_card_msg;
-       cs->irq_flags = SA_SHIRQ;
+       cs->irq_flags = IRQF_SHARED;
        cs->irq_func = &avm_a1p_interrupt;
 
        ISACVersion(cs, "AVM A1 PCMCIA:");
 
                printk(KERN_WARNING "FritzPCI: No PCI card found\n");
                return(0);
        }
-       cs->irq_flags |= SA_SHIRQ;
+       cs->irq_flags |= IRQF_SHARED;
 #else
        printk(KERN_WARNING "FritzPCI: NO_PCI_BIOS\n");
        return (0);
 
        cs->BC_Send_Data = &jade_fill_fifo;
        cs->cardmsg = &BKM_card_msg;
        cs->irq_func = &bkm_interrupt;
-       cs->irq_flags |= SA_SHIRQ;
+       cs->irq_flags |= IRQF_SHARED;
        ISACVersion(cs, "Telekom A4T:");
        /* Jade version */
        JadeVersion(cs, "Telekom A4T:");
 
        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 */
 
                        printk(KERN_WARNING "Diva: No IO-Adr for PCI card found\n");
                        return(0);
                }
-               cs->irq_flags |= SA_SHIRQ;
+               cs->irq_flags |= IRQF_SHARED;
 #else
                printk(KERN_WARNING "Diva: cfgreg 0 and NO_PCI_BIOS\n");
                printk(KERN_WARNING "Diva: unable to config DIVA PCI\n");
 
  ***                                                                    ***/
 
 /* Config-Register (Read) */
-#define ELSA_TIMER_RUN       0x02      /* Bit 1 des Config-Reg     */
-#define ELSA_TIMER_RUN_PCC8  0x01      /* Bit 0 des Config-Reg  bei PCC */
+#define ELIRQF_TIMER_RUN       0x02    /* Bit 1 des Config-Reg     */
+#define ELIRQF_TIMER_RUN_PCC8  0x01    /* Bit 0 des Config-Reg  bei PCC */
 #define ELSA_IRQ_IDX       0x38        /* Bit 3,4,5 des Config-Reg */
 #define ELSA_IRQ_IDX_PCC8  0x30        /* Bit 4,5 des Config-Reg */
 #define ELSA_IRQ_IDX_PC    0x0c        /* Bit 2,3 des Config-Reg */
 #define ELSA_S0_POWER_BAD    0x08      /* Bit 3 S0-Bus Spannung fehlt */
 
 /* Status Flags */
-#define ELSA_TIMER_AKTIV 1
+#define ELIRQF_TIMER_AKTIV 1
 #define ELSA_BAD_PWR     2
 #define ELSA_ASSIGN      4
 
 
        v = bytein(cs->hw.elsa.cfg);
        if ((cs->subtyp == ELSA_QS1000) || (cs->subtyp == ELSA_QS3000))
-               return (0 == (v & ELSA_TIMER_RUN));
+               return (0 == (v & ELIRQF_TIMER_RUN));
        else if (cs->subtyp == ELSA_PCC8)
-               return (v & ELSA_TIMER_RUN_PCC8);
-       return (v & ELSA_TIMER_RUN);
+               return (v & ELIRQF_TIMER_RUN_PCC8);
+       return (v & ELIRQF_TIMER_RUN);
 }
 /*
  * fast interrupt HSCX stuff goes here
        writereg(cs->hw.elsa.ale, cs->hw.elsa.hscx, HSCX_MASK, 0xFF);
        writereg(cs->hw.elsa.ale, cs->hw.elsa.hscx, HSCX_MASK + 0x40, 0xFF);
        writereg(cs->hw.elsa.ale, cs->hw.elsa.isac, ISAC_MASK, 0xFF);
-       if (cs->hw.elsa.status & ELSA_TIMER_AKTIV) {
+       if (cs->hw.elsa.status & ELIRQF_TIMER_AKTIV) {
                if (!TimerRun(cs)) {
                        /* Timer Restart */
                        byteout(cs->hw.elsa.timer, 0);
                                spin_lock_irqsave(&cs->lock, flags);
                                cs->hw.elsa.counter = 0;
                                cs->hw.elsa.ctrl_reg |= ELSA_ENA_TIMER_INT;
-                               cs->hw.elsa.status |= ELSA_TIMER_AKTIV;
+                               cs->hw.elsa.status |= ELIRQF_TIMER_AKTIV;
                                byteout(cs->hw.elsa.ctrl, cs->hw.elsa.ctrl_reg);
                                byteout(cs->hw.elsa.timer, 0);
                                spin_unlock_irqrestore(&cs->lock, flags);
                                spin_lock_irqsave(&cs->lock, flags);
                                cs->hw.elsa.ctrl_reg &= ~ELSA_ENA_TIMER_INT;
                                byteout(cs->hw.elsa.ctrl, cs->hw.elsa.ctrl_reg);
-                               cs->hw.elsa.status &= ~ELSA_TIMER_AKTIV;
+                               cs->hw.elsa.status &= ~ELIRQF_TIMER_AKTIV;
                                spin_unlock_irqrestore(&cs->lock, flags);
                                printk(KERN_INFO "Elsa: %d timer tics in 110 msek\n",
                                       cs->hw.elsa.counter);
                cs->hw.elsa.timer = 0;
                cs->hw.elsa.trig = 0;
                cs->hw.elsa.ctrl = 0;
-               cs->irq_flags |= SA_SHIRQ;
+               cs->irq_flags |= IRQF_SHARED;
                printk(KERN_INFO
                       "Elsa: %s defined at %#lx IRQ %d\n",
                       Elsa_Types[cs->subtyp],
                test_and_set_bit(HW_IPAC, &cs->HW_Flags);
                cs->hw.elsa.timer = 0;
                cs->hw.elsa.trig  = 0;
-               cs->irq_flags |= SA_SHIRQ;
+               cs->irq_flags |= IRQF_SHARED;
                printk(KERN_INFO
                       "Elsa: %s defined at %#lx/0x%x IRQ %d\n",
                       Elsa_Types[cs->subtyp],
 
        cs->BC_Send_Data = &netjet_fill_dma;
        cs->cardmsg = &enpci_card_msg;
        cs->irq_func = &enpci_interrupt;
-       cs->irq_flags |= SA_SHIRQ;
+       cs->irq_flags |= IRQF_SHARED;
 
         return (1);
 }
 
        cs->hw.gazel.hscxfifo[0] = cs->hw.gazel.hscx[0];
        cs->hw.gazel.hscxfifo[1] = cs->hw.gazel.hscx[1];
        cs->irq = pci_irq;
-       cs->irq_flags |= SA_SHIRQ;
+       cs->irq_flags |= IRQF_SHARED;
 
        switch (seekcard) {
                case PCI_DEVICE_ID_PLX_R685:
 
        INIT_WORK(&hw->tqueue, (void *) (void *) hfc4s8s_bh, hw);
 
        if (request_irq
-           (hw->irq, hfc4s8s_interrupt, SA_SHIRQ, hw->card_name, hw)) {
+           (hw->irq, hfc4s8s_interrupt, IRQF_SHARED, hw->card_name, hw)) {
                printk(KERN_INFO
                       "HFC-4S/8S: unable to alloc irq %d, card ignored\n",
                       hw->irq);
 
                cs->BC_Read_Reg = NULL;
                cs->BC_Write_Reg = NULL;
                cs->irq_func = &hfcpci_interrupt;
-               cs->irq_flags |= SA_SHIRQ;
+               cs->irq_flags |= IRQF_SHARED;
                cs->hw.hfcpci.timer.function = (void *) hfcpci_Timer;
                cs->hw.hfcpci.timer.data = (long) cs;
                init_timer(&cs->hw.hfcpci.timer);
 
 
        switch (adapter->type) {
        case AVM_FRITZ_PCIV2:
-               retval = request_irq(adapter->irq, fcpci2_irq, SA_SHIRQ, 
+               retval = request_irq(adapter->irq, fcpci2_irq, IRQF_SHARED,
                                     "fcpcipnp", adapter);
                break;
        case AVM_FRITZ_PCI:
-               retval = request_irq(adapter->irq, fcpci_irq, SA_SHIRQ,
+               retval = request_irq(adapter->irq, fcpci_irq, IRQF_SHARED,
                                     "fcpcipnp", adapter);
                break;
        case AVM_FRITZ_PNP:
 
                        printk(KERN_WARNING "Niccy: No PCI card found\n");
                        return(0);
                }
-               cs->irq_flags |= SA_SHIRQ;
+               cs->irq_flags |= IRQF_SHARED;
                cs->hw.niccy.isac = pci_ioaddr + ISAC_PCI_DATA;
                cs->hw.niccy.isac_ale = pci_ioaddr + ISAC_PCI_ADDR;
                cs->hw.niccy.hscx = pci_ioaddr + HSCX_PCI_DATA;
 
        setup_isac(cs);
        cs->cardmsg = &NETjet_S_card_msg;
        cs->irq_func = &netjet_s_interrupt;
-       cs->irq_flags |= SA_SHIRQ;
+       cs->irq_flags |= IRQF_SHARED;
        ISACVersion(cs, "NETjet-S:");
        return (1);
 }
 
        cs->BC_Send_Data = &netjet_fill_dma;
        cs->cardmsg = &NETjet_U_card_msg;
        cs->irq_func = &netjet_u_interrupt;
-       cs->irq_flags |= SA_SHIRQ;
+       cs->irq_flags |= IRQF_SHARED;
        ICCVersion(cs, "NETspider-U:");
        return (1);
 }
 
                        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;
                                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;
 
                               cs->hw.teles3.hscx[1] + 96);
                        return (0);
                }
-               cs->irq_flags |= SA_SHIRQ; /* cardbus can share */
+               cs->irq_flags |= IRQF_SHARED; /* cardbus can share */
        } else {
                if (cs->hw.teles3.cfg_reg) {
                        if (cs->typ == ISDN_CTYPE_COMPAQ_ISA) {
 
        cs->BC_Send_Data = &hscx_fill_fifo;
        cs->cardmsg = &TelesPCI_card_msg;
        cs->irq_func = &telespci_interrupt;
-       cs->irq_flags |= SA_SHIRQ;
+       cs->irq_flags |= IRQF_SHARED;
        ISACVersion(cs, "TelesPCI:");
        if (HscxVersion(cs, "TelesPCI:")) {
                printk(KERN_WARNING
 
        cs->BC_Send_Data = &W6692B_fill_fifo;
        cs->cardmsg = &w6692_card_msg;
        cs->irq_func = &W6692_interrupt;
-       cs->irq_flags |= SA_SHIRQ;
+       cs->irq_flags |= IRQF_SHARED;
        W6692Version(cs, "W6692:");
        printk(KERN_INFO "W6692 ISTA=0x%X\n", ReadW6692(cs, W_ISTA));
        printk(KERN_INFO "W6692 IMASK=0x%X\n", ReadW6692(cs, W_IMASK));
 
        }
 
        ergo_stopcard(card);    /* disable interrupts */
-       if (request_irq(card->irq, ergo_interrupt, SA_SHIRQ, "HYSDN", card)) {
+       if (request_irq(card->irq, ergo_interrupt, IRQF_SHARED, "HYSDN", card)) {
                ergo_releasehardware(card); /* return the acquired hardware */
                return (-1);
        }
 
                 */
                sc_adapter[cinst]->interrupt = irq[b];
                if (request_irq(sc_adapter[cinst]->interrupt, interrupt_handler,
-                               SA_INTERRUPT, interface->id, NULL))
+                               IRQF_DISABLED, interface->id, NULL))
                {
                        kfree(sc_adapter[cinst]->channel);
                        indicate_status(cinst, ISDN_STAT_UNLOAD, 0, NULL);      /* Fix me */