Browse Source

clk: pxa: export core clocks

pxaxxx_get_clk_frequency_khz() needs several clocks to be available
through clk_get(), ie. the cpu clocks, system bus clock and memory
clocks.

Add the missing clkdev so that their rate can be acquired.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Robert Jarzmik 8 years ago
parent
commit
fb16d9e50a
2 changed files with 14 additions and 8 deletions
  1. 6 3
      drivers/clk/pxa/clk-pxa25x.c
  2. 8 5
      drivers/clk/pxa/clk-pxa27x.c

+ 6 - 3
drivers/clk/pxa/clk-pxa25x.c

@@ -189,8 +189,10 @@ RATE_RO_OPS(clk_pxa25x_cpll, "cpll");
 
 
 static void __init pxa25x_register_core(void)
 static void __init pxa25x_register_core(void)
 {
 {
-	clk_register_clk_pxa25x_cpll();
-	clk_register_clk_pxa25x_run();
+	clkdev_pxa_register(CLK_NONE, "cpll", NULL,
+			    clk_register_clk_pxa25x_cpll());
+	clkdev_pxa_register(CLK_NONE, "run", NULL,
+			    clk_register_clk_pxa25x_run());
 	clkdev_pxa_register(CLK_CORE, "core", NULL,
 	clkdev_pxa_register(CLK_CORE, "core", NULL,
 			    clk_register_clk_pxa25x_core());
 			    clk_register_clk_pxa25x_core());
 }
 }
@@ -212,7 +214,8 @@ static void __init pxa25x_base_clocks_init(void)
 {
 {
 	pxa25x_register_plls();
 	pxa25x_register_plls();
 	pxa25x_register_core();
 	pxa25x_register_core();
-	clk_register_clk_pxa25x_memory();
+	clkdev_pxa_register(CLK_NONE, "system_bus", NULL,
+			    clk_register_clk_pxa25x_memory());
 }
 }
 
 
 #define DUMMY_CLK(_con_id, _dev_id, _parent) \
 #define DUMMY_CLK(_con_id, _dev_id, _parent) \

+ 8 - 5
drivers/clk/pxa/clk-pxa27x.c

@@ -270,9 +270,10 @@ RATE_RO_OPS(clk_pxa27x_run, "run");
 
 
 static void __init pxa27x_register_core(void)
 static void __init pxa27x_register_core(void)
 {
 {
-	clk_register_clk_pxa27x_cpll();
-	clk_register_clk_pxa27x_run();
-
+	clkdev_pxa_register(CLK_NONE, "cpll", NULL,
+			    clk_register_clk_pxa27x_cpll());
+	clkdev_pxa_register(CLK_NONE, "run", NULL,
+			    clk_register_clk_pxa27x_run());
 	clkdev_pxa_register(CLK_CORE, "core", NULL,
 	clkdev_pxa_register(CLK_CORE, "core", NULL,
 			    clk_register_clk_pxa27x_core());
 			    clk_register_clk_pxa27x_core());
 }
 }
@@ -382,8 +383,10 @@ static void __init pxa27x_base_clocks_init(void)
 {
 {
 	pxa27x_register_plls();
 	pxa27x_register_plls();
 	pxa27x_register_core();
 	pxa27x_register_core();
-	clk_register_clk_pxa27x_system_bus();
-	clk_register_clk_pxa27x_memory();
+	clkdev_pxa_register(CLK_NONE, "system_bus", NULL,
+			    clk_register_clk_pxa27x_system_bus());
+	clkdev_pxa_register(CLK_NONE, "memory", NULL,
+			    clk_register_clk_pxa27x_memory());
 	clk_register_clk_pxa27x_lcd_base();
 	clk_register_clk_pxa27x_lcd_base();
 }
 }