diff options
author | Ian Campbell <ian.campbell@citrix.com> | 2010-07-29 06:16:34 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2010-07-29 07:24:57 -0400 |
commit | ba461f094bab2dc09487816b9dfce845796b259d (patch) | |
tree | 4e175680cef1d200b854d930f39f9ca5af4cbd6f | |
parent | 2dd9320305416c171087d5347a6c908ae22c6be1 (diff) |
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>
-rw-r--r-- | arch/powerpc/platforms/powermac/low_i2c.c | 5 | ||||
-rw-r--r-- | drivers/macintosh/via-pmu.c | 9 |
2 files changed, 8 insertions, 6 deletions
diff --git a/arch/powerpc/platforms/powermac/low_i2c.c b/arch/powerpc/platforms/powermac/low_i2c.c index 06a137c5b8bb..480567e5fa9a 100644 --- a/arch/powerpc/platforms/powermac/low_i2c.c +++ b/arch/powerpc/platforms/powermac/low_i2c.c | |||
@@ -542,11 +542,12 @@ static struct pmac_i2c_host_kw *__init kw_i2c_host_init(struct device_node *np) | |||
542 | /* Make sure IRQ is disabled */ | 542 | /* Make sure IRQ is disabled */ |
543 | kw_write_reg(reg_ier, 0); | 543 | kw_write_reg(reg_ier, 0); |
544 | 544 | ||
545 | /* Request chip interrupt. We set IRQF_TIMER because we don't | 545 | /* Request chip interrupt. We set IRQF_NO_SUSPEND because we don't |
546 | * want that interrupt disabled between the 2 passes of driver | 546 | * want that interrupt disabled between the 2 passes of driver |
547 | * suspend or we'll have issues running the pfuncs | 547 | * suspend or we'll have issues running the pfuncs |
548 | */ | 548 | */ |
549 | if (request_irq(host->irq, kw_i2c_irq, IRQF_TIMER, "keywest i2c", host)) | 549 | if (request_irq(host->irq, kw_i2c_irq, IRQF_NO_SUSPEND, |
550 | "keywest i2c", host)) | ||
550 | host->irq = NO_IRQ; | 551 | host->irq = NO_IRQ; |
551 | 552 | ||
552 | printk(KERN_INFO "KeyWest i2c @0x%08x irq %d %s\n", | 553 | printk(KERN_INFO "KeyWest i2c @0x%08x irq %d %s\n", |
diff --git a/drivers/macintosh/via-pmu.c b/drivers/macintosh/via-pmu.c index 3d4fc0f7b00b..35bc2737412f 100644 --- a/drivers/macintosh/via-pmu.c +++ b/drivers/macintosh/via-pmu.c | |||
@@ -400,11 +400,12 @@ static int __init via_pmu_start(void) | |||
400 | printk(KERN_ERR "via-pmu: can't map interrupt\n"); | 400 | printk(KERN_ERR "via-pmu: can't map interrupt\n"); |
401 | return -ENODEV; | 401 | return -ENODEV; |
402 | } | 402 | } |
403 | /* We set IRQF_TIMER because we don't want the interrupt to be disabled | 403 | /* We set IRQF_NO_SUSPEND because we don't want the interrupt |
404 | * between the 2 passes of driver suspend, we control our own disabling | 404 | * to be disabled between the 2 passes of driver suspend, we |
405 | * for that one | 405 | * control our own disabling for that one |
406 | */ | 406 | */ |
407 | if (request_irq(irq, via_pmu_interrupt, IRQF_TIMER, "VIA-PMU", (void *)0)) { | 407 | if (request_irq(irq, via_pmu_interrupt, IRQF_NO_SUSPEND, |
408 | "VIA-PMU", (void *)0)) { | ||
408 | printk(KERN_ERR "via-pmu: can't request irq %d\n", irq); | 409 | printk(KERN_ERR "via-pmu: can't request irq %d\n", irq); |
409 | return -ENODEV; | 410 | return -ENODEV; |
410 | } | 411 | } |