diff options
author | Tero Kristo <t-kristo@ti.com> | 2014-03-31 11:15:45 -0400 |
---|---|---|
committer | Paul Walmsley <paul@pwsan.com> | 2014-05-16 00:35:04 -0400 |
commit | b550e47f5e9e74999f754371bdc79331d19f84a3 (patch) | |
tree | 7d549eb62e5af53722e0373a89b2b192977e1306 /arch/arm/mach-omap2/prm44xx.c | |
parent | 2541d15f16479fd56debe1ea55dee03c3886e33c (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.c | 7 |
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 = { | |||
650 | .pwrdm_has_voltdm = omap4_check_vcvp, | 650 | .pwrdm_has_voltdm = omap4_check_vcvp, |
651 | }; | 651 | }; |
652 | 652 | ||
653 | static int omap44xx_prm_late_init(void); | ||
654 | |||
653 | /* | 655 | /* |
654 | * XXX document | 656 | * XXX document |
655 | */ | 657 | */ |
@@ -657,6 +659,7 @@ static struct prm_ll_data omap44xx_prm_ll_data = { | |||
657 | .read_reset_sources = &omap44xx_prm_read_reset_sources, | 659 | .read_reset_sources = &omap44xx_prm_read_reset_sources, |
658 | .was_any_context_lost_old = &omap44xx_prm_was_any_context_lost_old, | 660 | .was_any_context_lost_old = &omap44xx_prm_was_any_context_lost_old, |
659 | .clear_context_loss_flags_old = &omap44xx_prm_clear_context_loss_flags_old, | 661 | .clear_context_loss_flags_old = &omap44xx_prm_clear_context_loss_flags_old, |
662 | .late_init = &omap44xx_prm_late_init, | ||
660 | }; | 663 | }; |
661 | 664 | ||
662 | int __init omap44xx_prm_init(void) | 665 | int __init omap44xx_prm_init(void) |
@@ -669,9 +672,6 @@ int __init omap44xx_prm_init(void) | |||
669 | 672 | ||
670 | static int __init omap44xx_prm_late_init(void) | 673 | static int __init omap44xx_prm_late_init(void) |
671 | { | 674 | { |
672 | if (!cpu_is_omap44xx()) | ||
673 | return 0; | ||
674 | |||
675 | if (!(prm_features & PRM_HAS_IO_WAKEUP)) | 675 | if (!(prm_features & PRM_HAS_IO_WAKEUP)) |
676 | return 0; | 676 | return 0; |
677 | 677 | ||
@@ -679,7 +679,6 @@ static int __init omap44xx_prm_late_init(void) | |||
679 | 679 | ||
680 | return omap_prcm_register_chain_handler(&omap4_prcm_irq_setup); | 680 | return omap_prcm_register_chain_handler(&omap4_prcm_irq_setup); |
681 | } | 681 | } |
682 | omap_subsys_initcall(omap44xx_prm_late_init); | ||
683 | 682 | ||
684 | static void __exit omap44xx_prm_exit(void) | 683 | static void __exit omap44xx_prm_exit(void) |
685 | { | 684 | { |