On Thu, 2010-07-29 at 11:16 +0100, Ian Campbell wrote:
> 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.campb...@citrix.com>
> Cc: Thomas Gleixner <t...@linutronix.de>

Acked-by: Benjamin Herrenschmidt <b...@kernel.crashing.org>

> Cc: Paul Mackerras <pau...@samba.org>
> Cc: Grant Likely <grant.lik...@secretlab.ca>
> Cc: linuxppc-...@ozlabs.org
> Cc: devicetree-disc...@lists.ozlabs.org
> ---
>  arch/powerpc/platforms/powermac/low_i2c.c |    5 +++--
>  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 06a137c..480567e 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)
>       /* Make sure IRQ is disabled */
>       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
>        * 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;
>  
>       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 3d4fc0f..35bc273 100644
> --- a/drivers/macintosh/via-pmu.c
> +++ b/drivers/macintosh/via-pmu.c
> @@ -400,11 +400,12 @@ static int __init via_pmu_start(void)
>               printk(KERN_ERR "via-pmu: can't map interrupt\n");
>               return -ENODEV;
>       }
> -     /* We set IRQF_TIMER because we don't want the interrupt to be disabled
> -      * between the 2 passes of driver suspend, we control our own disabling
> -      * for that one
> +     /* We set IRQF_NO_SUSPEND because we don't want the interrupt
> +      * to be disabled between the 2 passes of driver suspend, we
> +      * 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);
>               return -ENODEV;
>       }


_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to