[patch 09/50] genirq: cleanup: turn ARCH_HAS_IRQ_PER_CPU into CONFIG_IRQ_PER_CPU

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Ingo Molnar <[email protected]>

cleanup: change ARCH_HAS_IRQ_PER_CPU into a Kconfig method.

Signed-off-by: Ingo Molnar <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
---
 arch/cris/Kconfig                |    4 ++++
 arch/ia64/Kconfig                |    4 ++++
 arch/mips/Kconfig                |    5 +++++
 arch/parisc/Kconfig              |    4 ++++
 arch/powerpc/Kconfig             |    4 ++++
 include/asm-cris/irq.h           |    5 -----
 include/asm-ia64/irq.h           |    5 -----
 include/asm-mips/mach-mips/irq.h |    6 ------
 include/asm-parisc/irq.h         |    5 -----
 include/asm-powerpc/irq.h        |    5 -----
 include/linux/irq.h              |    2 +-
 kernel/irq/manage.c              |    4 ++--
 12 files changed, 24 insertions(+), 29 deletions(-)

Index: linux-genirq.q/arch/cris/Kconfig
===================================================================
--- linux-genirq.q.orig/arch/cris/Kconfig
+++ linux-genirq.q/arch/cris/Kconfig
@@ -28,6 +28,10 @@ config GENERIC_CALIBRATE_DELAY
 	bool
 	default y
 
+config IRQ_PER_CPU
+	bool
+	default y
+
 config CRIS
 	bool
 	default y
Index: linux-genirq.q/arch/ia64/Kconfig
===================================================================
--- linux-genirq.q.orig/arch/ia64/Kconfig
+++ linux-genirq.q/arch/ia64/Kconfig
@@ -483,6 +483,10 @@ config GENERIC_PENDING_IRQ
 	depends on GENERIC_HARDIRQS && SMP
 	default y
 
+config IRQ_PER_CPU
+	bool
+	default y
+
 source "arch/ia64/hp/sim/Kconfig"
 
 menu "Instrumentation Support"
Index: linux-genirq.q/arch/mips/Kconfig
===================================================================
--- linux-genirq.q.orig/arch/mips/Kconfig
+++ linux-genirq.q/arch/mips/Kconfig
@@ -1582,6 +1582,11 @@ config GENERIC_IRQ_PROBE
 	bool
 	default y
 
+config IRQ_PER_CPU
+	depends on SMP
+	bool
+	default y
+
 #
 # - Highmem only makes sense for the 32-bit kernel.
 # - The current highmem code will only work properly on physically indexed
Index: linux-genirq.q/arch/parisc/Kconfig
===================================================================
--- linux-genirq.q.orig/arch/parisc/Kconfig
+++ linux-genirq.q/arch/parisc/Kconfig
@@ -51,6 +51,10 @@ config GENERIC_HARDIRQS
 config GENERIC_IRQ_PROBE
 	def_bool y
 
+config IRQ_PER_CPU
+	bool
+	default y
+
 # unless you want to implement ACPI on PA-RISC ... ;-)
 config PM
 	bool
Index: linux-genirq.q/arch/powerpc/Kconfig
===================================================================
--- linux-genirq.q.orig/arch/powerpc/Kconfig
+++ linux-genirq.q/arch/powerpc/Kconfig
@@ -30,6 +30,10 @@ config GENERIC_HARDIRQS
 	bool
 	default y
 
+config IRQ_PER_CPU
+	bool
+	default y
+
 config RWSEM_GENERIC_SPINLOCK
 	bool
 
Index: linux-genirq.q/include/asm-cris/irq.h
===================================================================
--- linux-genirq.q.orig/include/asm-cris/irq.h
+++ linux-genirq.q/include/asm-cris/irq.h
@@ -1,11 +1,6 @@
 #ifndef _ASM_IRQ_H
 #define _ASM_IRQ_H
 
-/*
- * IRQ line status macro IRQ_PER_CPU is used
- */
-#define ARCH_HAS_IRQ_PER_CPU
-
 #include <asm/arch/irq.h>
 
 static inline int irq_canonicalize(int irq)
Index: linux-genirq.q/include/asm-ia64/irq.h
===================================================================
--- linux-genirq.q.orig/include/asm-ia64/irq.h
+++ linux-genirq.q/include/asm-ia64/irq.h
@@ -14,11 +14,6 @@
 #define NR_IRQS		256
 #define NR_IRQ_VECTORS	NR_IRQS
 
-/*
- * IRQ line status macro IRQ_PER_CPU is used
- */
-#define ARCH_HAS_IRQ_PER_CPU
-
 static __inline__ int
 irq_canonicalize (int irq)
 {
Index: linux-genirq.q/include/asm-mips/mach-mips/irq.h
===================================================================
--- linux-genirq.q.orig/include/asm-mips/mach-mips/irq.h
+++ linux-genirq.q/include/asm-mips/mach-mips/irq.h
@@ -5,10 +5,4 @@
 
 #define NR_IRQS	256
 
-#ifdef CONFIG_SMP
-
-#define ARCH_HAS_IRQ_PER_CPU
-
-#endif
-
 #endif /* __ASM_MACH_MIPS_IRQ_H */
Index: linux-genirq.q/include/asm-parisc/irq.h
===================================================================
--- linux-genirq.q.orig/include/asm-parisc/irq.h
+++ linux-genirq.q/include/asm-parisc/irq.h
@@ -27,11 +27,6 @@
 
 #define NR_IRQS		(CPU_IRQ_MAX + 1)
 
-/*
- * IRQ line status macro IRQ_PER_CPU is used
- */
-#define ARCH_HAS_IRQ_PER_CPU
-
 static __inline__ int irq_canonicalize(int irq)
 {
 	return (irq == 2) ? 9 : irq;
Index: linux-genirq.q/include/asm-powerpc/irq.h
===================================================================
--- linux-genirq.q.orig/include/asm-powerpc/irq.h
+++ linux-genirq.q/include/asm-powerpc/irq.h
@@ -31,11 +31,6 @@
 #define IRQ_POLARITY_POSITIVE	0x2	/* high level or low->high edge */
 #define IRQ_POLARITY_NEGATIVE	0x0	/* low level or high->low edge */
 
-/*
- * IRQ line status macro IRQ_PER_CPU is used
- */
-#define ARCH_HAS_IRQ_PER_CPU
-
 #define get_irq_desc(irq) (&irq_desc[(irq)])
 
 /* Define a way to iterate across irqs. */
Index: linux-genirq.q/include/linux/irq.h
===================================================================
--- linux-genirq.q.orig/include/linux/irq.h
+++ linux-genirq.q/include/linux/irq.h
@@ -33,7 +33,7 @@
 #define IRQ_WAITING	32	/* IRQ not yet seen - for autodetection */
 #define IRQ_LEVEL	64	/* IRQ level triggered */
 #define IRQ_MASKED	128	/* IRQ masked - shouldn't be seen again */
-#ifdef ARCH_HAS_IRQ_PER_CPU
+#ifdef CONFIG_IRQ_PER_CPU
 # define IRQ_PER_CPU	256	/* IRQ is per CPU */
 # define CHECK_IRQ_PER_CPU(var) ((var) & IRQ_PER_CPU)
 #else
Index: linux-genirq.q/kernel/irq/manage.c
===================================================================
--- linux-genirq.q.orig/kernel/irq/manage.c
+++ linux-genirq.q/kernel/irq/manage.c
@@ -198,7 +198,7 @@ int setup_irq(unsigned int irq, struct i
 		if (!(old->flags & new->flags & SA_SHIRQ))
 			goto mismatch;
 
-#if defined(ARCH_HAS_IRQ_PER_CPU) && defined(SA_PERCPU_IRQ)
+#if defined(CONFIG_IRQ_PER_CPU) && defined(SA_PERCPU_IRQ)
 		/* All handlers must agree on per-cpuness */
 		if ((old->flags & IRQ_PER_CPU) != (new->flags & IRQ_PER_CPU))
 			goto mismatch;
@@ -213,7 +213,7 @@ int setup_irq(unsigned int irq, struct i
 	}
 
 	*p = new;
-#if defined(ARCH_HAS_IRQ_PER_CPU) && defined(SA_PERCPU_IRQ)
+#if defined(CONFIG_IRQ_PER_CPU) && defined(SA_PERCPU_IRQ)
 	if (new->flags & SA_PERCPU_IRQ)
 		desc->status |= IRQ_PER_CPU;
 #endif
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux