OMAP3/4: DPLL: Add allow_idle/deny_idle support for all DPLL's
authorRajendra Nayak <rnayak@ti.com>
Fri, 25 Feb 2011 22:49:00 +0000 (15:49 -0700)
committerPaul Walmsley <paul@pwsan.com>
Fri, 25 Feb 2011 23:10:16 +0000 (16:10 -0700)
All OMAP3/4 dpll's support hardware level autogating.
Populate allow_idle/deny_idle function pointers for all
DPLL's in clkops.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
arch/arm/mach-omap2/clock.c
arch/arm/mach-omap2/clock.h
arch/arm/mach-omap2/clock3xxx_data.c
arch/arm/mach-omap2/clock44xx_data.c

index b1875965bb511fa15a7a9d297eed9a930c30d315..46d03ccc2806384477672ea352d08d8dbf04009b 100644 (file)
@@ -377,10 +377,16 @@ int omap2_clk_set_parent(struct clk *clk, struct clk *new_parent)
 const struct clkops clkops_omap3_noncore_dpll_ops = {
        .enable         = omap3_noncore_dpll_enable,
        .disable        = omap3_noncore_dpll_disable,
+       .allow_idle     = omap3_dpll_allow_idle,
+       .deny_idle      = omap3_dpll_deny_idle,
 };
 
-#endif
+const struct clkops clkops_omap3_core_dpll_ops = {
+       .allow_idle     = omap3_dpll_allow_idle,
+       .deny_idle      = omap3_dpll_deny_idle,
+};
 
+#endif
 
 /*
  * OMAP2+ clock reset and init functions
index 896584e3c4ab14f75b6c7f2043f385d9e0090c90..2a939e5ec6a2a090a8e68e0e73d899719b6ab7a5 100644 (file)
@@ -146,5 +146,6 @@ extern void omap2_clk_exit_cpufreq_table(struct cpufreq_frequency_table **table)
 #endif
 
 extern const struct clkops clkops_omap3_noncore_dpll_ops;
+extern const struct clkops clkops_omap3_core_dpll_ops;
 
 #endif
index 0cdb8343d65851912da4fd61c62ba5071773a572..78ea7997686b7d382aa01bd6e3d3ee038c555400 100644 (file)
@@ -429,7 +429,7 @@ static struct dpll_data dpll3_dd = {
 
 static struct clk dpll3_ck = {
        .name           = "dpll3_ck",
-       .ops            = &clkops_null,
+       .ops            = &clkops_omap3_core_dpll_ops,
        .parent         = &sys_ck,
        .dpll_data      = &dpll3_dd,
        .round_rate     = &omap2_dpll_round_rate,
index de9ec8ddd2ae21673964c8c3cf6224c180ae3c78..b843b6e5976cb579f046646b9c1f9d185ea1f043 100644 (file)
@@ -443,7 +443,7 @@ static struct clk dpll_core_ck = {
        .parent         = &sys_clkin_ck,
        .dpll_data      = &dpll_core_dd,
        .init           = &omap2_init_dpll_parent,
-       .ops            = &clkops_null,
+       .ops            = &clkops_omap3_core_dpll_ops,
        .recalc         = &omap3_dpll_recalc,
 };