summaryrefslogtreecommitdiff
path: root/arch/arm/mach-omap2/prm44xx.c
diff options
context:
space:
mode:
authorTero Kristo <t-kristo@ti.com>2014-03-31 18:15:45 +0300
committerPaul Walmsley <paul@pwsan.com>2014-05-15 22:35:04 -0600
commitb550e47f5e9e74999f754371bdc79331d19f84a3 (patch)
tree7d549eb62e5af53722e0373a89b2b192977e1306 /arch/arm/mach-omap2/prm44xx.c
parent2541d15f16479fd56debe1ea55dee03c3886e33c (diff)
ARM: OMAP3/4: PRM: add support of late_init call to prm_ll_ops
SoC specific late_init call is now registered during PRM init, and will be called automatically by PRM core. This helps to get rid of some redundant initcalls and cpu_is_X checks from the PRM code. Signed-off-by: Tero Kristo <t-kristo@ti.com> Signed-off-by: Paul Walmsley <paul@pwsan.com>
Diffstat (limited to 'arch/arm/mach-omap2/prm44xx.c')
-rw-r--r--arch/arm/mach-omap2/prm44xx.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/arch/arm/mach-omap2/prm44xx.c b/arch/arm/mach-omap2/prm44xx.c
index e4e52f14dbbf..edf49ef867e1 100644
--- a/arch/arm/mach-omap2/prm44xx.c
+++ b/arch/arm/mach-omap2/prm44xx.c
@@ -650,6 +650,8 @@ struct pwrdm_ops omap4_pwrdm_operations = {
.pwrdm_has_voltdm = omap4_check_vcvp,
};
+static int omap44xx_prm_late_init(void);
+
/*
* XXX document
*/
@@ -657,6 +659,7 @@ static struct prm_ll_data omap44xx_prm_ll_data = {
.read_reset_sources = &omap44xx_prm_read_reset_sources,
.was_any_context_lost_old = &omap44xx_prm_was_any_context_lost_old,
.clear_context_loss_flags_old = &omap44xx_prm_clear_context_loss_flags_old,
+ .late_init = &omap44xx_prm_late_init,
};
int __init omap44xx_prm_init(void)
@@ -669,9 +672,6 @@ int __init omap44xx_prm_init(void)
static int __init omap44xx_prm_late_init(void)
{
- if (!cpu_is_omap44xx())
- return 0;
-
if (!(prm_features & PRM_HAS_IO_WAKEUP))
return 0;
@@ -679,7 +679,6 @@ static int __init omap44xx_prm_late_init(void)
return omap_prcm_register_chain_handler(&omap4_prcm_irq_setup);
}
-omap_subsys_initcall(omap44xx_prm_late_init);
static void __exit omap44xx_prm_exit(void)
{