int irq;
 
        irq = iic_ipi_to_irq(ipi);
-       /* IPIs are marked SA_INTERRUPT as they must run with irqs
+       /* IPIs are marked IRQF_DISABLED as they must run with irqs
         * disabled */
        get_irq_desc(irq)->chip = &iic_pic;
        get_irq_desc(irq)->status |= IRQ_PER_CPU;
-       request_irq(irq, iic_ipi_action, SA_INTERRUPT, name, NULL);
+       request_irq(irq, iic_ipi_action, IRQF_DISABLED, name, NULL);
 }
 
 void iic_request_IPIs(void)
 
 
        snprintf(spu->irq_c0, sizeof (spu->irq_c0), "spe%02d.0", spu->number);
        ret = request_irq(irq_base + spu->isrc,
-                spu_irq_class_0, SA_INTERRUPT, spu->irq_c0, spu);
+                spu_irq_class_0, IRQF_DISABLED, spu->irq_c0, spu);
        if (ret)
                goto out;
 
        snprintf(spu->irq_c1, sizeof (spu->irq_c1), "spe%02d.1", spu->number);
        ret = request_irq(irq_base + IIC_CLASS_STRIDE + spu->isrc,
-                spu_irq_class_1, SA_INTERRUPT, spu->irq_c1, spu);
+                spu_irq_class_1, IRQF_DISABLED, spu->irq_c1, spu);
        if (ret)
                goto out1;
 
        snprintf(spu->irq_c2, sizeof (spu->irq_c2), "spe%02d.2", spu->number);
        ret = request_irq(irq_base + 2*IIC_CLASS_STRIDE + spu->isrc,
-                spu_irq_class_2, SA_INTERRUPT, spu->irq_c2, spu);
+                spu_irq_class_2, IRQF_DISABLED, spu->irq_c2, spu);
        if (ret)
                goto out2;
        goto out;
 
 
 static struct irqaction gatwick_cascade_action = {
        .handler        = gatwick_action,
-       .flags          = SA_INTERRUPT,
+       .flags          = IRQF_DISABLED,
        .mask           = CPU_MASK_NONE,
        .name           = "cascade",
 };
 
 
 static struct irqaction psurge_irqaction = {
        .handler = psurge_primary_intr,
-       .flags = SA_INTERRUPT,
+       .flags = IRQF_DISABLED,
        .mask = CPU_MASK_NONE,
        .name = "primary IPI",
 };
 
 
 /*
  * Mark IPIs as higher priority so we can take them inside interrupts that
- * arent marked SA_INTERRUPT
+ * arent marked IRQF_DISABLED
  */
 #define IPI_PRIORITY           4
 
 {
        virt_irq_to_real_map[XICS_IPI] = XICS_IPI;
 
-       /* IPIs are marked SA_INTERRUPT as they must run with irqs disabled */
-       request_irq(irq_offset_up(XICS_IPI), xics_ipi_action, SA_INTERRUPT,
-                   "IPI", NULL);
+       /*
+        * IPIs are marked IRQF_DISABLED as they must run with irqs
+        * disabled
+        */
+       request_irq(irq_offset_up(XICS_IPI), xics_ipi_action,
+                   IRQF_DISABLED, "IPI", NULL);
        get_irq_desc(irq_offset_up(XICS_IPI))->status |= IRQ_PER_CPU;
 }
 #endif
 
 
 static struct irqaction i8259_irqaction = {
        .handler = no_action,
-       .flags = SA_INTERRUPT,
+       .flags = IRQF_DISABLED,
        .mask = CPU_MASK_NONE,
        .name = "82c59 secondary cascade",
 };
 
         * IPIs are marked IRQ_PER_CPU. This has the side effect of
         * preventing the IRQ_PENDING/IRQ_INPROGRESS logic from
         * applying to them. We EOI them late to avoid re-entering.
-        * We mark IPI's with SA_INTERRUPT as they must run with
+        * We mark IPI's with IRQF_DISABLED as they must run with
         * irqs disabled.
         */
        mpic_eoi(mpic);
        
        printk("requesting IPIs ... \n");
 
-       /* IPIs are marked SA_INTERRUPT as they must run with irqs disabled */
-       request_irq(mpic->ipi_offset+0, mpic_ipi_action, SA_INTERRUPT,
+       /*
+        * IPIs are marked IRQF_DISABLED as they must run with irqs
+        * disabled
+        */
+       request_irq(mpic->ipi_offset+0, mpic_ipi_action, IRQF_DISABLED,
                    "IPI0 (call function)", mpic);
-       request_irq(mpic->ipi_offset+1, mpic_ipi_action, SA_INTERRUPT,
+       request_irq(mpic->ipi_offset+1, mpic_ipi_action, IRQF_DISABLED,
                   "IPI1 (reschedule)", mpic);
-       request_irq(mpic->ipi_offset+2, mpic_ipi_action, SA_INTERRUPT,
+       request_irq(mpic->ipi_offset+2, mpic_ipi_action, IRQF_DISABLED,
                   "IPI2 (unused)", mpic);
-       request_irq(mpic->ipi_offset+3, mpic_ipi_action, SA_INTERRUPT,
+       request_irq(mpic->ipi_offset+3, mpic_ipi_action, IRQF_DISABLED,
                   "IPI3 (debugger break)", mpic);
 
        printk("IPIs requested... \n");
 
 #define fd_disable_irq()        disable_irq(FLOPPY_IRQ)
 #define fd_cacheflush(addr,size) /* nothing */
 #define fd_request_irq()        request_irq(FLOPPY_IRQ, floppy_interrupt, \
-                                           SA_INTERRUPT, "floppy", NULL)
+                                           IRQF_DISABLED, "floppy", NULL)
 #define fd_free_irq()           free_irq(FLOPPY_IRQ, NULL);
 
 #ifdef CONFIG_PCI
 
  * SA_FLAGS values:
  *
  * SA_ONSTACK is not currently supported, but will allow sigaltstack(2).
- * SA_INTERRUPT is a no-op, but left due to historical reasons. Use the
  * SA_RESTART flag to get restarting signals (which were the default long ago)
  * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop.
  * SA_RESETHAND clears the handler when the signal is delivered.
 
 #define SA_NOMASK      SA_NODEFER
 #define SA_ONESHOT     SA_RESETHAND
-#define SA_INTERRUPT   0x20000000u /* dummy -- ignored */
 
 #define SA_RESTORER    0x04000000U