OSDN Git Service

ARM: OMAP3: PM: fix shared PRCM interrupts: leave disabled at boot
authorKevin Hilman <khilman@ti.com>
Fri, 27 Apr 2012 23:05:51 +0000 (16:05 -0700)
committerKevin Hilman <khilman@ti.com>
Fri, 11 May 2012 23:46:17 +0000 (16:46 -0700)
commit99b59df04899a048d1a3ed8bc2b1263779816868
treefbf01d72bb913ccec195c11b98d5e2efa6c86465
parente3c83c2db458f1e040c5b4bb19773c458e0240a8
ARM: OMAP3: PM: fix shared PRCM interrupts: leave disabled at boot

By default, request_irq() will auto-enable the requested IRQ.

For PRCM interrupts, we may want to avoid that until the PM core code
is fully ready to handle the interrupts.  This is particularily true
for IO pad interrupts on OMAP3, which are shared between the hwmod
core and the PRM core.

In order to avoid PRCM IO-chain interrupts until the PM core is ready
to handle them, ready, set the IRQ_NOAUTOEN flag for the PRCM IO-chain
interrupt,  which means it will remain disabled after request_irq().

Then, explicitly enable the PRCM interrupts after the request_irq() in
the PM core (but not in the hwmod core.)

Special thanks to Tero Kristo for suggesting to isolate the fix to
only the IO-chain interrupt on OMAP3 instead of all PRCM interrupts.

Cc: Tero Kristo <t-kristo@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
arch/arm/mach-omap2/pm34xx.c
arch/arm/mach-omap2/prm2xxx_3xxx.c