From mboxrd@z Thu Jan 1 00:00:00 1970 From: javier@dowhile0.org (Javier Martinez Canillas) Date: Fri, 29 Jun 2012 03:25:23 +0200 Subject: [PATCH 1/1] ARM: OMAP3: PM: don't explicitly enable the IO-chain interrupt Message-ID: <1340933123-30401-1-git-send-email-javier@dowhile0.org> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org commit 99b59df0 ARM: OMAP3: PM: fix shared PRCM interrupt leave disabled at boot set the IRQ_NOAUTOEN flag to the PCRM IO-chain irq to avoid this interrupt until the PM core code is ready to handle the interrupts. It seems that this is not needed anymore after the OMAP PRCM I/O chain code re-implementation introduced on merge commit: 9a17d88 Merge tag 'omap-devel-c-for-3.6' of git://git.kernel.org/pub/scm/linux/kernel/ The IRQ_NOAUTOEN flags is not set for the PRCM I/O irq anymore on the new implementation. This has the effect that a request_irq() for the PRCM I/O chain irq will auto-enable the requested IRQ and a later call to enable_irq() will lead to the following warning: [ 3.849334] WARNING: at kernel/irq/manage.c:436 enable_irq+0x3c/0x78() [ 3.856231] Unbalanced enable for IRQ 297 [ 3.860473] Modules linked in: [ 3.863739] [] (unwind_backtrace+0x0/0xf0) from [] (warn_slowpath_common+0x4c/0x64) [ 3.873687] [] (warn_slowpath_common+0x4c/0x64) from [] (warn_slowpath_fmt+0x30/0x40) [ 3.883819] [] (warn_slowpath_fmt+0x30/0x40) from [] (enable_irq+0x3c/0x78) [ 3.893035] [] (enable_irq+0x3c/0x78) from [] (omap3_pm_init+0x328/0x5f4) [ 3.902099] [] (omap3_pm_init+0x328/0x5f4) from [] (init_machine_late+0x1c/0x28) [ 3.911773] [] (init_machine_late+0x1c/0x28) from [] (do_one_initcall+0x34/0x178) [ 3.921539] [] (do_one_initcall+0x34/0x178) from [] (kernel_init+0xfc/0x1c0) [ 3.930847] [] (kernel_init+0xfc/0x1c0) from [] (kernel_thread_exit+0x0/0x8) [ 3.940246] ---[ end trace 55a0ad32ca2ca682 ]--- Signed-off-by: Javier Martinez Canillas --- This patch was generated on top of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap.git branch: master arch/arm/mach-omap2/pm34xx.c | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c index e4fc88c..6f14e26 100644 --- a/arch/arm/mach-omap2/pm34xx.c +++ b/arch/arm/mach-omap2/pm34xx.c @@ -693,7 +693,6 @@ int __init omap3_pm_init(void) ret = request_irq(omap_prcm_event_to_irq("io"), _prcm_int_handle_io, IRQF_SHARED | IRQF_NO_SUSPEND, "pm_io", omap3_pm_init); - enable_irq(omap_prcm_event_to_irq("io")); if (ret) { pr_err("pm: Failed to request pm_io irq\n"); -- 1.7.7.6