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]