diff options
| -rw-r--r-- | arch/arm/mach-omap2/io.c | 8 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/prm2xxx.c | 3 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/prm2xxx.h | 3 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/prm3xxx.c | 17 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/prm3xxx.h | 1 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/prm44xx.c | 16 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/prm44xx.h | 1 |
7 files changed, 31 insertions, 18 deletions
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c index 924bf24693cd..007dc4d85d54 100644 --- a/arch/arm/mach-omap2/io.c +++ b/arch/arm/mach-omap2/io.c | |||
| @@ -51,6 +51,10 @@ | |||
| 51 | #include "prcm_mpu44xx.h" | 51 | #include "prcm_mpu44xx.h" |
| 52 | #include "prminst44xx.h" | 52 | #include "prminst44xx.h" |
| 53 | #include "cminst44xx.h" | 53 | #include "cminst44xx.h" |
| 54 | #include "prm2xxx.h" | ||
| 55 | #include "prm3xxx.h" | ||
| 56 | #include "prm44xx.h" | ||
| 57 | |||
| 54 | /* | 58 | /* |
| 55 | * The machine specific code may provide the extra mapping besides the | 59 | * The machine specific code may provide the extra mapping besides the |
| 56 | * default mapping provided here. | 60 | * default mapping provided here. |
| @@ -392,6 +396,7 @@ void __init omap2420_init_early(void) | |||
| 392 | omap2_set_globals_prm(OMAP2_L4_IO_ADDRESS(OMAP2420_PRM_BASE)); | 396 | omap2_set_globals_prm(OMAP2_L4_IO_ADDRESS(OMAP2420_PRM_BASE)); |
| 393 | omap2_set_globals_cm(OMAP2_L4_IO_ADDRESS(OMAP2420_CM_BASE), NULL); | 397 | omap2_set_globals_cm(OMAP2_L4_IO_ADDRESS(OMAP2420_CM_BASE), NULL); |
| 394 | omap2xxx_check_revision(); | 398 | omap2xxx_check_revision(); |
| 399 | omap2xxx_prm_init(); | ||
| 395 | omap2xxx_cm_init(); | 400 | omap2xxx_cm_init(); |
| 396 | omap_common_init_early(); | 401 | omap_common_init_early(); |
| 397 | omap2xxx_voltagedomains_init(); | 402 | omap2xxx_voltagedomains_init(); |
| @@ -422,6 +427,7 @@ void __init omap2430_init_early(void) | |||
| 422 | omap2_set_globals_prm(OMAP2_L4_IO_ADDRESS(OMAP2430_PRM_BASE)); | 427 | omap2_set_globals_prm(OMAP2_L4_IO_ADDRESS(OMAP2430_PRM_BASE)); |
| 423 | omap2_set_globals_cm(OMAP2_L4_IO_ADDRESS(OMAP2430_CM_BASE), NULL); | 428 | omap2_set_globals_cm(OMAP2_L4_IO_ADDRESS(OMAP2430_CM_BASE), NULL); |
| 424 | omap2xxx_check_revision(); | 429 | omap2xxx_check_revision(); |
| 430 | omap2xxx_prm_init(); | ||
| 425 | omap2xxx_cm_init(); | 431 | omap2xxx_cm_init(); |
| 426 | omap_common_init_early(); | 432 | omap_common_init_early(); |
| 427 | omap2xxx_voltagedomains_init(); | 433 | omap2xxx_voltagedomains_init(); |
| @@ -457,6 +463,7 @@ void __init omap3_init_early(void) | |||
| 457 | omap2_set_globals_cm(OMAP2_L4_IO_ADDRESS(OMAP3430_CM_BASE), NULL); | 463 | omap2_set_globals_cm(OMAP2_L4_IO_ADDRESS(OMAP3430_CM_BASE), NULL); |
| 458 | omap3xxx_check_revision(); | 464 | omap3xxx_check_revision(); |
| 459 | omap3xxx_check_features(); | 465 | omap3xxx_check_features(); |
| 466 | omap3xxx_prm_init(); | ||
| 460 | omap3xxx_cm_init(); | 467 | omap3xxx_cm_init(); |
| 461 | omap_common_init_early(); | 468 | omap_common_init_early(); |
| 462 | omap3xxx_voltagedomains_init(); | 469 | omap3xxx_voltagedomains_init(); |
| @@ -591,6 +598,7 @@ void __init omap4430_init_early(void) | |||
| 591 | omap_cm_base_init(); | 598 | omap_cm_base_init(); |
| 592 | omap4xxx_check_revision(); | 599 | omap4xxx_check_revision(); |
| 593 | omap4xxx_check_features(); | 600 | omap4xxx_check_features(); |
| 601 | omap44xx_prm_init(); | ||
| 594 | omap_common_init_early(); | 602 | omap_common_init_early(); |
| 595 | omap44xx_voltagedomains_init(); | 603 | omap44xx_voltagedomains_init(); |
| 596 | omap44xx_powerdomains_init(); | 604 | omap44xx_powerdomains_init(); |
diff --git a/arch/arm/mach-omap2/prm2xxx.c b/arch/arm/mach-omap2/prm2xxx.c index bf24fc47603b..faeab18696df 100644 --- a/arch/arm/mach-omap2/prm2xxx.c +++ b/arch/arm/mach-omap2/prm2xxx.c | |||
| @@ -118,14 +118,13 @@ static struct prm_ll_data omap2xxx_prm_ll_data = { | |||
| 118 | .read_reset_sources = &omap2xxx_prm_read_reset_sources, | 118 | .read_reset_sources = &omap2xxx_prm_read_reset_sources, |
| 119 | }; | 119 | }; |
| 120 | 120 | ||
| 121 | static int __init omap2xxx_prm_init(void) | 121 | int __init omap2xxx_prm_init(void) |
| 122 | { | 122 | { |
| 123 | if (!cpu_is_omap24xx()) | 123 | if (!cpu_is_omap24xx()) |
| 124 | return 0; | 124 | return 0; |
| 125 | 125 | ||
| 126 | return prm_register(&omap2xxx_prm_ll_data); | 126 | return prm_register(&omap2xxx_prm_ll_data); |
| 127 | } | 127 | } |
| 128 | subsys_initcall(omap2xxx_prm_init); | ||
| 129 | 128 | ||
| 130 | static void __exit omap2xxx_prm_exit(void) | 129 | static void __exit omap2xxx_prm_exit(void) |
| 131 | { | 130 | { |
diff --git a/arch/arm/mach-omap2/prm2xxx.h b/arch/arm/mach-omap2/prm2xxx.h index fe8a14f190ab..3194dd87e0e4 100644 --- a/arch/arm/mach-omap2/prm2xxx.h +++ b/arch/arm/mach-omap2/prm2xxx.h | |||
| @@ -126,8 +126,7 @@ extern int omap2xxx_clkdm_wakeup(struct clockdomain *clkdm); | |||
| 126 | 126 | ||
| 127 | extern void omap2xxx_prm_dpll_reset(void); | 127 | extern void omap2xxx_prm_dpll_reset(void); |
| 128 | 128 | ||
| 129 | extern int __init prm2xxx_init(void); | 129 | extern int __init omap2xxx_prm_init(void); |
| 130 | extern int __exit prm2xxx_exit(void); | ||
| 131 | 130 | ||
| 132 | #endif | 131 | #endif |
| 133 | 132 | ||
diff --git a/arch/arm/mach-omap2/prm3xxx.c b/arch/arm/mach-omap2/prm3xxx.c index b86116cf0db9..db198d058584 100644 --- a/arch/arm/mach-omap2/prm3xxx.c +++ b/arch/arm/mach-omap2/prm3xxx.c | |||
| @@ -383,27 +383,30 @@ static struct prm_ll_data omap3xxx_prm_ll_data = { | |||
| 383 | .read_reset_sources = &omap3xxx_prm_read_reset_sources, | 383 | .read_reset_sources = &omap3xxx_prm_read_reset_sources, |
| 384 | }; | 384 | }; |
| 385 | 385 | ||
| 386 | static int __init omap3xxx_prm_init(void) | 386 | int __init omap3xxx_prm_init(void) |
| 387 | { | ||
| 388 | if (!cpu_is_omap34xx()) | ||
| 389 | return 0; | ||
| 390 | |||
| 391 | return prm_register(&omap3xxx_prm_ll_data); | ||
| 392 | } | ||
| 393 | |||
| 394 | static int __init omap3xxx_prm_late_init(void) | ||
| 387 | { | 395 | { |
| 388 | int ret; | 396 | int ret; |
| 389 | 397 | ||
| 390 | if (!cpu_is_omap34xx()) | 398 | if (!cpu_is_omap34xx()) |
| 391 | return 0; | 399 | return 0; |
| 392 | 400 | ||
| 393 | ret = prm_register(&omap3xxx_prm_ll_data); | ||
| 394 | if (ret) | ||
| 395 | return ret; | ||
| 396 | |||
| 397 | omap3xxx_prm_enable_io_wakeup(); | 401 | omap3xxx_prm_enable_io_wakeup(); |
| 398 | ret = omap_prcm_register_chain_handler(&omap3_prcm_irq_setup); | 402 | ret = omap_prcm_register_chain_handler(&omap3_prcm_irq_setup); |
| 399 | if (!ret) | 403 | if (!ret) |
| 400 | irq_set_status_flags(omap_prcm_event_to_irq("io"), | 404 | irq_set_status_flags(omap_prcm_event_to_irq("io"), |
| 401 | IRQ_NOAUTOEN); | 405 | IRQ_NOAUTOEN); |
| 402 | 406 | ||
| 403 | |||
| 404 | return ret; | 407 | return ret; |
| 405 | } | 408 | } |
| 406 | subsys_initcall(omap3xxx_prm_init); | 409 | subsys_initcall(omap3xxx_prm_late_init); |
| 407 | 410 | ||
| 408 | static void __exit omap3xxx_prm_exit(void) | 411 | static void __exit omap3xxx_prm_exit(void) |
| 409 | { | 412 | { |
diff --git a/arch/arm/mach-omap2/prm3xxx.h b/arch/arm/mach-omap2/prm3xxx.h index 10cd41a8129e..277f71794e61 100644 --- a/arch/arm/mach-omap2/prm3xxx.h +++ b/arch/arm/mach-omap2/prm3xxx.h | |||
| @@ -154,6 +154,7 @@ extern void omap3xxx_prm_restore_irqen(u32 *saved_mask); | |||
| 154 | 154 | ||
| 155 | extern void omap3xxx_prm_dpll3_reset(void); | 155 | extern void omap3xxx_prm_dpll3_reset(void); |
| 156 | 156 | ||
| 157 | extern int __init omap3xxx_prm_init(void); | ||
| 157 | extern u32 omap3xxx_prm_get_reset_sources(void); | 158 | extern u32 omap3xxx_prm_get_reset_sources(void); |
| 158 | 159 | ||
| 159 | #endif /* __ASSEMBLER */ | 160 | #endif /* __ASSEMBLER */ |
diff --git a/arch/arm/mach-omap2/prm44xx.c b/arch/arm/mach-omap2/prm44xx.c index 6d3467af205d..9db1bd279f8e 100644 --- a/arch/arm/mach-omap2/prm44xx.c +++ b/arch/arm/mach-omap2/prm44xx.c | |||
| @@ -615,22 +615,24 @@ static struct prm_ll_data omap44xx_prm_ll_data = { | |||
| 615 | .read_reset_sources = &omap44xx_prm_read_reset_sources, | 615 | .read_reset_sources = &omap44xx_prm_read_reset_sources, |
| 616 | }; | 616 | }; |
| 617 | 617 | ||
| 618 | static int __init omap44xx_prm_init(void) | 618 | int __init omap44xx_prm_init(void) |
| 619 | { | 619 | { |
| 620 | int ret; | ||
| 621 | |||
| 622 | if (!cpu_is_omap44xx()) | 620 | if (!cpu_is_omap44xx()) |
| 623 | return 0; | 621 | return 0; |
| 624 | 622 | ||
| 625 | ret = prm_register(&omap44xx_prm_ll_data); | 623 | return prm_register(&omap44xx_prm_ll_data); |
| 626 | if (ret) | 624 | } |
| 627 | return ret; | 625 | |
| 626 | static int __init omap44xx_prm_late_init(void) | ||
| 627 | { | ||
| 628 | if (!cpu_is_omap44xx()) | ||
| 629 | return 0; | ||
| 628 | 630 | ||
| 629 | omap44xx_prm_enable_io_wakeup(); | 631 | omap44xx_prm_enable_io_wakeup(); |
| 630 | 632 | ||
| 631 | return omap_prcm_register_chain_handler(&omap4_prcm_irq_setup); | 633 | return omap_prcm_register_chain_handler(&omap4_prcm_irq_setup); |
| 632 | } | 634 | } |
| 633 | subsys_initcall(omap44xx_prm_init); | 635 | subsys_initcall(omap44xx_prm_late_init); |
| 634 | 636 | ||
| 635 | static void __exit omap44xx_prm_exit(void) | 637 | static void __exit omap44xx_prm_exit(void) |
| 636 | { | 638 | { |
diff --git a/arch/arm/mach-omap2/prm44xx.h b/arch/arm/mach-omap2/prm44xx.h index c8e1accdc90e..22b0979206ca 100644 --- a/arch/arm/mach-omap2/prm44xx.h +++ b/arch/arm/mach-omap2/prm44xx.h | |||
| @@ -771,6 +771,7 @@ extern void omap44xx_prm_ocp_barrier(void); | |||
| 771 | extern void omap44xx_prm_save_and_clear_irqen(u32 *saved_mask); | 771 | extern void omap44xx_prm_save_and_clear_irqen(u32 *saved_mask); |
| 772 | extern void omap44xx_prm_restore_irqen(u32 *saved_mask); | 772 | extern void omap44xx_prm_restore_irqen(u32 *saved_mask); |
| 773 | 773 | ||
| 774 | extern int __init omap44xx_prm_init(void); | ||
| 774 | extern u32 omap44xx_prm_get_reset_sources(void); | 775 | extern u32 omap44xx_prm_get_reset_sources(void); |
| 775 | 776 | ||
| 776 | # endif | 777 | # endif |
