if (action) {
                        int status = 0;
 
-//                     if (!(action->flags & SA_INTERRUPT))
+//                     if (!(action->flags & IRQF_DISABLED))
 //                             local_irq_enable();
 
                        do {
                                action = action->next;
                        } while (action);
 
-                       if (status & SA_SAMPLE_RANDOM)
+                       if (status & IRQF_SAMPLE_RANDOM)
                                add_interrupt_randomness(irq);
                        local_irq_disable();
                }
 
  *
  *     Flags:
  *
- *     SA_SHIRQ                Interrupt is shared
+ *     IRQF_SHARED             Interrupt is shared
  *
- *     SA_INTERRUPT            Disable local interrupts while processing
+ *     IRQF_DISABLED   Disable local interrupts while processing
  *
- *     SA_SAMPLE_RANDOM        The interrupt can be used for entropy
+ *     IRQF_SAMPLE_RANDOM      The interrupt can be used for entropy
  *
  */
 
         * to figure out which interrupt is which (messes up the
         * interrupt freeing logic etc).
         */
-       if (irqflags & SA_SHIRQ) {
+       if (irqflags & IRQF_SHARED) {
                if (!dev_id)
                        printk("Bad boy: %s (at 0x%x) called us without a dev_id!\n",
                               devname, (&irq)[-1]);
         * so we have to be careful not to interfere with a
         * running system.
         */
-       if (new->flags & SA_SAMPLE_RANDOM) {
+       if (new->flags & IRQF_SAMPLE_RANDOM) {
                /*
                 * This function might sleep, we want to call it first,
                 * outside of the atomic block.
        spin_lock_irqsave(&level->lock, flags);
 
        /* can't share interrupts unless all parties agree to */
-       if (level->usage != 0 && !(level->flags & new->flags & SA_SHIRQ)) {
+       if (level->usage != 0 && !(level->flags & new->flags & IRQF_SHARED)) {
                spin_unlock_irqrestore(&level->lock,flags);
                return -EBUSY;
        }
 
 static irqreturn_t timer_interrupt(int irq, void *dummy, struct pt_regs *regs);
 
 static struct irqaction timer_irq  = {
-       timer_interrupt, SA_INTERRUPT, CPU_MASK_NONE, "timer", NULL, NULL
+       timer_interrupt, IRQF_DISABLED, CPU_MASK_NONE, "timer", NULL, NULL
 };
 
 static inline int set_rtc_mmss(unsigned long nowtime)
 
 struct irq_level {
        int                     usage;
        int                     disable_count;
-       unsigned long           flags;          /* current SA_INTERRUPT and SA_SHIRQ settings */
+       unsigned long           flags;          /* current IRQF_DISABLED and IRQF_SHARED settings */
        spinlock_t              lock;
        struct irq_source       *sources;
 };
 
  * SA_FLAGS values:
  *
  * SA_ONSTACK indicates that a registered stack_t will be used.
- * 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   0x20000000 /* dummy -- ignored */
 
 #define SA_RESTORER    0x04000000