aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2010-07-29 06:16:34 -0400
committerThomas Gleixner <tglx@linutronix.de>2010-07-29 07:24:57 -0400
commitba461f094bab2dc09487816b9dfce845796b259d (patch)
tree4e175680cef1d200b854d930f39f9ca5af4cbd6f
parent2dd9320305416c171087d5347a6c908ae22c6be1 (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.c5
-rw-r--r--drivers/macintosh/via-pmu.c9
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 }