diff options
author | Tero Kristo <t-kristo@ti.com> | 2014-11-21 14:51:37 +0100 |
---|---|---|
committer | Tero Kristo <t-kristo@ti.com> | 2015-03-31 20:26:50 +0200 |
commit | 425dc8b2dff222ffd88f31f589dc647409cae0ce (patch) | |
tree | 43a3919b84c1119fda11fb22b48c828bc934eda6 /arch/arm/mach-omap2/io.c | |
parent | ARM: OMAP4+: PRM: determine prm_device_inst based on DT compatibility (diff) | |
download | linux-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.c | 16 |
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(); |