Commit ba461f09 authored by Ian Campbell's avatar Ian Campbell Committed by Thomas Gleixner

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: default avatarIan 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: default avatarThomas Gleixner <tglx@linutronix.de>
parent 2dd93203
...@@ -542,11 +542,12 @@ static struct pmac_i2c_host_kw *__init kw_i2c_host_init(struct device_node *np) ...@@ -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) ...@@ -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;
} }
......
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