clocksource:sirf: remove the hardcode for the clk of timers
Subsystems (2)
PATCH 1/1 clocksource:sirf: remove the hardcode for the clk of timers
From: Zhiwu Song <[email protected]>
Nobody want to know the connection between io clk and timer clk, so exposing this information to timer module is not reasonable. this patch moves to define the timers' clk in dt.
Signed-off-by Zhiwu Song <[email protected]>
Signed-off-by Barry Song <[email protected]>
--- arch/arm/boot/dts/atlas6.dtsi | 1 + arch/arm/boot/dts/prima2.dtsi | 1 + drivers/clocksource/timer-marco.c | 8 +++----- drivers/clocksource/timer-prima2.c | 5 +---- 4 files changed, 6 insertions(+), 9 deletions(-)
arch/arm/boot/dts/atlas6.dtsi +1 -0
@@ -195,6 +195,7 @@ compatible = "sirf,prima2-tick"; reg = <0xb0020000 0x1000>; interrupts = <0>; + clocks = <&clks 11>; }; nand at b0030000 {
arch/arm/boot/dts/prima2.dtsi +1 -0
@@ -201,6 +201,7 @@ compatible = "sirf,prima2-tick"; reg = <0xb0020000 0x1000>; interrupts = <0>; + clocks = <&clks 11>; }; nand at b0030000 {
drivers/clocksource/timer-marco.c +3 -5
@@ -252,15 +252,13 @@ static void __init sirfsoc_clockevent_init(void) }/* initialize the kernel jiffy timer source */ -static void __init sirfsoc_marco_timer_init (void ) +static void __init sirfsoc_marco_timer_init (struct device_node *np) {unsigned long rate;u32 timer_div;struct clk *clk; -/* timer's input clock is io clock */ - clk =clk_get_sys ("io" ,NULL ); - + clk =of_clk_get (np,0 );BUG_ON (IS_ERR (clk)); rate =clk_get_rate (clk);
@@ -303,6 +301,6 @@ static void __init sirfsoc_of_timer_init(struct device_node *np)if (!sirfsoc_timer1_irq.irq)panic ("No irq passed for timer1 via DT\n" ); -sirfsoc_marco_timer_init (); +sirfsoc_marco_timer_init (np); }CLOCKSOURCE_OF_DECLARE (sirfsoc_marco_timer,"sirf,marco-tick" , sirfsoc_of_timer_init );
drivers/clocksource/timer-prima2.c +1 -4
@@ -185,11 +185,8 @@ static void __init sirfsoc_prima2_timer_init(struct device_node *np)unsigned long rate;struct clk *clk; -/* timer's input clock is io clock */ - clk =clk_get_sys ("io" ,NULL ); - + clk =of_clk_get (np,0 );BUG_ON (IS_ERR (clk)); - rate =clk_get_rate (clk);BUG_ON (rate <PRIMA2_CLOCK_FREQ );
Signature · 1 line
1.7.5.4
Daniel Lezcano
AppliedPATCH 1/1 clocksource:sirf: remove the hardcode for the clk of timers
Quoted 8 lines · Barry Song
From: Zhiwu Song <[email protected]>
Nobody want to know the connection between io clk and timer clk, so exposing this information to timer module is not reasonable. this patch moves to define the timers' clk in dt.
Signed-off-by Zhiwu Song <[email protected]>Signed-off-by Barry Song <[email protected]>
[fixed the subject format]
Applied to my tree for 3.16
Thanks
-- Daniel
Signature · 5 lines
<http://www.linaro.org/> Linaro.org ? Open source software for ARM SoCs Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | <http://twitter.com/#!/linaroorg> Twitter | <http://www.linaro.org/linaro-blog/> Blog