Re: [PATCH] genirq:fixup missing SA_PERCPU replacement

From: Andrew Morton
Date: Sun Jul 02 2006 - 20:28:47 EST


On Mon, 03 Jul 2006 02:20:32 +0200
Thomas Gleixner <tglx@xxxxxxxxxxxxx> 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.

>
> Index: linux-2.6.git/include/linux/interrupt.h
> ===================================================================
> --- linux-2.6.git.orig/include/linux/interrupt.h 2006-07-02 23:38:32.000000000 +0200
> +++ linux-2.6.git/include/linux/interrupt.h 2006-07-03 01:57:20.000000000 +0200
> @@ -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
> ===================================================================
> --- linux-2.6.git.orig/kernel/irq/manage.c 2006-07-02 23:38:32.000000000 +0200
> +++ linux-2.6.git/kernel/irq/manage.c 2006-07-03 01:58:45.000000000 +0200
> @@ -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

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

--- a/include/asm-ia64/irq.h~a
+++ a/include/asm-ia64/irq.h
@@ -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)
{
_

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/