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 | ||
