diff options
Diffstat (limited to 'arch/arm/mach-omap2/prm_common.c')
-rw-r--r-- | arch/arm/mach-omap2/prm_common.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/arch/arm/mach-omap2/prm_common.c b/arch/arm/mach-omap2/prm_common.c index b4c4ab9c8044..25e8b8232115 100644 --- a/arch/arm/mach-omap2/prm_common.c +++ b/arch/arm/mach-omap2/prm_common.c | |||
@@ -62,6 +62,8 @@ static struct omap_prcm_irq_setup *prcm_irq_setup; | |||
62 | /* prm_base: base virtual address of the PRM IP block */ | 62 | /* prm_base: base virtual address of the PRM IP block */ |
63 | void __iomem *prm_base; | 63 | void __iomem *prm_base; |
64 | 64 | ||
65 | u16 prm_features; | ||
66 | |||
65 | /* | 67 | /* |
66 | * prm_ll_data: function pointers to SoC-specific implementations of | 68 | * prm_ll_data: function pointers to SoC-specific implementations of |
67 | * common PRM functions | 69 | * common PRM functions |
@@ -330,12 +332,7 @@ int omap_prcm_register_chain_handler(struct omap_prcm_irq_setup *irq_setup) | |||
330 | 332 | ||
331 | if (of_have_populated_dt()) { | 333 | if (of_have_populated_dt()) { |
332 | int irq = omap_prcm_event_to_irq("io"); | 334 | int irq = omap_prcm_event_to_irq("io"); |
333 | if (cpu_is_omap34xx()) | 335 | omap_pcs_legacy_init(irq, irq_setup->reconfigure_io_chain); |
334 | omap_pcs_legacy_init(irq, | ||
335 | omap3xxx_prm_reconfigure_io_chain); | ||
336 | else | ||
337 | omap_pcs_legacy_init(irq, | ||
338 | omap44xx_prm_reconfigure_io_chain); | ||
339 | } | 336 | } |
340 | 337 | ||
341 | return 0; | 338 | return 0; |
@@ -530,3 +527,11 @@ int __init of_prcm_init(void) | |||
530 | 527 | ||
531 | return 0; | 528 | return 0; |
532 | } | 529 | } |
530 | |||
531 | static int __init prm_late_init(void) | ||
532 | { | ||
533 | if (prm_ll_data->late_init) | ||
534 | return prm_ll_data->late_init(); | ||
535 | return 0; | ||
536 | } | ||
537 | subsys_initcall(prm_late_init); | ||