summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/io.c
diff options
context:
space:
mode:
authorTero Kristo <t-kristo@ti.com>2014-11-21 14:51:37 +0100
committerTero Kristo <t-kristo@ti.com>2015-03-31 20:26:50 +0200
commit425dc8b2dff222ffd88f31f589dc647409cae0ce (patch)
tree43a3919b84c1119fda11fb22b48c828bc934eda6 /arch/arm/mach-omap2/io.c
parentARM: OMAP4+: PRM: determine prm_device_inst based on DT compatibility (diff)
downloadlinux-425dc8b2dff222ffd88f31f589dc647409cae0ce.tar.xz
linux-425dc8b2dff222ffd88f31f589dc647409cae0ce.zip
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>
Diffstat (limited to 'arch/arm/mach-omap2/io.c')
-rw-r--r--arch/arm/mach-omap2/io.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
index 7632dfead166..c3fa739ab4c8 100644
--- a/arch/arm/mach-omap2/io.c
+++ b/arch/arm/mach-omap2/io.c
@@ -387,7 +387,6 @@ void __init omap2420_init_early(void)
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 @@ void __init omap2430_init_early(void)
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 @@ void __init omap3_init_early(void)
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 @@ void __init ti814x_init_early(void)
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 @@ void __init ti816x_init_early(void)
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 @@ void __init am33xx_init_early(void)
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 @@ void __init am43xx_init_early(void)
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 @@ void __init omap4430_init_early(void)
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 @@ void __init omap5_init_early(void)
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 @@ void __init dra7xx_init_early(void)
omap4_pm_init_early();
omap2_prcm_base_init();
dra7xxx_check_revision();
- omap4_cm_init();
dra7xx_powerdomains_init();
dra7xx_clockdomains_init();
dra7xx_hwmod_init();