Commit a3a9f3b4 authored by Yong Zhang's avatar Yong Zhang Committed by Benjamin Herrenschmidt

powerpc/irq: Remove IRQF_DISABLED

Since commit [e58aa3d2: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.
Signed-off-by: default avatarYong Zhang <yong.zhang0@gmail.com>
Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
Acked-by: default avatarGeoff Levand <geoff@infradead.org>
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent 1c8ee733
...@@ -108,10 +108,10 @@ static int fd_request_irq(void) ...@@ -108,10 +108,10 @@ static int fd_request_irq(void)
{ {
if (can_use_virtual_dma) if (can_use_virtual_dma)
return request_irq(FLOPPY_IRQ, floppy_hardint, return request_irq(FLOPPY_IRQ, floppy_hardint,
IRQF_DISABLED, "floppy", NULL); 0, "floppy", NULL);
else else
return request_irq(FLOPPY_IRQ, floppy_interrupt, return request_irq(FLOPPY_IRQ, floppy_interrupt,
IRQF_DISABLED, "floppy", NULL); 0, "floppy", NULL);
} }
static int vdma_dma_setup(char *addr, unsigned long size, int mode, int io) static int vdma_dma_setup(char *addr, unsigned long size, int mode, int io)
......
...@@ -15,8 +15,8 @@ ...@@ -15,8 +15,8 @@
#define DEFAULT_PRIORITY 5 #define DEFAULT_PRIORITY 5
/* /*
* Mark IPIs as higher priority so we can take them inside interrupts that * Mark IPIs as higher priority so we can take them inside interrupts
* arent marked IRQF_DISABLED * FIXME: still true now?
*/ */
#define IPI_PRIORITY 4 #define IPI_PRIORITY 4
......
...@@ -187,7 +187,7 @@ int smp_request_message_ipi(int virq, int msg) ...@@ -187,7 +187,7 @@ int smp_request_message_ipi(int virq, int msg)
return 1; return 1;
} }
#endif #endif
err = request_irq(virq, smp_ipi_action[msg], IRQF_DISABLED|IRQF_PERCPU, err = request_irq(virq, smp_ipi_action[msg], IRQF_PERCPU,
smp_ipi_name[msg], 0); smp_ipi_name[msg], 0);
WARN(err < 0, "unable to request_irq %d for %s (rc %d)\n", WARN(err < 0, "unable to request_irq %d for %s (rc %d)\n",
virq, smp_ipi_name[msg], err); virq, smp_ipi_name[msg], err);
......
...@@ -230,7 +230,7 @@ static int __init beat_register_event(void) ...@@ -230,7 +230,7 @@ static int __init beat_register_event(void)
} }
ev->virq = virq; ev->virq = virq;
rc = request_irq(virq, ev->handler, IRQF_DISABLED, rc = request_irq(virq, ev->handler, 0,
ev->typecode, NULL); ev->typecode, NULL);
if (rc != 0) { if (rc != 0) {
printk(KERN_ERR "Beat: failed to request virtual IRQ" printk(KERN_ERR "Beat: failed to request virtual IRQ"
......
...@@ -514,7 +514,7 @@ static __init int celleb_setup_pciex(struct device_node *node, ...@@ -514,7 +514,7 @@ static __init int celleb_setup_pciex(struct device_node *node,
virq = irq_create_of_mapping(oirq.controller, oirq.specifier, virq = irq_create_of_mapping(oirq.controller, oirq.specifier,
oirq.size); oirq.size);
if (request_irq(virq, pciex_handle_internal_irq, if (request_irq(virq, pciex_handle_internal_irq,
IRQF_DISABLED, "pciex", (void *)phb)) { 0, "pciex", (void *)phb)) {
pr_err("PCIEXC:Failed to request irq\n"); pr_err("PCIEXC:Failed to request irq\n");
goto error; goto error;
} }
......
...@@ -412,8 +412,7 @@ static void cell_iommu_enable_hardware(struct cbe_iommu *iommu) ...@@ -412,8 +412,7 @@ static void cell_iommu_enable_hardware(struct cbe_iommu *iommu)
IIC_IRQ_IOEX_ATI | (iommu->nid << IIC_IRQ_NODE_SHIFT)); IIC_IRQ_IOEX_ATI | (iommu->nid << IIC_IRQ_NODE_SHIFT));
BUG_ON(virq == NO_IRQ); BUG_ON(virq == NO_IRQ);
ret = request_irq(virq, ioc_interrupt, IRQF_DISABLED, ret = request_irq(virq, ioc_interrupt, 0, iommu->name, iommu);
iommu->name, iommu);
BUG_ON(ret); BUG_ON(ret);
/* set the IOC segment table origin register (and turn on the iommu) */ /* set the IOC segment table origin register (and turn on the iommu) */
......
...@@ -392,7 +392,7 @@ static int __init cbe_init_pm_irq(void) ...@@ -392,7 +392,7 @@ static int __init cbe_init_pm_irq(void)
} }
rc = request_irq(irq, cbe_pm_irq, rc = request_irq(irq, cbe_pm_irq,
IRQF_DISABLED, "cbe-pmu-0", NULL); 0, "cbe-pmu-0", NULL);
if (rc) { if (rc) {
printk("ERROR: Request for irq on node %d failed\n", printk("ERROR: Request for irq on node %d failed\n",
node); node);
......
...@@ -442,8 +442,7 @@ static int spu_request_irqs(struct spu *spu) ...@@ -442,8 +442,7 @@ static int spu_request_irqs(struct spu *spu)
snprintf(spu->irq_c0, sizeof (spu->irq_c0), "spe%02d.0", snprintf(spu->irq_c0, sizeof (spu->irq_c0), "spe%02d.0",
spu->number); spu->number);
ret = request_irq(spu->irqs[0], spu_irq_class_0, ret = request_irq(spu->irqs[0], spu_irq_class_0,
IRQF_DISABLED, 0, spu->irq_c0, spu);
spu->irq_c0, spu);
if (ret) if (ret)
goto bail0; goto bail0;
} }
...@@ -451,8 +450,7 @@ static int spu_request_irqs(struct spu *spu) ...@@ -451,8 +450,7 @@ static int spu_request_irqs(struct spu *spu)
snprintf(spu->irq_c1, sizeof (spu->irq_c1), "spe%02d.1", snprintf(spu->irq_c1, sizeof (spu->irq_c1), "spe%02d.1",
spu->number); spu->number);
ret = request_irq(spu->irqs[1], spu_irq_class_1, ret = request_irq(spu->irqs[1], spu_irq_class_1,
IRQF_DISABLED, 0, spu->irq_c1, spu);
spu->irq_c1, spu);
if (ret) if (ret)
goto bail1; goto bail1;
} }
...@@ -460,8 +458,7 @@ static int spu_request_irqs(struct spu *spu) ...@@ -460,8 +458,7 @@ static int spu_request_irqs(struct spu *spu)
snprintf(spu->irq_c2, sizeof (spu->irq_c2), "spe%02d.2", snprintf(spu->irq_c2, sizeof (spu->irq_c2), "spe%02d.2",
spu->number); spu->number);
ret = request_irq(spu->irqs[2], spu_irq_class_2, ret = request_irq(spu->irqs[2], spu_irq_class_2,
IRQF_DISABLED, 0, spu->irq_c2, spu);
spu->irq_c2, spu);
if (ret) if (ret)
goto bail2; goto bail2;
} }
......
...@@ -272,7 +272,6 @@ static struct irqaction xmon_action = { ...@@ -272,7 +272,6 @@ static struct irqaction xmon_action = {
static struct irqaction gatwick_cascade_action = { static struct irqaction gatwick_cascade_action = {
.handler = gatwick_action, .handler = gatwick_action,
.flags = IRQF_DISABLED,
.name = "cascade", .name = "cascade",
}; };
......
...@@ -200,7 +200,7 @@ static int psurge_secondary_ipi_init(void) ...@@ -200,7 +200,7 @@ static int psurge_secondary_ipi_init(void)
if (psurge_secondary_virq) if (psurge_secondary_virq)
rc = request_irq(psurge_secondary_virq, psurge_ipi_intr, rc = request_irq(psurge_secondary_virq, psurge_ipi_intr,
IRQF_DISABLED|IRQF_PERCPU, "IPI", NULL); IRQF_PERCPU, "IPI", NULL);
if (rc) if (rc)
pr_err("Failed to setup secondary cpu IPI\n"); pr_err("Failed to setup secondary cpu IPI\n");
...@@ -408,7 +408,7 @@ static int __init smp_psurge_kick_cpu(int nr) ...@@ -408,7 +408,7 @@ static int __init smp_psurge_kick_cpu(int nr)
static struct irqaction psurge_irqaction = { static struct irqaction psurge_irqaction = {
.handler = psurge_ipi_intr, .handler = psurge_ipi_intr,
.flags = IRQF_DISABLED|IRQF_PERCPU, .flags = IRQF_PERCPU,
.name = "primary IPI", .name = "primary IPI",
}; };
......
...@@ -825,7 +825,7 @@ static int ps3_probe_thread(void *data) ...@@ -825,7 +825,7 @@ static int ps3_probe_thread(void *data)
spin_lock_init(&dev.lock); spin_lock_init(&dev.lock);
res = request_irq(irq, ps3_notification_interrupt, IRQF_DISABLED, res = request_irq(irq, ps3_notification_interrupt, 0,
"ps3_notification", &dev); "ps3_notification", &dev);
if (res) { if (res) {
pr_err("%s:%u: request_irq failed %d\n", __func__, __LINE__, pr_err("%s:%u: request_irq failed %d\n", __func__, __LINE__,
......
...@@ -800,8 +800,6 @@ static void mpic_end_ipi(struct irq_data *d) ...@@ -800,8 +800,6 @@ static void mpic_end_ipi(struct irq_data *d)
* IPIs are marked IRQ_PER_CPU. This has the side effect of * IPIs are marked IRQ_PER_CPU. This has the side effect of
* preventing the IRQ_PENDING/IRQ_INPROGRESS logic from * preventing the IRQ_PENDING/IRQ_INPROGRESS logic from
* applying to them. We EOI them late to avoid re-entering. * applying to them. We EOI them late to avoid re-entering.
* We mark IPI's with IRQF_DISABLED as they must run with
* irqs disabled.
*/ */
mpic_eoi(mpic); mpic_eoi(mpic);
} }
......
...@@ -115,7 +115,7 @@ static int __init ppc4xx_l2c_probe(void) ...@@ -115,7 +115,7 @@ static int __init ppc4xx_l2c_probe(void)
} }
/* Install error handler */ /* Install error handler */
if (request_irq(irq, l2c_error_handler, IRQF_DISABLED, "L2C", 0) < 0) { if (request_irq(irq, l2c_error_handler, 0, "L2C", 0) < 0) {
printk(KERN_ERR "Cannot install L2C error handler" printk(KERN_ERR "Cannot install L2C error handler"
", cache is not enabled\n"); ", cache is not enabled\n");
of_node_put(np); of_node_put(np);
......
...@@ -134,11 +134,10 @@ static void xics_request_ipi(void) ...@@ -134,11 +134,10 @@ static void xics_request_ipi(void)
BUG_ON(ipi == NO_IRQ); BUG_ON(ipi == NO_IRQ);
/* /*
* IPIs are marked IRQF_DISABLED as they must run with irqs * IPIs are marked IRQF_PERCPU. The handler was set in map.
* disabled, and PERCPU. The handler was set in map.
*/ */
BUG_ON(request_irq(ipi, icp_ops->ipi_action, BUG_ON(request_irq(ipi, icp_ops->ipi_action,
IRQF_DISABLED|IRQF_PERCPU, "IPI", NULL)); IRQF_PERCPU, "IPI", NULL));
} }
int __init xics_smp_probe(void) int __init xics_smp_probe(void)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment