Re: [PATCH 1/7] OMAP24xx/25xx clock: init osc_ck, sys_ck internal lists early
On Thu, 23 Apr 2009, Tony Lindgren wrote: * Paul Walmsley p...@pwsan.com [090423 20:13]: On Thu, 23 Apr 2009, Tony Lindgren wrote: * Russell King - ARM Linux li...@arm.linux.org.uk [090423 15:26]: On Thu, Apr 23, 2009 at 11:00:31AM -0700, Tony Lindgren wrote: * Paul Walmsley p...@pwsan.com [090423 01:35]: Hello Russell, On Thu, 23 Apr 2009, Russell King - ARM Linux wrote: On Wed, Apr 22, 2009 at 08:01:29PM -0600, Paul Walmsley wrote: The patch also renames clk_init_one() to clk_preinit() to distinguish its function from clk_init() and the individual struct clk init functions. That's rather unnecessary. 'clk_init_one' is already unique. In the long run, it's clk_init that needs to go. Even if clk_init() were to disappear, the struct clk .init function pointer would still be present. clk-init() performs a very different kind of initialization than clk_init_one(). I'm OK doing the rename in this fix. The original naming can cause confusion while reading the code. Well I'm not, and I want to discuss it some more. And I'm sending Linus a pull request tonight, so I'm dropping the OMAP stuff from that. OK. Paul, can you please separate out the rename part into a separate patch so we only have a minimal fix then repost it here? That way we'll get the necessary fixes in and you guys can schedule other changes for next merge window. The omap-clock-fixes branch has been updated to remove the rename. Not that this should stop the discussion, but at least this should no longer prevent these needed fixes from going upstream. Care to post the updated patch here too? Temporay git branches are not too readable by most people.. Here you go: - Paul From: Paul Walmsley p...@pwsan.com Date: Wed, 22 Apr 2009 19:48:53 -0600 Subject: [PATCH] OMAP2xxx clock: pre-initialize struct clks early Commit 3f0a820c4c0b4670fb5f164baa5582e23c2ef118 breaks OMAP2xxx boot during initial propagate_rate() on osc_ck and sys_ck. Fix by pre-initializing all struct clks before running any other clock init code. Incorporates review comments from Russell King rmk+ker...@arm.linux.org.uk. Resolves 1Unable to handle kernel NULL pointer dereference at virtual address 1pgd = c0004000 1[] *pgd= Internal error: Oops: 5 [#1] Modules linked in: CPU: 0Not tainted (2.6.29-omap1 #37) PC is at propagate_rate+0x10/0x60 LR is at omap2_clk_init+0x30/0x218 ... Signed-off-by: Paul Walmsley p...@pwsan.com Tested-by: Jarkko Nikula jarkko.nik...@nokia.com Cc: Russell King rmk+ker...@arm.linux.org.uk --- arch/arm/mach-omap2/clock24xx.c |6 +++--- arch/arm/plat-omap/clock.c |7 +++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/arch/arm/mach-omap2/clock24xx.c b/arch/arm/mach-omap2/clock24xx.c index 1e839c5..984fb86 100644 --- a/arch/arm/mach-omap2/clock24xx.c +++ b/arch/arm/mach-omap2/clock24xx.c @@ -720,14 +720,14 @@ int __init omap2_clk_init(void) clk_init(omap2_clk_functions); + for (c = omap24xx_clks; c omap24xx_clks + ARRAY_SIZE(omap24xx_clks); c++) + clk_init_one(c-lk.clk); + osc_ck.rate = omap2_osc_clk_recalc(osc_ck); propagate_rate(osc_ck); sys_ck.rate = omap2_sys_clk_recalc(sys_ck); propagate_rate(sys_ck); - for (c = omap24xx_clks; c omap24xx_clks + ARRAY_SIZE(omap24xx_clks); c++) - clk_init_one(c-lk.clk); - cpu_mask = 0; if (cpu_is_omap2420()) cpu_mask |= CK_242X; diff --git a/arch/arm/plat-omap/clock.c b/arch/arm/plat-omap/clock.c index 2e06145..29efc27 100644 --- a/arch/arm/plat-omap/clock.c +++ b/arch/arm/plat-omap/clock.c @@ -239,6 +239,13 @@ void recalculate_root_clocks(void) } } +/** + * clk_init_one - initialize any fields in the struct clk before clk init + * @clk: struct clk * to initialize + * + * Initialize any struct clk fields needed before normal clk initialization + * can run. No return value. + */ void clk_init_one(struct clk *clk) { INIT_LIST_HEAD(clk-children); -- 1.6.3.rc1.51.gea0b7 -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/7] OMAP24xx/25xx clock: init osc_ck, sys_ck internal lists early
* Paul Walmsley p...@pwsan.com [090423 23:29]: On Thu, 23 Apr 2009, Tony Lindgren wrote: * Paul Walmsley p...@pwsan.com [090423 20:13]: On Thu, 23 Apr 2009, Tony Lindgren wrote: * Russell King - ARM Linux li...@arm.linux.org.uk [090423 15:26]: On Thu, Apr 23, 2009 at 11:00:31AM -0700, Tony Lindgren wrote: * Paul Walmsley p...@pwsan.com [090423 01:35]: Hello Russell, On Thu, 23 Apr 2009, Russell King - ARM Linux wrote: On Wed, Apr 22, 2009 at 08:01:29PM -0600, Paul Walmsley wrote: The patch also renames clk_init_one() to clk_preinit() to distinguish its function from clk_init() and the individual struct clk init functions. That's rather unnecessary. 'clk_init_one' is already unique. In the long run, it's clk_init that needs to go. Even if clk_init() were to disappear, the struct clk .init function pointer would still be present. clk-init() performs a very different kind of initialization than clk_init_one(). I'm OK doing the rename in this fix. The original naming can cause confusion while reading the code. Well I'm not, and I want to discuss it some more. And I'm sending Linus a pull request tonight, so I'm dropping the OMAP stuff from that. OK. Paul, can you please separate out the rename part into a separate patch so we only have a minimal fix then repost it here? That way we'll get the necessary fixes in and you guys can schedule other changes for next merge window. The omap-clock-fixes branch has been updated to remove the rename. Not that this should stop the discussion, but at least this should no longer prevent these needed fixes from going upstream. Care to post the updated patch here too? Temporay git branches are not too readable by most people.. Here you go: Thanks, I've updated omap-fixes again and will post a new pull request. Tony - Paul From: Paul Walmsley p...@pwsan.com Date: Wed, 22 Apr 2009 19:48:53 -0600 Subject: [PATCH] OMAP2xxx clock: pre-initialize struct clks early Commit 3f0a820c4c0b4670fb5f164baa5582e23c2ef118 breaks OMAP2xxx boot during initial propagate_rate() on osc_ck and sys_ck. Fix by pre-initializing all struct clks before running any other clock init code. Incorporates review comments from Russell King rmk+ker...@arm.linux.org.uk. Resolves 1Unable to handle kernel NULL pointer dereference at virtual address 1pgd = c0004000 1[] *pgd= Internal error: Oops: 5 [#1] Modules linked in: CPU: 0Not tainted (2.6.29-omap1 #37) PC is at propagate_rate+0x10/0x60 LR is at omap2_clk_init+0x30/0x218 ... Signed-off-by: Paul Walmsley p...@pwsan.com Tested-by: Jarkko Nikula jarkko.nik...@nokia.com Cc: Russell King rmk+ker...@arm.linux.org.uk --- arch/arm/mach-omap2/clock24xx.c |6 +++--- arch/arm/plat-omap/clock.c |7 +++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/arch/arm/mach-omap2/clock24xx.c b/arch/arm/mach-omap2/clock24xx.c index 1e839c5..984fb86 100644 --- a/arch/arm/mach-omap2/clock24xx.c +++ b/arch/arm/mach-omap2/clock24xx.c @@ -720,14 +720,14 @@ int __init omap2_clk_init(void) clk_init(omap2_clk_functions); + for (c = omap24xx_clks; c omap24xx_clks + ARRAY_SIZE(omap24xx_clks); c++) + clk_init_one(c-lk.clk); + osc_ck.rate = omap2_osc_clk_recalc(osc_ck); propagate_rate(osc_ck); sys_ck.rate = omap2_sys_clk_recalc(sys_ck); propagate_rate(sys_ck); - for (c = omap24xx_clks; c omap24xx_clks + ARRAY_SIZE(omap24xx_clks); c++) - clk_init_one(c-lk.clk); - cpu_mask = 0; if (cpu_is_omap2420()) cpu_mask |= CK_242X; diff --git a/arch/arm/plat-omap/clock.c b/arch/arm/plat-omap/clock.c index 2e06145..29efc27 100644 --- a/arch/arm/plat-omap/clock.c +++ b/arch/arm/plat-omap/clock.c @@ -239,6 +239,13 @@ void recalculate_root_clocks(void) } } +/** + * clk_init_one - initialize any fields in the struct clk before clk init + * @clk: struct clk * to initialize + * + * Initialize any struct clk fields needed before normal clk initialization + * can run. No return value. + */ void clk_init_one(struct clk *clk) { INIT_LIST_HEAD(clk-children); -- 1.6.3.rc1.51.gea0b7 -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/7] OMAP24xx/25xx clock: init osc_ck, sys_ck internal lists early
On Wed, Apr 22, 2009 at 08:01:29PM -0600, Paul Walmsley wrote: The patch also renames clk_init_one() to clk_preinit() to distinguish its function from clk_init() and the individual struct clk init functions. That's rather unnecessary. 'clk_init_one' is already unique. In the long run, it's clk_init that needs to go. Incorporates review comments from Russell King li...@arm.linux.org.uk. Please don't add this email address to git commit comments. Thanks. -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/7] OMAP24xx/25xx clock: init osc_ck, sys_ck internal lists early
Hello Russell, On Thu, 23 Apr 2009, Russell King - ARM Linux wrote: On Wed, Apr 22, 2009 at 08:01:29PM -0600, Paul Walmsley wrote: The patch also renames clk_init_one() to clk_preinit() to distinguish its function from clk_init() and the individual struct clk init functions. That's rather unnecessary. 'clk_init_one' is already unique. In the long run, it's clk_init that needs to go. Even if clk_init() were to disappear, the struct clk .init function pointer would still be present. clk-init() performs a very different kind of initialization than clk_init_one(). Incorporates review comments from Russell King li...@arm.linux.org.uk. Please don't add this email address to git commit comments. Thanks. Updated in the git branch to rmk+kernel. - Paul -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/7] OMAP24xx/25xx clock: init osc_ck, sys_ck internal lists early
* Paul Walmsley p...@pwsan.com [090423 01:35]: Hello Russell, On Thu, 23 Apr 2009, Russell King - ARM Linux wrote: On Wed, Apr 22, 2009 at 08:01:29PM -0600, Paul Walmsley wrote: The patch also renames clk_init_one() to clk_preinit() to distinguish its function from clk_init() and the individual struct clk init functions. That's rather unnecessary. 'clk_init_one' is already unique. In the long run, it's clk_init that needs to go. Even if clk_init() were to disappear, the struct clk .init function pointer would still be present. clk-init() performs a very different kind of initialization than clk_init_one(). I'm OK doing the rename in this fix. The original naming can cause confusion while reading the code. Tony Incorporates review comments from Russell King li...@arm.linux.org.uk. Please don't add this email address to git commit comments. Thanks. Updated in the git branch to rmk+kernel. - Paul -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/7] OMAP24xx/25xx clock: init osc_ck, sys_ck internal lists early
On Thu, Apr 23, 2009 at 11:00:31AM -0700, Tony Lindgren wrote: * Paul Walmsley p...@pwsan.com [090423 01:35]: Hello Russell, On Thu, 23 Apr 2009, Russell King - ARM Linux wrote: On Wed, Apr 22, 2009 at 08:01:29PM -0600, Paul Walmsley wrote: The patch also renames clk_init_one() to clk_preinit() to distinguish its function from clk_init() and the individual struct clk init functions. That's rather unnecessary. 'clk_init_one' is already unique. In the long run, it's clk_init that needs to go. Even if clk_init() were to disappear, the struct clk .init function pointer would still be present. clk-init() performs a very different kind of initialization than clk_init_one(). I'm OK doing the rename in this fix. The original naming can cause confusion while reading the code. Well I'm not, and I want to discuss it some more. And I'm sending Linus a pull request tonight, so I'm dropping the OMAP stuff from that. -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/7] OMAP24xx/25xx clock: init osc_ck, sys_ck internal lists early
* Russell King - ARM Linux li...@arm.linux.org.uk [090423 15:26]: On Thu, Apr 23, 2009 at 11:00:31AM -0700, Tony Lindgren wrote: * Paul Walmsley p...@pwsan.com [090423 01:35]: Hello Russell, On Thu, 23 Apr 2009, Russell King - ARM Linux wrote: On Wed, Apr 22, 2009 at 08:01:29PM -0600, Paul Walmsley wrote: The patch also renames clk_init_one() to clk_preinit() to distinguish its function from clk_init() and the individual struct clk init functions. That's rather unnecessary. 'clk_init_one' is already unique. In the long run, it's clk_init that needs to go. Even if clk_init() were to disappear, the struct clk .init function pointer would still be present. clk-init() performs a very different kind of initialization than clk_init_one(). I'm OK doing the rename in this fix. The original naming can cause confusion while reading the code. Well I'm not, and I want to discuss it some more. And I'm sending Linus a pull request tonight, so I'm dropping the OMAP stuff from that. OK. Paul, can you please separate out the rename part into a separate patch so we only have a minimal fix then repost it here? That way we'll get the necessary fixes in and you guys can schedule other changes for next merge window. Thanks, Tony -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/7] OMAP24xx/25xx clock: init osc_ck, sys_ck internal lists early
On Thu, 23 Apr 2009, Tony Lindgren wrote: * Russell King - ARM Linux li...@arm.linux.org.uk [090423 15:26]: On Thu, Apr 23, 2009 at 11:00:31AM -0700, Tony Lindgren wrote: * Paul Walmsley p...@pwsan.com [090423 01:35]: Hello Russell, On Thu, 23 Apr 2009, Russell King - ARM Linux wrote: On Wed, Apr 22, 2009 at 08:01:29PM -0600, Paul Walmsley wrote: The patch also renames clk_init_one() to clk_preinit() to distinguish its function from clk_init() and the individual struct clk init functions. That's rather unnecessary. 'clk_init_one' is already unique. In the long run, it's clk_init that needs to go. Even if clk_init() were to disappear, the struct clk .init function pointer would still be present. clk-init() performs a very different kind of initialization than clk_init_one(). I'm OK doing the rename in this fix. The original naming can cause confusion while reading the code. Well I'm not, and I want to discuss it some more. And I'm sending Linus a pull request tonight, so I'm dropping the OMAP stuff from that. OK. Paul, can you please separate out the rename part into a separate patch so we only have a minimal fix then repost it here? That way we'll get the necessary fixes in and you guys can schedule other changes for next merge window. The omap-clock-fixes branch has been updated to remove the rename. Not that this should stop the discussion, but at least this should no longer prevent these needed fixes from going upstream. - Paul -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/7] OMAP24xx/25xx clock: init osc_ck, sys_ck internal lists early
* Paul Walmsley p...@pwsan.com [090423 20:13]: On Thu, 23 Apr 2009, Tony Lindgren wrote: * Russell King - ARM Linux li...@arm.linux.org.uk [090423 15:26]: On Thu, Apr 23, 2009 at 11:00:31AM -0700, Tony Lindgren wrote: * Paul Walmsley p...@pwsan.com [090423 01:35]: Hello Russell, On Thu, 23 Apr 2009, Russell King - ARM Linux wrote: On Wed, Apr 22, 2009 at 08:01:29PM -0600, Paul Walmsley wrote: The patch also renames clk_init_one() to clk_preinit() to distinguish its function from clk_init() and the individual struct clk init functions. That's rather unnecessary. 'clk_init_one' is already unique. In the long run, it's clk_init that needs to go. Even if clk_init() were to disappear, the struct clk .init function pointer would still be present. clk-init() performs a very different kind of initialization than clk_init_one(). I'm OK doing the rename in this fix. The original naming can cause confusion while reading the code. Well I'm not, and I want to discuss it some more. And I'm sending Linus a pull request tonight, so I'm dropping the OMAP stuff from that. OK. Paul, can you please separate out the rename part into a separate patch so we only have a minimal fix then repost it here? That way we'll get the necessary fixes in and you guys can schedule other changes for next merge window. The omap-clock-fixes branch has been updated to remove the rename. Not that this should stop the discussion, but at least this should no longer prevent these needed fixes from going upstream. Care to post the updated patch here too? Temporay git branches are not too readable by most people.. Tony -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/7] OMAP24xx/25xx clock: init osc_ck, sys_ck internal lists early
Hello Russell, On Tue, 21 Apr 2009, Russell King - ARM Linux wrote: On Tue, Apr 14, 2009 at 12:31:47PM -0600, Paul Walmsley wrote: On Tue, 14 Apr 2009, Paul Walmsley wrote: Commit 3f0a820c4c0b4670fb5f164baa5582e23c2ef118 breaks OMAP2xxx boot during initial propagate_rate() on osc_ck and sys_ck. Fix by calling clk_init_one() for these clocks first. A better fix would be to move the loop initializing all clocks to be immediately after the call to clk_init(). thanks for the comment. Here's a revised patch: - Paul From: Paul Walmsley p...@pwsan.com Date: Wed, 22 Apr 2009 19:48:53 -0600 Subject: [PATCH] OMAP2xxx clock: pre-initialize struct clks early Commit 3f0a820c4c0b4670fb5f164baa5582e23c2ef118 breaks OMAP2xxx boot during initial propagate_rate() on osc_ck and sys_ck. Fix by pre-initializing all struct clks before running any other clock init code. The patch also renames clk_init_one() to clk_preinit() to distinguish its function from clk_init() and the individual struct clk init functions. Incorporates review comments from Russell King li...@arm.linux.org.uk. Resolves 1Unable to handle kernel NULL pointer dereference at virtual address 1pgd = c0004000 1[] *pgd= Internal error: Oops: 5 [#1] Modules linked in: CPU: 0Not tainted (2.6.29-omap1 #37) PC is at propagate_rate+0x10/0x60 LR is at omap2_clk_init+0x30/0x218 ... Signed-off-by: Paul Walmsley p...@pwsan.com Tested-by: Jarkko Nikula jarkko.nik...@nokia.com Cc: Russell King li...@arm.linux.org.uk --- arch/arm/mach-omap1/clock.c |2 +- arch/arm/mach-omap2/clock24xx.c |6 +++--- arch/arm/mach-omap2/clock34xx.c |2 +- arch/arm/plat-omap/clock.c |9 - arch/arm/plat-omap/include/mach/clock.h |2 +- 5 files changed, 14 insertions(+), 7 deletions(-) diff --git a/arch/arm/mach-omap1/clock.c b/arch/arm/mach-omap1/clock.c index dafe4f7..571d33d 100644 --- a/arch/arm/mach-omap1/clock.c +++ b/arch/arm/mach-omap1/clock.c @@ -775,7 +775,7 @@ int __init omap1_clk_init(void) arm_idlect1_mask = ~0; for (c = omap_clks; c omap_clks + ARRAY_SIZE(omap_clks); c++) - clk_init_one(c-lk.clk); + clk_preinit(c-lk.clk); cpu_mask = 0; if (cpu_is_omap16xx()) diff --git a/arch/arm/mach-omap2/clock24xx.c b/arch/arm/mach-omap2/clock24xx.c index 1e839c5..61dcc22 100644 --- a/arch/arm/mach-omap2/clock24xx.c +++ b/arch/arm/mach-omap2/clock24xx.c @@ -720,14 +720,14 @@ int __init omap2_clk_init(void) clk_init(omap2_clk_functions); + for (c = omap24xx_clks; c omap24xx_clks + ARRAY_SIZE(omap24xx_clks); c++) + clk_preinit(c-lk.clk); + osc_ck.rate = omap2_osc_clk_recalc(osc_ck); propagate_rate(osc_ck); sys_ck.rate = omap2_sys_clk_recalc(sys_ck); propagate_rate(sys_ck); - for (c = omap24xx_clks; c omap24xx_clks + ARRAY_SIZE(omap24xx_clks); c++) - clk_init_one(c-lk.clk); - cpu_mask = 0; if (cpu_is_omap2420()) cpu_mask |= CK_242X; diff --git a/arch/arm/mach-omap2/clock34xx.c b/arch/arm/mach-omap2/clock34xx.c index 0a14dca..430c6a0 100644 --- a/arch/arm/mach-omap2/clock34xx.c +++ b/arch/arm/mach-omap2/clock34xx.c @@ -956,7 +956,7 @@ int __init omap2_clk_init(void) clk_init(omap2_clk_functions); for (c = omap34xx_clks; c omap34xx_clks + ARRAY_SIZE(omap34xx_clks); c++) - clk_init_one(c-lk.clk); + clk_preinit(c-lk.clk); for (c = omap34xx_clks; c omap34xx_clks + ARRAY_SIZE(omap34xx_clks); c++) if (c-cpu cpu_clkflg) { diff --git a/arch/arm/plat-omap/clock.c b/arch/arm/plat-omap/clock.c index 2e06145..508c96a 100644 --- a/arch/arm/plat-omap/clock.c +++ b/arch/arm/plat-omap/clock.c @@ -239,7 +239,14 @@ void recalculate_root_clocks(void) } } -void clk_init_one(struct clk *clk) +/** + * clk_preinit - initialize any fields in the struct clk before clk init + * @clk: struct clk * to initialize + * + * Initialize any struct clk fields needed before normal clk initialization + * can run. No return value. + */ +void clk_preinit(struct clk *clk) { INIT_LIST_HEAD(clk-children); } diff --git a/arch/arm/plat-omap/include/mach/clock.h b/arch/arm/plat-omap/include/mach/clock.h index 073a2c5..793fbc0 100644 --- a/arch/arm/plat-omap/include/mach/clock.h +++ b/arch/arm/plat-omap/include/mach/clock.h @@ -118,8 +118,8 @@ struct clk_functions { extern unsigned int mpurate; +extern void clk_preinit(struct clk *clk); extern int clk_init(struct clk_functions *custom_clocks); -extern void clk_init_one(struct clk *clk); extern int clk_register(struct clk *clk); extern void clk_reparent(struct clk *child, struct clk *parent); extern void clk_unregister(struct clk *clk); -- 1.6.2.1.307.g91408 -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to
Re: [PATCH 1/7] OMAP24xx/25xx clock: init osc_ck, sys_ck internal lists early
On Tue, Apr 14, 2009 at 12:31:47PM -0600, Paul Walmsley wrote: On Tue, 14 Apr 2009, Paul Walmsley wrote: Commit 3f0a820c4c0b4670fb5f164baa5582e23c2ef118 breaks OMAP2xxx boot during initial propagate_rate() on osc_ck and sys_ck. Fix by calling clk_init_one() for these clocks first. A better fix would be to move the loop initializing all clocks to be immediately after the call to clk_init(). -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/7] OMAP24xx/25xx clock: init osc_ck, sys_ck internal lists early
Modifying subject line since lists.arm.linux.org.uk mail server bounces subjects containing xxx. - Paul On Tue, 14 Apr 2009, Paul Walmsley wrote: Commit 3f0a820c4c0b4670fb5f164baa5582e23c2ef118 breaks OMAP2xxx boot during initial propagate_rate() on osc_ck and sys_ck. Fix by calling clk_init_one() for these clocks first. Resolves 1Unable to handle kernel NULL pointer dereference at virtual address 1pgd = c0004000 1[] *pgd= Internal error: Oops: 5 [#1] Modules linked in: CPU: 0Not tainted (2.6.29-omap1 #37) PC is at propagate_rate+0x10/0x60 LR is at omap2_clk_init+0x30/0x218 ... Signed-off-by: Paul Walmsley p...@pwsan.com Tested-by: Jarkko Nikula jarkko.nik...@nokia.com Cc: Russell King li...@arm.linux.org.uk --- arch/arm/mach-omap2/clock24xx.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/arch/arm/mach-omap2/clock24xx.c b/arch/arm/mach-omap2/clock24xx.c index 1e839c5..3b7ecc6 100644 --- a/arch/arm/mach-omap2/clock24xx.c +++ b/arch/arm/mach-omap2/clock24xx.c @@ -720,6 +720,8 @@ int __init omap2_clk_init(void) clk_init(omap2_clk_functions); + clk_init_one(osc_ck); + clk_init_one(sys_ck); osc_ck.rate = omap2_osc_clk_recalc(osc_ck); propagate_rate(osc_ck); sys_ck.rate = omap2_sys_clk_recalc(sys_ck); -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/7] OMAP24xx/25xx clock: init osc_ck, sys_ck internal lists early
On Tue, Apr 14, 2009 at 12:31:47PM -0600, Paul Walmsley wrote: Modifying subject line since lists.arm.linux.org.uk mail server bounces subjects containing xxx. And quite rightly too. -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html