diff mbox

ARM: OMAP2+: PM: fix IRQ_NOAUTOEN removal by mis-merge

Message ID 1340978614-12558-1-git-send-email-khilman@ti.com (mailing list archive)
State New, archived
Headers show

Commit Message

Kevin Hilman June 29, 2012, 2:03 p.m. UTC
commit 99b59df0 (ARM: OMAP3: PM: fix shared PRCM interrupt leave
disabled at boot) added IRQ_NOAUTOEN to the PRCM interrupt so it could
be enabled later if needed.  However, this commit was partially undone
when merging the IO daisy chain rework in 9a17d88e (Merge tag
'omap-devel-c-for-3.6' of
git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into
devel-pm

This patch adds back the IRQ_NOAUTOEN fix that was removed by the
merge resolution.

This also fixes the following boot-time warning that showed up after
merging the IO daisy chain rework:

[    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] [<c001a114>] (unwind_backtrace+0x0/0xf0) from [<c003c7e8>] (warn_slowpath_common+0x4c/0x64)
[    3.873687] [<c003c7e8>] (warn_slowpath_common+0x4c/0x64) from [<c003c894>] (warn_slowpath_fmt+0x30/0x40)
[    3.883819] [<c003c894>] (warn_slowpath_fmt+0x30/0x40) from [<c00993e0>] (enable_irq+0x3c/0x78)
[    3.893035] [<c00993e0>] (enable_irq+0x3c/0x78) from [<c067b1e8>] (omap3_pm_init+0x328/0x5f4)
[    3.902099] [<c067b1e8>] (omap3_pm_init+0x328/0x5f4) from [<c067161c>] (init_machine_late+0x1c/0x28)
[    3.911773] [<c067161c>] (init_machine_late+0x1c/0x28) from [<c0008648>] (do_one_initcall+0x34/0x178)
[    3.921539] [<c0008648>] (do_one_initcall+0x34/0x178) from [<c066e8f4>] (kernel_init+0xfc/0x1c0)
[    3.930847] [<c066e8f4>] (kernel_init+0xfc/0x1c0) from [<c00140b0>] (kernel_thread_exit+0x0/0x8)
[    3.940246] ---[ end trace 55a0ad32ca2ca682 ]---

Reported-by: Javier Martinez Canillas <javier@dowhile0.org>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
---
Tony, this applies on top of your current devel-pm branch.

 arch/arm/mach-omap2/prm2xxx_3xxx.c |    9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

Comments

Tony Lindgren June 29, 2012, 2:20 p.m. UTC | #1
* Kevin Hilman <khilman@ti.com> [120629 07:08]:
> commit 99b59df0 (ARM: OMAP3: PM: fix shared PRCM interrupt leave
> disabled at boot) added IRQ_NOAUTOEN to the PRCM interrupt so it could
> be enabled later if needed.  However, this commit was partially undone
> when merging the IO daisy chain rework in 9a17d88e (Merge tag
> 'omap-devel-c-for-3.6' of
> git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into
> devel-pm
> 
> This patch adds back the IRQ_NOAUTOEN fix that was removed by the
> merge resolution.
> 
> This also fixes the following boot-time warning that showed up after
> merging the IO daisy chain rework:
> 
> [    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] [<c001a114>] (unwind_backtrace+0x0/0xf0) from [<c003c7e8>] (warn_slowpath_common+0x4c/0x64)
> [    3.873687] [<c003c7e8>] (warn_slowpath_common+0x4c/0x64) from [<c003c894>] (warn_slowpath_fmt+0x30/0x40)
> [    3.883819] [<c003c894>] (warn_slowpath_fmt+0x30/0x40) from [<c00993e0>] (enable_irq+0x3c/0x78)
> [    3.893035] [<c00993e0>] (enable_irq+0x3c/0x78) from [<c067b1e8>] (omap3_pm_init+0x328/0x5f4)
> [    3.902099] [<c067b1e8>] (omap3_pm_init+0x328/0x5f4) from [<c067161c>] (init_machine_late+0x1c/0x28)
> [    3.911773] [<c067161c>] (init_machine_late+0x1c/0x28) from [<c0008648>] (do_one_initcall+0x34/0x178)
> [    3.921539] [<c0008648>] (do_one_initcall+0x34/0x178) from [<c066e8f4>] (kernel_init+0xfc/0x1c0)
> [    3.930847] [<c066e8f4>] (kernel_init+0xfc/0x1c0) from [<c00140b0>] (kernel_thread_exit+0x0/0x8)
> [    3.940246] ---[ end trace 55a0ad32ca2ca682 ]---
> 
> Reported-by: Javier Martinez Canillas <javier@dowhile0.org>
> Cc: Paul Walmsley <paul@pwsan.com>
> Signed-off-by: Kevin Hilman <khilman@ti.com>
> ---
> Tony, this applies on top of your current devel-pm branch.

Thanks applying into devel-pm.

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Paul Walmsley June 29, 2012, 7:26 p.m. UTC | #2
On Fri, 29 Jun 2012, Kevin Hilman wrote:

> commit 99b59df0 (ARM: OMAP3: PM: fix shared PRCM interrupt leave
> disabled at boot) added IRQ_NOAUTOEN to the PRCM interrupt so it could
> be enabled later if needed.  However, this commit was partially undone
> when merging the IO daisy chain rework in 9a17d88e (Merge tag
> 'omap-devel-c-for-3.6' of
> git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into
> devel-pm
> 
> This patch adds back the IRQ_NOAUTOEN fix that was removed by the
> merge resolution.
> 
> This also fixes the following boot-time warning that showed up after
> merging the IO daisy chain rework:
> 
> [    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] [<c001a114>] (unwind_backtrace+0x0/0xf0) from [<c003c7e8>] (warn_slowpath_common+0x4c/0x64)
> [    3.873687] [<c003c7e8>] (warn_slowpath_common+0x4c/0x64) from [<c003c894>] (warn_slowpath_fmt+0x30/0x40)
> [    3.883819] [<c003c894>] (warn_slowpath_fmt+0x30/0x40) from [<c00993e0>] (enable_irq+0x3c/0x78)
> [    3.893035] [<c00993e0>] (enable_irq+0x3c/0x78) from [<c067b1e8>] (omap3_pm_init+0x328/0x5f4)
> [    3.902099] [<c067b1e8>] (omap3_pm_init+0x328/0x5f4) from [<c067161c>] (init_machine_late+0x1c/0x28)
> [    3.911773] [<c067161c>] (init_machine_late+0x1c/0x28) from [<c0008648>] (do_one_initcall+0x34/0x178)
> [    3.921539] [<c0008648>] (do_one_initcall+0x34/0x178) from [<c066e8f4>] (kernel_init+0xfc/0x1c0)
> [    3.930847] [<c066e8f4>] (kernel_init+0xfc/0x1c0) from [<c00140b0>] (kernel_thread_exit+0x0/0x8)
> [    3.940246] ---[ end trace 55a0ad32ca2ca682 ]---
> 
> Reported-by: Javier Martinez Canillas <javier@dowhile0.org>
> Cc: Paul Walmsley <paul@pwsan.com>
> Signed-off-by: Kevin Hilman <khilman@ti.com>

Acked-by: Paul Walmsley <paul@pwsan.com>

Looks indeed like I mismerged it.  One thing to note however is that the 
warning that you quoted didn't show up during any of the boot testing of 
that branch:

http://www.pwsan.com/omap/bootlogs/20120621/io_chain_devel_3.6__fafcdd53220f44d7ae2f06a9ce20c8d550df2d9b/

So I'm guessing that the patch that triggered the warning was something 
else that got merged in the meantime.


- Paul
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/arm/mach-omap2/prm2xxx_3xxx.c b/arch/arm/mach-omap2/prm2xxx_3xxx.c
index e10fd1e..a0309de 100644
--- a/arch/arm/mach-omap2/prm2xxx_3xxx.c
+++ b/arch/arm/mach-omap2/prm2xxx_3xxx.c
@@ -351,11 +351,16 @@  static void __init omap3xxx_prm_enable_io_wakeup(void)
 
 static int __init omap3xxx_prcm_init(void)
 {
+	int ret = 0;
+
 	if (cpu_is_omap34xx()) {
 		omap3xxx_prm_enable_io_wakeup();
-		return omap_prcm_register_chain_handler(&omap3_prcm_irq_setup);
+		ret = omap_prcm_register_chain_handler(&omap3_prcm_irq_setup);
+		if (!ret)
+			irq_set_status_flags(omap_prcm_event_to_irq("io"),
+					     IRQ_NOAUTOEN);
 	}
 
-	return 0;
+	return ret;
 }
 subsys_initcall(omap3xxx_prcm_init);