ARM: OMAP2+: CM: move SoC specific init calls within a generic API
This gets rid of need for some exported driver APIs, and simplifies the
initialization of the CM driver. Done in preparation to make CM a
separate driver. The init data is now also passed to the SoC specific
implementations, allowing future expansion to add feature flags etc.
Signed-off-by: Tero Kristo <t-kristo@ti.com>
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
index 7632dfe..c3fa739 100644
--- a/arch/arm/mach-omap2/io.c
+++ b/arch/arm/mach-omap2/io.c
@@ -387,7 +387,6 @@
omap2_control_base_init();
omap2xxx_check_revision();
omap2_prcm_base_init();
- omap2xxx_cm_init();
omap2xxx_voltagedomains_init();
omap242x_powerdomains_init();
omap242x_clockdomains_init();
@@ -414,7 +413,6 @@
omap2_control_base_init();
omap2xxx_check_revision();
omap2_prcm_base_init();
- omap2xxx_cm_init();
omap2xxx_voltagedomains_init();
omap243x_powerdomains_init();
omap243x_clockdomains_init();
@@ -454,8 +452,11 @@
omap3xxx_check_revision();
omap3xxx_check_features();
omap2_prcm_base_init();
- omap3xxx_prm_init(NULL);
- omap3xxx_cm_init();
+ /* XXX: remove these once OMAP3 is DT only */
+ if (!of_have_populated_dt()) {
+ omap3xxx_prm_init(NULL);
+ omap3xxx_cm_init(NULL);
+ }
omap3xxx_voltagedomains_init();
omap3xxx_powerdomains_init();
omap3xxx_clockdomains_init();
@@ -553,7 +554,6 @@
omap3xxx_check_revision();
ti81xx_check_features();
omap2_prcm_base_init();
- am33xx_cm_init();
omap3xxx_voltagedomains_init();
omap3xxx_powerdomains_init();
ti81xx_clockdomains_init();
@@ -571,7 +571,6 @@
omap3xxx_check_revision();
ti81xx_check_features();
omap2_prcm_base_init();
- am33xx_cm_init();
omap3xxx_voltagedomains_init();
omap3xxx_powerdomains_init();
ti81xx_clockdomains_init();
@@ -591,7 +590,6 @@
omap3xxx_check_revision();
am33xx_check_features();
omap2_prcm_base_init();
- am33xx_cm_init();
am33xx_powerdomains_init();
am33xx_clockdomains_init();
am33xx_hwmod_init();
@@ -614,7 +612,6 @@
omap3xxx_check_revision();
am33xx_check_features();
omap2_prcm_base_init();
- omap4_cm_init();
am43xx_powerdomains_init();
am43xx_clockdomains_init();
am43xx_hwmod_init();
@@ -640,7 +637,6 @@
omap4xxx_check_revision();
omap4xxx_check_features();
omap2_prcm_base_init();
- omap4_cm_init();
omap4_pm_init_early();
omap44xx_voltagedomains_init();
omap44xx_powerdomains_init();
@@ -670,7 +666,6 @@
omap4_pm_init_early();
omap2_prcm_base_init();
omap5xxx_check_revision();
- omap4_cm_init();
omap54xx_voltagedomains_init();
omap54xx_powerdomains_init();
omap54xx_clockdomains_init();
@@ -697,7 +692,6 @@
omap4_pm_init_early();
omap2_prcm_base_init();
dra7xxx_check_revision();
- omap4_cm_init();
dra7xx_powerdomains_init();
dra7xx_clockdomains_init();
dra7xx_hwmod_init();