aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/platforms')
-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
5 files changed, 14 insertions, 11 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