powerpc: Use IRQF_NO_SUSPEND not IRQF_TIMER for non-timer interrupts
kw_i2c_irq and via_pmu_interrupt are not timer interrupts and therefore should not use IRQF_TIMER. Use the recently introduced IRQF_NO_SUSPEND instead since that is the actual desired behaviour. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Grant Likely <grant.likely@secretlab.ca> Cc: linuxppc-dev@ozlabs.org Cc: devicetree-discuss@lists.ozlabs.org LKML-Reference: <1280398595-29708-3-git-send-email-ian.campbell@citrix.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
2dd9320305
commit
ba461f094b
@ -542,11 +542,12 @@ static struct pmac_i2c_host_kw *__init kw_i2c_host_init(struct device_node *np)
|
|||||||
/* Make sure IRQ is disabled */
|
/* Make sure IRQ is disabled */
|
||||||
kw_write_reg(reg_ier, 0);
|
kw_write_reg(reg_ier, 0);
|
||||||
|
|
||||||
/* Request chip interrupt. We set IRQF_TIMER because we don't
|
/* Request chip interrupt. We set IRQF_NO_SUSPEND because we don't
|
||||||
* want that interrupt disabled between the 2 passes of driver
|
* want that interrupt disabled between the 2 passes of driver
|
||||||
* suspend or we'll have issues running the pfuncs
|
* suspend or we'll have issues running the pfuncs
|
||||||
*/
|
*/
|
||||||
if (request_irq(host->irq, kw_i2c_irq, IRQF_TIMER, "keywest i2c", host))
|
if (request_irq(host->irq, kw_i2c_irq, IRQF_NO_SUSPEND,
|
||||||
|
"keywest i2c", host))
|
||||||
host->irq = NO_IRQ;
|
host->irq = NO_IRQ;
|
||||||
|
|
||||||
printk(KERN_INFO "KeyWest i2c @0x%08x irq %d %s\n",
|
printk(KERN_INFO "KeyWest i2c @0x%08x irq %d %s\n",
|
||||||
|
@ -400,11 +400,12 @@ static int __init via_pmu_start(void)
|
|||||||
printk(KERN_ERR "via-pmu: can't map interrupt\n");
|
printk(KERN_ERR "via-pmu: can't map interrupt\n");
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
/* We set IRQF_TIMER because we don't want the interrupt to be disabled
|
/* We set IRQF_NO_SUSPEND because we don't want the interrupt
|
||||||
* between the 2 passes of driver suspend, we control our own disabling
|
* to be disabled between the 2 passes of driver suspend, we
|
||||||
* for that one
|
* control our own disabling for that one
|
||||||
*/
|
*/
|
||||||
if (request_irq(irq, via_pmu_interrupt, IRQF_TIMER, "VIA-PMU", (void *)0)) {
|
if (request_irq(irq, via_pmu_interrupt, IRQF_NO_SUSPEND,
|
||||||
|
"VIA-PMU", (void *)0)) {
|
||||||
printk(KERN_ERR "via-pmu: can't request irq %d\n", irq);
|
printk(KERN_ERR "via-pmu: can't request irq %d\n", irq);
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user