diff options
-rw-r--r-- | arch/powerpc/platforms/cell/interrupt.c | 4 | ||||
-rw-r--r-- | arch/powerpc/platforms/cell/spu_base.c | 6 | ||||
-rw-r--r-- | arch/powerpc/platforms/powermac/pic.c | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/powermac/smp.c | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/pseries/xics.c | 11 | ||||
-rw-r--r-- | arch/powerpc/sysdev/i8259.c | 2 | ||||
-rw-r--r-- | arch/powerpc/sysdev/mpic.c | 15 | ||||
-rw-r--r-- | include/asm-powerpc/floppy.h | 2 | ||||
-rw-r--r-- | include/asm-powerpc/signal.h | 2 |
9 files changed, 25 insertions, 21 deletions
diff --git a/arch/powerpc/platforms/cell/interrupt.c b/arch/powerpc/platforms/cell/interrupt.c index 880c8083d16f..22da1335445a 100644 --- a/arch/powerpc/platforms/cell/interrupt.c +++ b/arch/powerpc/platforms/cell/interrupt.c | |||
@@ -304,11 +304,11 @@ static void iic_request_ipi(int ipi, const char *name) | |||
304 | int irq; | 304 | int irq; |
305 | 305 | ||
306 | irq = iic_ipi_to_irq(ipi); | 306 | irq = iic_ipi_to_irq(ipi); |
307 | /* IPIs are marked SA_INTERRUPT as they must run with irqs | 307 | /* IPIs are marked IRQF_DISABLED as they must run with irqs |
308 | * disabled */ | 308 | * disabled */ |
309 | get_irq_desc(irq)->chip = &iic_pic; | 309 | get_irq_desc(irq)->chip = &iic_pic; |
310 | get_irq_desc(irq)->status |= IRQ_PER_CPU; | 310 | get_irq_desc(irq)->status |= IRQ_PER_CPU; |
311 | request_irq(irq, iic_ipi_action, SA_INTERRUPT, name, NULL); | 311 | request_irq(irq, iic_ipi_action, IRQF_DISABLED, name, NULL); |
312 | } | 312 | } |
313 | 313 | ||
314 | void iic_request_IPIs(void) | 314 | void iic_request_IPIs(void) |
diff --git a/arch/powerpc/platforms/cell/spu_base.c b/arch/powerpc/platforms/cell/spu_base.c index b306723abb87..656c1ef5f4ad 100644 --- a/arch/powerpc/platforms/cell/spu_base.c +++ b/arch/powerpc/platforms/cell/spu_base.c | |||
@@ -274,19 +274,19 @@ spu_request_irqs(struct spu *spu) | |||
274 | 274 | ||
275 | snprintf(spu->irq_c0, sizeof (spu->irq_c0), "spe%02d.0", spu->number); | 275 | snprintf(spu->irq_c0, sizeof (spu->irq_c0), "spe%02d.0", spu->number); |
276 | ret = request_irq(irq_base + spu->isrc, | 276 | ret = request_irq(irq_base + spu->isrc, |
277 | spu_irq_class_0, SA_INTERRUPT, spu->irq_c0, spu); | 277 | spu_irq_class_0, IRQF_DISABLED, spu->irq_c0, spu); |
278 | if (ret) | 278 | if (ret) |
279 | goto out; | 279 | goto out; |
280 | 280 | ||
281 | snprintf(spu->irq_c1, sizeof (spu->irq_c1), "spe%02d.1", spu->number); | 281 | snprintf(spu->irq_c1, sizeof (spu->irq_c1), "spe%02d.1", spu->number); |
282 | ret = request_irq(irq_base + IIC_CLASS_STRIDE + spu->isrc, | 282 | ret = request_irq(irq_base + IIC_CLASS_STRIDE + spu->isrc, |
283 | spu_irq_class_1, SA_INTERRUPT, spu->irq_c1, spu); | 283 | spu_irq_class_1, IRQF_DISABLED, spu->irq_c1, spu); |
284 | if (ret) | 284 | if (ret) |
285 | goto out1; | 285 | goto out1; |
286 | 286 | ||
287 | snprintf(spu->irq_c2, sizeof (spu->irq_c2), "spe%02d.2", spu->number); | 287 | snprintf(spu->irq_c2, sizeof (spu->irq_c2), "spe%02d.2", spu->number); |
288 | ret = request_irq(irq_base + 2*IIC_CLASS_STRIDE + spu->isrc, | 288 | ret = request_irq(irq_base + 2*IIC_CLASS_STRIDE + spu->isrc, |
289 | spu_irq_class_2, SA_INTERRUPT, spu->irq_c2, spu); | 289 | spu_irq_class_2, IRQF_DISABLED, spu->irq_c2, spu); |
290 | if (ret) | 290 | if (ret) |
291 | goto out2; | 291 | goto out2; |
292 | goto out; | 292 | goto out; |
diff --git a/arch/powerpc/platforms/powermac/pic.c b/arch/powerpc/platforms/powermac/pic.c index 532bce57c0dc..c9b09a9e6050 100644 --- a/arch/powerpc/platforms/powermac/pic.c +++ b/arch/powerpc/platforms/powermac/pic.c | |||
@@ -381,7 +381,7 @@ static struct irqaction xmon_action = { | |||
381 | 381 | ||
382 | static struct irqaction gatwick_cascade_action = { | 382 | static struct irqaction gatwick_cascade_action = { |
383 | .handler = gatwick_action, | 383 | .handler = gatwick_action, |
384 | .flags = SA_INTERRUPT, | 384 | .flags = IRQF_DISABLED, |
385 | .mask = CPU_MASK_NONE, | 385 | .mask = CPU_MASK_NONE, |
386 | .name = "cascade", | 386 | .name = "cascade", |
387 | }; | 387 | }; |
diff --git a/arch/powerpc/platforms/powermac/smp.c b/arch/powerpc/platforms/powermac/smp.c index 63affcb24219..827b7121ffb8 100644 --- a/arch/powerpc/platforms/powermac/smp.c +++ b/arch/powerpc/platforms/powermac/smp.c | |||
@@ -377,7 +377,7 @@ static void __init psurge_dual_sync_tb(int cpu_nr) | |||
377 | 377 | ||
378 | static struct irqaction psurge_irqaction = { | 378 | static struct irqaction psurge_irqaction = { |
379 | .handler = psurge_primary_intr, | 379 | .handler = psurge_primary_intr, |
380 | .flags = SA_INTERRUPT, | 380 | .flags = IRQF_DISABLED, |
381 | .mask = CPU_MASK_NONE, | 381 | .mask = CPU_MASK_NONE, |
382 | .name = "primary IPI", | 382 | .name = "primary IPI", |
383 | }; | 383 | }; |
diff --git a/arch/powerpc/platforms/pseries/xics.c b/arch/powerpc/platforms/pseries/xics.c index 4d935d0817f2..2ffebe31cb2d 100644 --- a/arch/powerpc/platforms/pseries/xics.c +++ b/arch/powerpc/platforms/pseries/xics.c | |||
@@ -59,7 +59,7 @@ static struct radix_tree_root irq_map = RADIX_TREE_INIT(GFP_ATOMIC); | |||
59 | 59 | ||
60 | /* | 60 | /* |
61 | * Mark IPIs as higher priority so we can take them inside interrupts that | 61 | * Mark IPIs as higher priority so we can take them inside interrupts that |
62 | * arent marked SA_INTERRUPT | 62 | * arent marked IRQF_DISABLED |
63 | */ | 63 | */ |
64 | #define IPI_PRIORITY 4 | 64 | #define IPI_PRIORITY 4 |
65 | 65 | ||
@@ -586,9 +586,12 @@ void xics_request_IPIs(void) | |||
586 | { | 586 | { |
587 | virt_irq_to_real_map[XICS_IPI] = XICS_IPI; | 587 | virt_irq_to_real_map[XICS_IPI] = XICS_IPI; |
588 | 588 | ||
589 | /* IPIs are marked SA_INTERRUPT as they must run with irqs disabled */ | 589 | /* |
590 | request_irq(irq_offset_up(XICS_IPI), xics_ipi_action, SA_INTERRUPT, | 590 | * IPIs are marked IRQF_DISABLED as they must run with irqs |
591 | "IPI", NULL); | 591 | * disabled |
592 | */ | ||
593 | request_irq(irq_offset_up(XICS_IPI), xics_ipi_action, | ||
594 | IRQF_DISABLED, "IPI", NULL); | ||
592 | get_irq_desc(irq_offset_up(XICS_IPI))->status |= IRQ_PER_CPU; | 595 | get_irq_desc(irq_offset_up(XICS_IPI))->status |= IRQ_PER_CPU; |
593 | } | 596 | } |
594 | #endif | 597 | #endif |
diff --git a/arch/powerpc/sysdev/i8259.c b/arch/powerpc/sysdev/i8259.c index 2bff30f6d635..1a3ef1ab9d6e 100644 --- a/arch/powerpc/sysdev/i8259.c +++ b/arch/powerpc/sysdev/i8259.c | |||
@@ -167,7 +167,7 @@ static struct resource pic_edgectrl_iores = { | |||
167 | 167 | ||
168 | static struct irqaction i8259_irqaction = { | 168 | static struct irqaction i8259_irqaction = { |
169 | .handler = no_action, | 169 | .handler = no_action, |
170 | .flags = SA_INTERRUPT, | 170 | .flags = IRQF_DISABLED, |
171 | .mask = CPU_MASK_NONE, | 171 | .mask = CPU_MASK_NONE, |
172 | .name = "82c59 secondary cascade", | 172 | .name = "82c59 secondary cascade", |
173 | }; | 173 | }; |
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c index 63ff89575cbb..7e469358895f 100644 --- a/arch/powerpc/sysdev/mpic.c +++ b/arch/powerpc/sysdev/mpic.c | |||
@@ -540,7 +540,7 @@ static void mpic_end_ipi(unsigned int irq) | |||
540 | * IPIs are marked IRQ_PER_CPU. This has the side effect of | 540 | * IPIs are marked IRQ_PER_CPU. This has the side effect of |
541 | * preventing the IRQ_PENDING/IRQ_INPROGRESS logic from | 541 | * preventing the IRQ_PENDING/IRQ_INPROGRESS logic from |
542 | * applying to them. We EOI them late to avoid re-entering. | 542 | * applying to them. We EOI them late to avoid re-entering. |
543 | * We mark IPI's with SA_INTERRUPT as they must run with | 543 | * We mark IPI's with IRQF_DISABLED as they must run with |
544 | * irqs disabled. | 544 | * irqs disabled. |
545 | */ | 545 | */ |
546 | mpic_eoi(mpic); | 546 | mpic_eoi(mpic); |
@@ -1027,14 +1027,17 @@ void mpic_request_ipis(void) | |||
1027 | 1027 | ||
1028 | printk("requesting IPIs ... \n"); | 1028 | printk("requesting IPIs ... \n"); |
1029 | 1029 | ||
1030 | /* IPIs are marked SA_INTERRUPT as they must run with irqs disabled */ | 1030 | /* |
1031 | request_irq(mpic->ipi_offset+0, mpic_ipi_action, SA_INTERRUPT, | 1031 | * IPIs are marked IRQF_DISABLED as they must run with irqs |
1032 | * disabled | ||
1033 | */ | ||
1034 | request_irq(mpic->ipi_offset+0, mpic_ipi_action, IRQF_DISABLED, | ||
1032 | "IPI0 (call function)", mpic); | 1035 | "IPI0 (call function)", mpic); |
1033 | request_irq(mpic->ipi_offset+1, mpic_ipi_action, SA_INTERRUPT, | 1036 | request_irq(mpic->ipi_offset+1, mpic_ipi_action, IRQF_DISABLED, |
1034 | "IPI1 (reschedule)", mpic); | 1037 | "IPI1 (reschedule)", mpic); |
1035 | request_irq(mpic->ipi_offset+2, mpic_ipi_action, SA_INTERRUPT, | 1038 | request_irq(mpic->ipi_offset+2, mpic_ipi_action, IRQF_DISABLED, |
1036 | "IPI2 (unused)", mpic); | 1039 | "IPI2 (unused)", mpic); |
1037 | request_irq(mpic->ipi_offset+3, mpic_ipi_action, SA_INTERRUPT, | 1040 | request_irq(mpic->ipi_offset+3, mpic_ipi_action, IRQF_DISABLED, |
1038 | "IPI3 (debugger break)", mpic); | 1041 | "IPI3 (debugger break)", mpic); |
1039 | 1042 | ||
1040 | printk("IPIs requested... \n"); | 1043 | printk("IPIs requested... \n"); |
diff --git a/include/asm-powerpc/floppy.h b/include/asm-powerpc/floppy.h index 9c8d91bf5a0d..fd242a22331c 100644 --- a/include/asm-powerpc/floppy.h +++ b/include/asm-powerpc/floppy.h | |||
@@ -27,7 +27,7 @@ | |||
27 | #define fd_disable_irq() disable_irq(FLOPPY_IRQ) | 27 | #define fd_disable_irq() disable_irq(FLOPPY_IRQ) |
28 | #define fd_cacheflush(addr,size) /* nothing */ | 28 | #define fd_cacheflush(addr,size) /* nothing */ |
29 | #define fd_request_irq() request_irq(FLOPPY_IRQ, floppy_interrupt, \ | 29 | #define fd_request_irq() request_irq(FLOPPY_IRQ, floppy_interrupt, \ |
30 | SA_INTERRUPT, "floppy", NULL) | 30 | IRQF_DISABLED, "floppy", NULL) |
31 | #define fd_free_irq() free_irq(FLOPPY_IRQ, NULL); | 31 | #define fd_free_irq() free_irq(FLOPPY_IRQ, NULL); |
32 | 32 | ||
33 | #ifdef CONFIG_PCI | 33 | #ifdef CONFIG_PCI |
diff --git a/include/asm-powerpc/signal.h b/include/asm-powerpc/signal.h index a4d8f8648541..a8c7babf4950 100644 --- a/include/asm-powerpc/signal.h +++ b/include/asm-powerpc/signal.h | |||
@@ -63,7 +63,6 @@ typedef struct { | |||
63 | * SA_FLAGS values: | 63 | * SA_FLAGS values: |
64 | * | 64 | * |
65 | * SA_ONSTACK is not currently supported, but will allow sigaltstack(2). | 65 | * SA_ONSTACK is not currently supported, but will allow sigaltstack(2). |
66 | * SA_INTERRUPT is a no-op, but left due to historical reasons. Use the | ||
67 | * SA_RESTART flag to get restarting signals (which were the default long ago) | 66 | * SA_RESTART flag to get restarting signals (which were the default long ago) |
68 | * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop. | 67 | * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop. |
69 | * SA_RESETHAND clears the handler when the signal is delivered. | 68 | * SA_RESETHAND clears the handler when the signal is delivered. |
@@ -83,7 +82,6 @@ typedef struct { | |||
83 | 82 | ||
84 | #define SA_NOMASK SA_NODEFER | 83 | #define SA_NOMASK SA_NODEFER |
85 | #define SA_ONESHOT SA_RESETHAND | 84 | #define SA_ONESHOT SA_RESETHAND |
86 | #define SA_INTERRUPT 0x20000000u /* dummy -- ignored */ | ||
87 | 85 | ||
88 | #define SA_RESTORER 0x04000000U | 86 | #define SA_RESTORER 0x04000000U |
89 | 87 | ||