linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 2/2] ARM: sa1100: register clocks early
@ 2016-08-19 11:51 Russell King
  2016-08-23  1:47 ` Dmitry Eremin-Solenikov
  0 siblings, 1 reply; 3+ messages in thread
From: Russell King @ 2016-08-19 11:51 UTC (permalink / raw)
  To: linux-arm-kernel

Since we switched to use pxa_timer, we need to provide the OSTIMER0
clock.  However, as the clock is initialised early, we need to provide
the clock early as well, so that pxa_timer can find it.  Adding the
clock to the clkdev table at core_initcall() time is way too late.

Move the initialisation earlier.

Fixes: ee3a4020f7c9 ("ARM: 8250/1: sa1100: provide OSTIMER0 clock for pxa_timer")
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
---
 arch/arm/mach-sa1100/clock.c   | 3 +--
 arch/arm/mach-sa1100/generic.c | 1 +
 arch/arm/mach-sa1100/generic.h | 2 ++
 3 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-sa1100/clock.c b/arch/arm/mach-sa1100/clock.c
index 0bf3220988ef..0db46895c82a 100644
--- a/arch/arm/mach-sa1100/clock.c
+++ b/arch/arm/mach-sa1100/clock.c
@@ -142,9 +142,8 @@ static struct clk_lookup sa11xx_clkregs[] = {
 	CLKDEV_INIT(NULL, "OSTIMER0", &clk_36864),
 };
 
-static int __init sa11xx_clk_init(void)
+int __init sa11xx_clk_init(void)
 {
 	clkdev_add_table(sa11xx_clkregs, ARRAY_SIZE(sa11xx_clkregs));
 	return 0;
 }
-core_initcall(sa11xx_clk_init);
diff --git a/arch/arm/mach-sa1100/generic.c b/arch/arm/mach-sa1100/generic.c
index 345e63f4eb71..2e2c35b8e0d4 100644
--- a/arch/arm/mach-sa1100/generic.c
+++ b/arch/arm/mach-sa1100/generic.c
@@ -388,6 +388,7 @@ void __init sa1100_init_irq(void)
 	sa11x0_init_irq_nodt(IRQ_GPIO0_SC, irq_resource.start);
 
 	sa1100_init_gpio();
+	sa11xx_clk_init();
 }
 
 /*
diff --git a/arch/arm/mach-sa1100/generic.h b/arch/arm/mach-sa1100/generic.h
index 0d92e119b36b..68199b603ff7 100644
--- a/arch/arm/mach-sa1100/generic.h
+++ b/arch/arm/mach-sa1100/generic.h
@@ -44,3 +44,5 @@ int sa11x0_pm_init(void);
 #else
 static inline int sa11x0_pm_init(void) { return 0; }
 #endif
+
+int sa11xx_clk_init(void);
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH 2/2] ARM: sa1100: register clocks early
  2016-08-19 11:51 [PATCH 2/2] ARM: sa1100: register clocks early Russell King
@ 2016-08-23  1:47 ` Dmitry Eremin-Solenikov
  2016-08-23  8:58   ` Russell King - ARM Linux
  0 siblings, 1 reply; 3+ messages in thread
From: Dmitry Eremin-Solenikov @ 2016-08-23  1:47 UTC (permalink / raw)
  To: linux-arm-kernel

2016-08-19 14:51 GMT+03:00 Russell King <rmk+kernel@armlinux.org.uk>:
> Since we switched to use pxa_timer, we need to provide the OSTIMER0
> clock.  However, as the clock is initialised early, we need to provide
> the clock early as well, so that pxa_timer can find it.  Adding the
> clock to the clkdev table at core_initcall() time is way too late.

This worked for me before, so maybe the init order of other kernel parts
has changed. Anyway:

Acked-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>




-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 2/2] ARM: sa1100: register clocks early
  2016-08-23  1:47 ` Dmitry Eremin-Solenikov
@ 2016-08-23  8:58   ` Russell King - ARM Linux
  0 siblings, 0 replies; 3+ messages in thread
From: Russell King - ARM Linux @ 2016-08-23  8:58 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Aug 23, 2016 at 04:47:08AM +0300, Dmitry Eremin-Solenikov wrote:
> 2016-08-19 14:51 GMT+03:00 Russell King <rmk+kernel@armlinux.org.uk>:
> > Since we switched to use pxa_timer, we need to provide the OSTIMER0
> > clock.  However, as the clock is initialised early, we need to provide
> > the clock early as well, so that pxa_timer can find it.  Adding the
> > clock to the clkdev table at core_initcall() time is way too late.
> 
> This worked for me before, so maybe the init order of other kernel parts
> has changed. Anyway:
> 
> Acked-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>

It worked in so far as we fell back to the non-clock based code, so
things continued to work.  However, a warning was printed at each
boot.

I don't think this ever worked.  Timers are setup very early in the
boot process (going back to 0.99.x times), and core_initcall() has
always been after that, after pid1 has been created.

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-08-23  8:58 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-19 11:51 [PATCH 2/2] ARM: sa1100: register clocks early Russell King
2016-08-23  1:47 ` Dmitry Eremin-Solenikov
2016-08-23  8:58   ` Russell King - ARM Linux

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).