aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/powerpc/platforms/cell/interrupt.c4
-rw-r--r--arch/powerpc/platforms/cell/spu_base.c6
-rw-r--r--arch/powerpc/platforms/powermac/pic.c2
-rw-r--r--arch/powerpc/platforms/powermac/smp.c2
-rw-r--r--arch/powerpc/platforms/pseries/xics.c11
-rw-r--r--arch/powerpc/sysdev/i8259.c2
-rw-r--r--arch/powerpc/sysdev/mpic.c15
-rw-r--r--include/asm-powerpc/floppy.h2
-rw-r--r--include/asm-powerpc/signal.h2
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
314void iic_request_IPIs(void) 314void 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
382static struct irqaction gatwick_cascade_action = { 382static 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
378static struct irqaction psurge_irqaction = { 378static 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
168static struct irqaction i8259_irqaction = { 168static 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