genirq: Remove CONFIG_IRQ_PER_CPU
authorThomas Gleixner <tglx@linutronix.de>
Tue, 8 Feb 2011 14:40:05 +0000 (15:40 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Sat, 19 Feb 2011 11:58:19 +0000 (12:58 +0100)
The saving of this switch is minimal versus the ifdef mess it
creates. Simple enable PER_CPU unconditionally and remove the config
switch.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
include/linux/irq.h
kernel/irq/Kconfig
kernel/irq/internals.h
kernel/irq/manage.c

index 2899905..ab708f2 100644 (file)
@@ -78,13 +78,8 @@ typedef      void (*irq_flow_handler_t)(unsigned int irq,
         IRQ_NOAUTOEN | IRQ_MOVE_PCNTXT | IRQ_LEVEL | IRQ_NO_BALANCING | \
         IRQ_PER_CPU | IRQ_NESTED_THREAD)
 
-#ifdef CONFIG_IRQ_PER_CPU
 # define CHECK_IRQ_PER_CPU(var) ((var) & IRQ_PER_CPU)
 # define IRQ_NO_BALANCING_MASK (IRQ_PER_CPU | IRQ_NO_BALANCING)
-#else
-# define CHECK_IRQ_PER_CPU(var) 0
-# define IRQ_NO_BALANCING_MASK IRQ_NO_BALANCING
-#endif
 
 /*
  * Return value for chip->irq_set_affinity()
index 9e2256d..48ad25f 100644 (file)
@@ -32,9 +32,6 @@ config GENERIC_PENDING_IRQ
 config AUTO_IRQ_AFFINITY
        def_bool n
 
-config IRQ_PER_CPU
-       def_bool n
-
 config HARDIRQS_SW_RESEND
        def_bool n
 
index e93e609..9e32b3d 100644 (file)
@@ -163,9 +163,7 @@ static inline void print_irq_desc(unsigned int irq, struct irq_desc *desc)
        }
 
        P(IRQ_LEVEL);
-#ifdef CONFIG_IRQ_PER_CPU
        P(IRQ_PER_CPU);
-#endif
        P(IRQ_NOPROBE);
        P(IRQ_NOREQUEST);
        P(IRQ_NOAUTOEN);
index 9a99c47..056aa49 100644 (file)
@@ -865,12 +865,10 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new)
                        goto mismatch;
                }
 
-#if defined(CONFIG_IRQ_PER_CPU)
                /* All handlers must agree on per-cpuness */
                if ((old->flags & IRQF_PERCPU) !=
                    (new->flags & IRQF_PERCPU))
                        goto mismatch;
-#endif
 
                /* add new interrupt at end of irq queue */
                do {
@@ -894,15 +892,14 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new)
                                goto out_mask;
                } else
                        compat_irq_chip_set_default_handler(desc);
-#if defined(CONFIG_IRQ_PER_CPU)
-               if (new->flags & IRQF_PERCPU)
-                       desc->status |= IRQ_PER_CPU;
-#endif
 
                desc->istate &= ~(IRQS_AUTODETECT | IRQS_SPURIOUS_DISABLED | \
                                  IRQS_INPROGRESS | IRQS_ONESHOT | \
                                  IRQS_WAITING);
 
+               if (new->flags & IRQF_PERCPU)
+                       desc->status |= IRQ_PER_CPU;
+
                if (new->flags & IRQF_ONESHOT)
                        desc->istate |= IRQS_ONESHOT;