diff options
Diffstat (limited to 'arch/arm/mach-omap2/cm3xxx.c')
-rw-r--r-- | arch/arm/mach-omap2/cm3xxx.c | 25 |
1 files changed, 9 insertions, 16 deletions
diff --git a/arch/arm/mach-omap2/cm3xxx.c b/arch/arm/mach-omap2/cm3xxx.c index f6f028867bfe..129a4e7f6ef5 100644 --- a/arch/arm/mach-omap2/cm3xxx.c +++ b/arch/arm/mach-omap2/cm3xxx.c | |||
@@ -18,9 +18,6 @@ | |||
18 | #include <linux/err.h> | 18 | #include <linux/err.h> |
19 | #include <linux/io.h> | 19 | #include <linux/io.h> |
20 | 20 | ||
21 | #include "soc.h" | ||
22 | #include "iomap.h" | ||
23 | #include "common.h" | ||
24 | #include "prm2xxx_3xxx.h" | 21 | #include "prm2xxx_3xxx.h" |
25 | #include "cm.h" | 22 | #include "cm.h" |
26 | #include "cm3xxx.h" | 23 | #include "cm3xxx.h" |
@@ -388,7 +385,8 @@ void omap3_cm_save_context(void) | |||
388 | omap2_cm_read_mod_reg(OMAP3430_IVA2_MOD, CM_CLKSEL1); | 385 | omap2_cm_read_mod_reg(OMAP3430_IVA2_MOD, CM_CLKSEL1); |
389 | cm_context.iva2_cm_clksel2 = | 386 | cm_context.iva2_cm_clksel2 = |
390 | omap2_cm_read_mod_reg(OMAP3430_IVA2_MOD, CM_CLKSEL2); | 387 | omap2_cm_read_mod_reg(OMAP3430_IVA2_MOD, CM_CLKSEL2); |
391 | cm_context.cm_sysconfig = __raw_readl(OMAP3430_CM_SYSCONFIG); | 388 | cm_context.cm_sysconfig = |
389 | omap2_cm_read_mod_reg(OCP_MOD, OMAP3430_CM_SYSCONFIG); | ||
392 | cm_context.sgx_cm_clksel = | 390 | cm_context.sgx_cm_clksel = |
393 | omap2_cm_read_mod_reg(OMAP3430ES2_SGX_MOD, CM_CLKSEL); | 391 | omap2_cm_read_mod_reg(OMAP3430ES2_SGX_MOD, CM_CLKSEL); |
394 | cm_context.dss_cm_clksel = | 392 | cm_context.dss_cm_clksel = |
@@ -418,7 +416,8 @@ void omap3_cm_save_context(void) | |||
418 | omap2_cm_read_mod_reg(PLL_MOD, OMAP3430ES2_CM_CLKSEL5); | 416 | omap2_cm_read_mod_reg(PLL_MOD, OMAP3430ES2_CM_CLKSEL5); |
419 | cm_context.pll_cm_clken2 = | 417 | cm_context.pll_cm_clken2 = |
420 | omap2_cm_read_mod_reg(PLL_MOD, OMAP3430ES2_CM_CLKEN2); | 418 | omap2_cm_read_mod_reg(PLL_MOD, OMAP3430ES2_CM_CLKEN2); |
421 | cm_context.cm_polctrl = __raw_readl(OMAP3430_CM_POLCTRL); | 419 | cm_context.cm_polctrl = |
420 | omap2_cm_read_mod_reg(OCP_MOD, OMAP3430_CM_POLCTRL); | ||
422 | cm_context.iva2_cm_fclken = | 421 | cm_context.iva2_cm_fclken = |
423 | omap2_cm_read_mod_reg(OMAP3430_IVA2_MOD, CM_FCLKEN); | 422 | omap2_cm_read_mod_reg(OMAP3430_IVA2_MOD, CM_FCLKEN); |
424 | cm_context.iva2_cm_clken_pll = | 423 | cm_context.iva2_cm_clken_pll = |
@@ -519,7 +518,8 @@ void omap3_cm_restore_context(void) | |||
519 | CM_CLKSEL1); | 518 | CM_CLKSEL1); |
520 | omap2_cm_write_mod_reg(cm_context.iva2_cm_clksel2, OMAP3430_IVA2_MOD, | 519 | omap2_cm_write_mod_reg(cm_context.iva2_cm_clksel2, OMAP3430_IVA2_MOD, |
521 | CM_CLKSEL2); | 520 | CM_CLKSEL2); |
522 | __raw_writel(cm_context.cm_sysconfig, OMAP3430_CM_SYSCONFIG); | 521 | omap2_cm_write_mod_reg(cm_context.cm_sysconfig, OCP_MOD, |
522 | OMAP3430_CM_SYSCONFIG); | ||
523 | omap2_cm_write_mod_reg(cm_context.sgx_cm_clksel, OMAP3430ES2_SGX_MOD, | 523 | omap2_cm_write_mod_reg(cm_context.sgx_cm_clksel, OMAP3430ES2_SGX_MOD, |
524 | CM_CLKSEL); | 524 | CM_CLKSEL); |
525 | omap2_cm_write_mod_reg(cm_context.dss_cm_clksel, OMAP3430_DSS_MOD, | 525 | omap2_cm_write_mod_reg(cm_context.dss_cm_clksel, OMAP3430_DSS_MOD, |
@@ -547,7 +547,8 @@ void omap3_cm_restore_context(void) | |||
547 | OMAP3430ES2_CM_CLKSEL5); | 547 | OMAP3430ES2_CM_CLKSEL5); |
548 | omap2_cm_write_mod_reg(cm_context.pll_cm_clken2, PLL_MOD, | 548 | omap2_cm_write_mod_reg(cm_context.pll_cm_clken2, PLL_MOD, |
549 | OMAP3430ES2_CM_CLKEN2); | 549 | OMAP3430ES2_CM_CLKEN2); |
550 | __raw_writel(cm_context.cm_polctrl, OMAP3430_CM_POLCTRL); | 550 | omap2_cm_write_mod_reg(cm_context.cm_polctrl, OCP_MOD, |
551 | OMAP3430_CM_POLCTRL); | ||
551 | omap2_cm_write_mod_reg(cm_context.iva2_cm_fclken, OMAP3430_IVA2_MOD, | 552 | omap2_cm_write_mod_reg(cm_context.iva2_cm_fclken, OMAP3430_IVA2_MOD, |
552 | CM_FCLKEN); | 553 | CM_FCLKEN); |
553 | omap2_cm_write_mod_reg(cm_context.iva2_cm_clken_pll, OMAP3430_IVA2_MOD, | 554 | omap2_cm_write_mod_reg(cm_context.iva2_cm_clken_pll, OMAP3430_IVA2_MOD, |
@@ -669,19 +670,11 @@ static struct cm_ll_data omap3xxx_cm_ll_data = { | |||
669 | 670 | ||
670 | int __init omap3xxx_cm_init(void) | 671 | int __init omap3xxx_cm_init(void) |
671 | { | 672 | { |
672 | if (!cpu_is_omap34xx()) | ||
673 | return 0; | ||
674 | |||
675 | return cm_register(&omap3xxx_cm_ll_data); | 673 | return cm_register(&omap3xxx_cm_ll_data); |
676 | } | 674 | } |
677 | 675 | ||
678 | static void __exit omap3xxx_cm_exit(void) | 676 | static void __exit omap3xxx_cm_exit(void) |
679 | { | 677 | { |
680 | if (!cpu_is_omap34xx()) | 678 | cm_unregister(&omap3xxx_cm_ll_data); |
681 | return; | ||
682 | |||
683 | /* Should never happen */ | ||
684 | WARN(cm_unregister(&omap3xxx_cm_ll_data), | ||
685 | "%s: cm_ll_data function pointer mismatch\n", __func__); | ||
686 | } | 679 | } |
687 | __exitcall(omap3xxx_cm_exit); | 680 | __exitcall(omap3xxx_cm_exit); |