Skip to contentSkip to conversation

genirq:fixup missing SA_PERCPU replacement

PATCH In review Thomas Gleixner 2 participants 2 messages Jul 3, 2006 IRQ

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 genirq:fixup missing SA_PERCPU replacement

The irqflags consolidation converted SA_PERCPU_IRQ to IRQF_PERCPU but did not define the new constant.

include/linux/interrupt.h +2 -0
Index: linux-2.6.git/include/linux/interrupt.h
===================================================================
@@ -45,6 +45,7 @@
 #define IRQF_SHARED		0x00000080
 #define IRQF_PROBE_SHARED	0x00000100
 #define IRQF_TIMER		0x00000200
+#define IRQF_PERCPU		0x00000400
 
 /*
  * Migration helpers. Scheduled for removal in 1/2007
@@ -54,6 +55,7 @@
 #define SA_SAMPLE_RANDOM	IRQF_SAMPLE_RANDOM
 #define SA_SHIRQ		IRQF_SHARED
 #define SA_PROBEIRQ		IRQF_PROBE_SHARED
+#define SA_PERCPU		IRQF_PERCPU
 
 #define SA_TRIGGER_LOW		IRQF_TRIGGER_LOW
 #define SA_TRIGGER_HIGH		IRQF_TRIGGER_HIGH
kernel/irq/manage.c +2 -2
Index: linux-2.6.git/kernel/irq/manage.c
===================================================================
@@ -234,7 +234,7 @@ int setup_irq(unsigned int irq, struct i
 		    ((old->flags ^ new->flags) & IRQF_TRIGGER_MASK))
 			goto mismatch;
 
-#if defined(CONFIG_IRQ_PER_CPU) && defined(IRQF_PERCPU)
+#if defined(CONFIG_IRQ_PER_CPU)
 		/* All handlers must agree on per-cpuness */
 		if ((old->flags & IRQF_PERCPU) !=
 		    (new->flags & IRQF_PERCPU))
@@ -250,7 +250,7 @@ int setup_irq(unsigned int irq, struct i
 	}
 
 	*p = new;
-#if defined(CONFIG_IRQ_PER_CPU) && defined(IRQF_PERCPU)
+#if defined(CONFIG_IRQ_PER_CPU)
 	if (new->flags & IRQF_PERCPU)
 		desc->status |= IRQ_PER_CPU;
 #endif
#1 lore raw
Quoted 3 lines · On Mon, 03 Jul 2006 02:20:32 +0200 Thomas Gleixner <[email protected]> wrote:

The irqflags consolidation converted SA_PERCPU_IRQ to IRQF_PERCPU but did not define the new constant.

No, I fixed that up (you were cc'ed). Only I fixed it up the "old" way, by putting it in include/asm-ia64/irq.h.

Quoted 35 lines

Index: linux-2.6.git/include/linux/interrupt.h
===================================================================

include/linux/interrupt.h +2 -0
@@ -45,6 +45,7 @@
 #define IRQF_SHARED		0x00000080
 #define IRQF_PROBE_SHARED	0x00000100
 #define IRQF_TIMER		0x00000200
+#define IRQF_PERCPU		0x00000400
 
 /*
  * Migration helpers. Scheduled for removal in 1/2007
@@ -54,6 +55,7 @@
 #define SA_SAMPLE_RANDOM	IRQF_SAMPLE_RANDOM
 #define SA_SHIRQ		IRQF_SHARED
 #define SA_PROBEIRQ		IRQF_PROBE_SHARED
+#define SA_PERCPU		IRQF_PERCPU
 
 #define SA_TRIGGER_LOW		IRQF_TRIGGER_LOW
 #define SA_TRIGGER_HIGH		IRQF_TRIGGER_HIGH

Index: linux-2.6.git/kernel/irq/manage.c
===================================================================

kernel/irq/manage.c +1 -1
@@ -234,7 +234,7 @@ int setup_irq(unsigned int irq, struct i
 		    ((old->flags ^ new->flags) & IRQF_TRIGGER_MASK))
 			goto mismatch;
 
-#if defined(CONFIG_IRQ_PER_CPU) && defined(IRQF_PERCPU)
+#if defined(CONFIG_IRQ_PER_CPU)
 		/* All handlers must agree on per-cpuness */
 		if ((old->flags & IRQF_PERCPU) !=
 		    (new->flags & IRQF_PERCPU))

kernel/irq/manage.c int setup_irq(unsigned int irq, struct i · line 256

Quoted 8 lines
kernel/irq/manage.c +1 -1
@@ -250,7 +250,7 @@ int setup_irq(unsigned int irq, struct i
 	}
 
 	*p = new;
-#if defined(CONFIG_IRQ_PER_CPU) && defined(IRQF_PERCPU)
+#if defined(CONFIG_IRQ_PER_CPU)
 	if (new->flags & IRQF_PERCPU)
 		desc->status |= IRQ_PER_CPU;
 #endif

This is of course better, but we'll also need:

include/asm-ia64/irq.h renamed from include/asm-ia64/irq.h~a +0 -2
@@ -14,8 +14,6 @@
 #define NR_IRQS		256
 #define NR_IRQ_VECTORS	NR_IRQS
 
-#define IRQF_PERCPU	0x02000000
-
 static __inline__ int
 irq_canonicalize (int irq)
 {

_