omap fix for 2.6.33-rc8
Subsystems (3)
Tony Lindgren
maintainerHi Linus,
Please pull one more omap fix from:
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git omap-fixes-for-linus
Regards,
Tony
The following changes since commit 724e6d3fe8003c3f60bf404bf22e4e331327c596:
Linus Torvalds (1):
Linux 2.6.33-rc8
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git omap-fixes-for-linus
Ranjith Lohithakshan (1):
omap: Remove DEBUG_FS dependency for mux name checking
arch/arm/mach-omap2/mux.c | 12 +++++------- 1 files changed, 5 insertions(+), 7 deletions(-)
From: Ranjith Lohithakshan <[email protected]>
Date: Wed, 17 Feb 2010 17:17:01 +0000
Subject: [PATCH] omap: Remove DEBUG_FS dependency for mux name checking
The check for a valid mux name should be performed regardless of whether DEBUG_FS is enabled or not. Otherwise without DEBUG_FS, we get:
Unable to handle kernel NULL pointer dereference at virtual address 00000000 pgd = c0004000 [00000000] *pgd=00000000 Internal error: Oops: 5 [#1] last sysfs file: Modules linked in: CPU: 0 Not tainted (2.6.33-rc8 #10) PC is at strcmp+0x18/0x40 LR is at omap_mux_init_signal+0x68/0x14c
...
This fixes the issue currently seen with boards not booting up if DEBUG_FS is not enabled in defconfig.
Note that the earlier ifndef + ifdef now becomes simpler ifdef else:
If CONFIG_OMAP_MUX is selected, we use pin names. If it's not selected, we only want the GPIO to mux register mapping.
arch/arm/mach-omap2/mux.c +5 -7
@@ -961,16 +961,14 @@ static void __init omap_mux_init_list(struct omap_mux *superset)while (superset->reg_offset !=OMAP_MUX_TERMINATOR ) {struct omap_mux *entry; -#ifndef CONFIG_OMAP_MUX -/* Skip pins that are not muxed as GPIO by bootloader */ -if (!OMAP_MODE_GPIO (omap_mux_read (superset->reg_offset))) { +#ifdef CONFIG_OMAP_MUX +if (!superset->muxnames || !superset->muxnames[0 ]) { superset++;continue ; } -#endif - -#if defined(CONFIG_OMAP_MUX ) && defined(CONFIG_DEBUG_FS ) -if (!superset->muxnames || !superset->muxnames[0 ]) { +#else +/* Skip pins that are not muxed as GPIO by bootloader */ +if (!OMAP_MODE_GPIO (omap_mux_read (superset->reg_offset))) { superset++;continue ; }
The following changes since commit 724e6d3fe8003c3f60bf404bf22e4e331327c596:
Linus Torvalds (1):
Linux 2.6.33-rc8
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git omap-fixes-for-linus
Ranjith Lohithakshan (1):
omap: Remove DEBUG_FS dependency for mux name checking
arch/arm/mach-omap2/mux.c | 12 +++++------- 1 files changed, 5 insertions(+), 7 deletions(-)
From: Ranjith Lohithakshan <[email protected]>
Date: Wed, 17 Feb 2010 17:17:01 +0000
Subject: [PATCH] omap: Remove DEBUG_FS dependency for mux name checking
The check for a valid mux name should be performed regardless of whether DEBUG_FS is enabled or not. Otherwise without DEBUG_FS, we get:
Unable to handle kernel NULL pointer dereference at virtual address 00000000 pgd = c0004000 [00000000] *pgd=00000000 Internal error: Oops: 5 [#1] last sysfs file: Modules linked in: CPU: 0 Not tainted (2.6.33-rc8 #10) PC is at strcmp+0x18/0x40 LR is at omap_mux_init_signal+0x68/0x14c
...
This fixes the issue currently seen with boards not booting up if DEBUG_FS is not enabled in defconfig.
Note that the earlier ifndef + ifdef now becomes simpler ifdef else:
If CONFIG_OMAP_MUX is selected, we use pin names. If it's not selected, we only want the GPIO to mux register mapping.
arch/arm/mach-omap2/mux.c +5 -7
@@ -961,16 +961,14 @@ static void __init omap_mux_init_list(struct omap_mux *superset)while (superset->reg_offset !=OMAP_MUX_TERMINATOR ) {struct omap_mux *entry; -#ifndef CONFIG_OMAP_MUX -/* Skip pins that are not muxed as GPIO by bootloader */ -if (!OMAP_MODE_GPIO (omap_mux_read (superset->reg_offset))) { +#ifdef CONFIG_OMAP_MUX +if (!superset->muxnames || !superset->muxnames[0 ]) { superset++;continue ; } -#endif - -#if defined(CONFIG_OMAP_MUX ) && defined(CONFIG_DEBUG_FS ) -if (!superset->muxnames || !superset->muxnames[0 ]) { +#else +/* Skip pins that are not muxed as GPIO by bootloader */ +if (!OMAP_MODE_GPIO (omap_mux_read (superset->reg_offset))) { superset++;continue ; }