mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 21:21:41 +00:00
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: Yong Zhang <yong.zhang0@gmail.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Geoff Levand <geoff@infradead.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
1c8ee73395
commit
a3a9f3b47d
@ -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 @@
|
|||||||
#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)
|
|||||||
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)
|
|||||||
}
|
}
|
||||||
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,
|
|||||||
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)
|
|||||||
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)
|
|||||||
}
|
}
|
||||||
|
|
||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
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 = {
|
|||||||
|
|
||||||
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)
|
|||||||
|
|
||||||
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)
|
|||||||
|
|
||||||
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)
|
|||||||
|
|
||||||
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)
|
|||||||
* 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)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* 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)
|
|||||||
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)
|
||||||
|
Loading…
Reference in New Issue
Block a user