OMAP2/3/4 clock: rename and clean the omap2_clk_init() functions
authorPaul Walmsley <paul@pwsan.com>
Wed, 27 Jan 2010 03:13:12 +0000 (20:13 -0700)
committerPaul Walmsley <paul@pwsan.com>
Fri, 29 Jan 2010 17:14:22 +0000 (10:14 -0700)
Rename the omap2_clk_init() in the OMAP2, 3, and 4 clock code to be
omap2xxx_clk_init(), omap3xxx_clk_init(), etc.  Remove all traces of
the (commented) old virt_prcm_set code from omap3xxx_clk_init() and
omap4xxx_clk_init(), since this will be handled with the OPP code that
is cooking in the PM branch.

After this patch, there should be very little else in the clock code
that blocks a multi-OMAP 2+3 kernel.  (OMAP2420+OMAP2430 still has some
outstanding issues that need to be resolved; this is pending on some
additions to the hwmod data.)

Signed-off-by: Paul Walmsley <paul@pwsan.com>
arch/arm/mach-omap2/clock.h
arch/arm/mach-omap2/clock2xxx.h
arch/arm/mach-omap2/clock2xxx_data.c
arch/arm/mach-omap2/clock34xx.c
arch/arm/mach-omap2/clock34xx.h
arch/arm/mach-omap2/clock34xx_data.c
arch/arm/mach-omap2/clock44xx.h
arch/arm/mach-omap2/clock44xx_data.c
arch/arm/mach-omap2/io.c

index be5a55f5703051f1a2b60d2788b1f94780208c37..7bc344bcbb475e23624dcaab1f35ca0c7da429ff 100644 (file)
@@ -47,7 +47,6 @@
 #define DPLL_LOW_POWER_BYPASS  0x5
 #define DPLL_LOCKED            0x7
 
-int omap2_clk_init(void);
 int omap2_clk_enable(struct clk *clk);
 void omap2_clk_disable(struct clk *clk);
 long omap2_clk_round_rate(struct clk *clk, unsigned long rate);
index bed294ac3647c40197dd1561635f69e2c2044e2e..32f3d0aa8fc42c9ed0945f14391ec2885cb0ca7a 100644 (file)
@@ -19,6 +19,7 @@ unsigned long omap2xxx_clk_get_core_rate(struct clk *clk);
 u32 omap2xxx_get_apll_clkin(void);
 u32 omap2xxx_get_sysclkdiv(void);
 void omap2xxx_clk_prepare_for_reboot(void);
+int omap2xxx_clk_init(void);
 
 /* REVISIT: These should be set dynamically for CONFIG_MULTI_OMAP2 */
 #ifdef CONFIG_ARCH_OMAP2420
index 3a435bb8f02919cdedbd9aac599a1d457200ab7a..52c7a6c2d9e026c3fa035fce0e03cd6ac66c10a9 100644 (file)
@@ -2238,7 +2238,7 @@ static struct omap_clk omap24xx_clks[] = {
  * init code
  */
 
-int __init omap2_clk_init(void)
+int __init omap2xxx_clk_init(void)
 {
        const struct prcm_config *prcm;
        struct omap_clk *c;
index 34d39504628013e3c969ceb6643d10af15ab457d..1f1b5a6b3eea3cac740f7e06feda88b29264c102 100644 (file)
@@ -150,7 +150,7 @@ int omap3_dpll4_set_rate(struct clk *clk, unsigned long rate)
        return omap3_noncore_dpll_set_rate(clk, rate);
 }
 
-void omap3_clk_lock_dpll5(void)
+void __init omap3_clk_lock_dpll5(void)
 {
        struct clk *dpll5_clk;
        struct clk *dpll5_m2_clk;
index 9a2c07eac9adfcfaf51522b018116c11537d148b..73f2109d643651fe3e58e9c9871a8d0c2d3e3449 100644 (file)
@@ -8,6 +8,7 @@
 #ifndef __ARCH_ARM_MACH_OMAP2_CLOCK_34XX_H
 #define __ARCH_ARM_MACH_OMAP2_CLOCK_34XX_H
 
+int omap3xxx_clk_init(void);
 int omap3_dpll4_set_rate(struct clk *clk, unsigned long rate);
 int omap3_core_dpll_m2_set_rate(struct clk *clk, unsigned long rate);
 void omap3_clk_lock_dpll5(void);
index 9e7f68a8fca22f5f7de494de424283fa4a60564a..0d04f92f63e1e7728cdaba9c965f8739bea448ab 100644 (file)
@@ -3212,11 +3212,9 @@ static struct omap_clk omap3xxx_clks[] = {
 };
 
 
-int __init omap2_clk_init(void)
+int __init omap3xxx_clk_init(void)
 {
-       /* struct prcm_config *prcm; */
        struct omap_clk *c;
-       /* u32 clkrate; */
        u32 cpu_clkflg = CK_3XXX;
 
        if (cpu_is_omap3517()) {
@@ -3254,21 +3252,6 @@ int __init omap2_clk_init(void)
                        omap2_init_clk_clkdm(c->lk.clk);
                }
 
-       /* REVISIT: Not yet ready for OMAP3 */
-#if 0
-       /* Check the MPU rate set by bootloader */
-       clkrate = omap2_get_dpll_rate_24xx(&dpll_ck);
-       for (prcm = rate_table; prcm->mpu_speed; prcm++) {
-               if (!(prcm->flags & cpu_mask))
-                       continue;
-               if (prcm->xtal_speed != sys_ck.rate)
-                       continue;
-               if (prcm->dpll_speed <= clkrate)
-                       break;
-       }
-       curr_prcm_set = prcm;
-#endif
-
        recalculate_root_clocks();
 
        printk(KERN_INFO "Clocking rate (Crystal/Core/MPU): "
index 59b9ced4daa18ef710096b9a14e198247810e864..1f55b6b574fb45452ae5316e56d99f18ff0ec24d 100644 (file)
@@ -10,6 +10,8 @@
 #define OMAP4430_MAX_DPLL_MULT 2048
 #define OMAP4430_MAX_DPLL_DIV  128
 
+int omap4xxx_clk_init(void);
+
 extern const struct clkops clkops_noncore_dpll_ops;
 
 #endif
index ae9649f2973d0764a2577d5390cd60ce3fb31a45..35ffe638def8188750af2e85182c760493d66fe3 100644 (file)
@@ -2726,11 +2726,9 @@ static struct omap_clk omap44xx_clks[] = {
        CLK(NULL,       "utmi_p2_gfclk_ck",             &utmi_p2_gfclk_ck,      CK_443X),
 };
 
-int __init omap2_clk_init(void)
+int __init omap4xxx_clk_init(void)
 {
-       /* struct prcm_config *prcm; */
        struct omap_clk *c;
-       /* u32 clkrate; */
        u32 cpu_clkflg;
 
        if (cpu_is_omap44xx()) {
index 8c58699083f6bb33ea35651ab875a4c90a7fe445..01ef2ae93593adcf501cbe15267375d17fe17e44 100644 (file)
@@ -35,7 +35,9 @@
 #include <plat/serial.h>
 #include <plat/vram.h>
 
-#include "clock.h"
+#include "clock2xxx.h"
+#include "clock34xx.h"
+#include "clock44xx.h"
 
 #include <plat/omap-pm.h>
 #include <plat/powerdomain.h>
@@ -320,7 +322,16 @@ void __init omap2_init_common_hw(struct omap_sdrc_params *sdrc_cs0,
        omap2_mux_init();
        omap_pm_if_early_init(mpu_opps, dsp_opps, l3_opps);
 #endif
-       omap2_clk_init();
+
+       if (cpu_is_omap24xx())
+               omap2xxx_clk_init();
+       else if (cpu_is_omap34xx())
+               omap3xxx_clk_init();
+       else if (cpu_is_omap44xx())
+               omap4xxx_clk_init();
+       else
+               pr_err("Could not init clock framework - unknown CPU\n");
+
        omap_serial_early_init();
 #ifndef CONFIG_ARCH_OMAP4
        omap_hwmod_late_init();