diff options
| author | Thomas Gleixner <tglx@linutronix.de> | 2011-02-08 15:40:05 +0100 | 
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2011-02-19 12:58:19 +0100 | 
| commit | 6a58fb3bad099076f36f0f30f44507bc3275cdb6 (patch) | |
| tree | 9a40117c941d914b1ef13463436657ae9721fea3 | |
| parent | f230b6d5c48f8d12f4dfa1f8b5ab0b0320076d21 (diff) | |
genirq: Remove CONFIG_IRQ_PER_CPU
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>
| -rw-r--r-- | include/linux/irq.h | 5 | ||||
| -rw-r--r-- | kernel/irq/Kconfig | 3 | ||||
| -rw-r--r-- | kernel/irq/internals.h | 2 | ||||
| -rw-r--r-- | kernel/irq/manage.c | 9 | 
4 files changed, 3 insertions, 16 deletions
| diff --git a/include/linux/irq.h b/include/linux/irq.h index 2899905bfac7..ab708f27a33b 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h @@ -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() diff --git a/kernel/irq/Kconfig b/kernel/irq/Kconfig index 9e2256de1d1a..48ad25f5fa59 100644 --- a/kernel/irq/Kconfig +++ b/kernel/irq/Kconfig @@ -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 diff --git a/kernel/irq/internals.h b/kernel/irq/internals.h index e93e6090cd47..9e32b3d35d35 100644 --- a/kernel/irq/internals.h +++ b/kernel/irq/internals.h @@ -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); diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c index 9a99c471d470..056aa49698b4 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c @@ -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; | 
