diff options
| -rw-r--r-- | arch/arm/mach-omap2/cclock3xxx_data.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/cpuidle44xx.c | 8 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/dpll3xxx.c | 92 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/omap_hwmod.c | 20 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_7xx_data.c | 9 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/pdata-quirks.c | 21 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/prminst44xx.c | 4 | ||||
| -rw-r--r-- | include/linux/clk/ti.h | 4 |
8 files changed, 125 insertions, 35 deletions
diff --git a/arch/arm/mach-omap2/cclock3xxx_data.c b/arch/arm/mach-omap2/cclock3xxx_data.c index 3b05aea56d1f..11ed9152e665 100644 --- a/arch/arm/mach-omap2/cclock3xxx_data.c +++ b/arch/arm/mach-omap2/cclock3xxx_data.c | |||
| @@ -433,7 +433,9 @@ static const struct clk_ops dpll4_m5x2_ck_ops = { | |||
| 433 | .enable = &omap2_dflt_clk_enable, | 433 | .enable = &omap2_dflt_clk_enable, |
| 434 | .disable = &omap2_dflt_clk_disable, | 434 | .disable = &omap2_dflt_clk_disable, |
| 435 | .is_enabled = &omap2_dflt_clk_is_enabled, | 435 | .is_enabled = &omap2_dflt_clk_is_enabled, |
| 436 | .set_rate = &omap3_clkoutx2_set_rate, | ||
| 436 | .recalc_rate = &omap3_clkoutx2_recalc, | 437 | .recalc_rate = &omap3_clkoutx2_recalc, |
| 438 | .round_rate = &omap3_clkoutx2_round_rate, | ||
| 437 | }; | 439 | }; |
| 438 | 440 | ||
| 439 | static const struct clk_ops dpll4_m5x2_ck_3630_ops = { | 441 | static const struct clk_ops dpll4_m5x2_ck_3630_ops = { |
diff --git a/arch/arm/mach-omap2/cpuidle44xx.c b/arch/arm/mach-omap2/cpuidle44xx.c index 4c158c838d40..01fc710c8181 100644 --- a/arch/arm/mach-omap2/cpuidle44xx.c +++ b/arch/arm/mach-omap2/cpuidle44xx.c | |||
| @@ -23,6 +23,8 @@ | |||
| 23 | #include "prm.h" | 23 | #include "prm.h" |
| 24 | #include "clockdomain.h" | 24 | #include "clockdomain.h" |
| 25 | 25 | ||
| 26 | #define MAX_CPUS 2 | ||
| 27 | |||
| 26 | /* Machine specific information */ | 28 | /* Machine specific information */ |
| 27 | struct idle_statedata { | 29 | struct idle_statedata { |
| 28 | u32 cpu_state; | 30 | u32 cpu_state; |
| @@ -48,11 +50,11 @@ static struct idle_statedata omap4_idle_data[] = { | |||
| 48 | }, | 50 | }, |
| 49 | }; | 51 | }; |
| 50 | 52 | ||
| 51 | static struct powerdomain *mpu_pd, *cpu_pd[NR_CPUS]; | 53 | static struct powerdomain *mpu_pd, *cpu_pd[MAX_CPUS]; |
| 52 | static struct clockdomain *cpu_clkdm[NR_CPUS]; | 54 | static struct clockdomain *cpu_clkdm[MAX_CPUS]; |
| 53 | 55 | ||
| 54 | static atomic_t abort_barrier; | 56 | static atomic_t abort_barrier; |
| 55 | static bool cpu_done[NR_CPUS]; | 57 | static bool cpu_done[MAX_CPUS]; |
| 56 | static struct idle_statedata *state_ptr = &omap4_idle_data[0]; | 58 | static struct idle_statedata *state_ptr = &omap4_idle_data[0]; |
| 57 | 59 | ||
| 58 | /* Private functions */ | 60 | /* Private functions */ |
diff --git a/arch/arm/mach-omap2/dpll3xxx.c b/arch/arm/mach-omap2/dpll3xxx.c index 3185ced807c9..3c418ea54bbe 100644 --- a/arch/arm/mach-omap2/dpll3xxx.c +++ b/arch/arm/mach-omap2/dpll3xxx.c | |||
| @@ -623,6 +623,32 @@ void omap3_dpll_deny_idle(struct clk_hw_omap *clk) | |||
| 623 | 623 | ||
| 624 | /* Clock control for DPLL outputs */ | 624 | /* Clock control for DPLL outputs */ |
| 625 | 625 | ||
| 626 | /* Find the parent DPLL for the given clkoutx2 clock */ | ||
| 627 | static struct clk_hw_omap *omap3_find_clkoutx2_dpll(struct clk_hw *hw) | ||
| 628 | { | ||
| 629 | struct clk_hw_omap *pclk = NULL; | ||
| 630 | struct clk *parent; | ||
| 631 | |||
| 632 | /* Walk up the parents of clk, looking for a DPLL */ | ||
| 633 | do { | ||
| 634 | do { | ||
| 635 | parent = __clk_get_parent(hw->clk); | ||
| 636 | hw = __clk_get_hw(parent); | ||
| 637 | } while (hw && (__clk_get_flags(hw->clk) & CLK_IS_BASIC)); | ||
| 638 | if (!hw) | ||
| 639 | break; | ||
| 640 | pclk = to_clk_hw_omap(hw); | ||
| 641 | } while (pclk && !pclk->dpll_data); | ||
| 642 | |||
| 643 | /* clk does not have a DPLL as a parent? error in the clock data */ | ||
| 644 | if (!pclk) { | ||
| 645 | WARN_ON(1); | ||
| 646 | return NULL; | ||
| 647 | } | ||
| 648 | |||
| 649 | return pclk; | ||
| 650 | } | ||
| 651 | |||
| 626 | /** | 652 | /** |
| 627 | * omap3_clkoutx2_recalc - recalculate DPLL X2 output virtual clock rate | 653 | * omap3_clkoutx2_recalc - recalculate DPLL X2 output virtual clock rate |
| 628 | * @clk: DPLL output struct clk | 654 | * @clk: DPLL output struct clk |
| @@ -637,27 +663,14 @@ unsigned long omap3_clkoutx2_recalc(struct clk_hw *hw, | |||
| 637 | unsigned long rate; | 663 | unsigned long rate; |
| 638 | u32 v; | 664 | u32 v; |
| 639 | struct clk_hw_omap *pclk = NULL; | 665 | struct clk_hw_omap *pclk = NULL; |
| 640 | struct clk *parent; | ||
| 641 | 666 | ||
| 642 | if (!parent_rate) | 667 | if (!parent_rate) |
| 643 | return 0; | 668 | return 0; |
| 644 | 669 | ||
| 645 | /* Walk up the parents of clk, looking for a DPLL */ | 670 | pclk = omap3_find_clkoutx2_dpll(hw); |
| 646 | do { | ||
| 647 | do { | ||
| 648 | parent = __clk_get_parent(hw->clk); | ||
| 649 | hw = __clk_get_hw(parent); | ||
| 650 | } while (hw && (__clk_get_flags(hw->clk) & CLK_IS_BASIC)); | ||
| 651 | if (!hw) | ||
| 652 | break; | ||
| 653 | pclk = to_clk_hw_omap(hw); | ||
| 654 | } while (pclk && !pclk->dpll_data); | ||
| 655 | 671 | ||
| 656 | /* clk does not have a DPLL as a parent? error in the clock data */ | 672 | if (!pclk) |
| 657 | if (!pclk) { | ||
| 658 | WARN_ON(1); | ||
| 659 | return 0; | 673 | return 0; |
| 660 | } | ||
| 661 | 674 | ||
| 662 | dd = pclk->dpll_data; | 675 | dd = pclk->dpll_data; |
| 663 | 676 | ||
| @@ -672,6 +685,55 @@ unsigned long omap3_clkoutx2_recalc(struct clk_hw *hw, | |||
| 672 | return rate; | 685 | return rate; |
| 673 | } | 686 | } |
| 674 | 687 | ||
| 688 | int omap3_clkoutx2_set_rate(struct clk_hw *hw, unsigned long rate, | ||
| 689 | unsigned long parent_rate) | ||
| 690 | { | ||
| 691 | return 0; | ||
| 692 | } | ||
| 693 | |||
| 694 | long omap3_clkoutx2_round_rate(struct clk_hw *hw, unsigned long rate, | ||
| 695 | unsigned long *prate) | ||
| 696 | { | ||
| 697 | const struct dpll_data *dd; | ||
| 698 | u32 v; | ||
| 699 | struct clk_hw_omap *pclk = NULL; | ||
| 700 | |||
| 701 | if (!*prate) | ||
| 702 | return 0; | ||
| 703 | |||
| 704 | pclk = omap3_find_clkoutx2_dpll(hw); | ||
| 705 | |||
| 706 | if (!pclk) | ||
| 707 | return 0; | ||
| 708 | |||
| 709 | dd = pclk->dpll_data; | ||
| 710 | |||
| 711 | /* TYPE J does not have a clkoutx2 */ | ||
| 712 | if (dd->flags & DPLL_J_TYPE) { | ||
| 713 | *prate = __clk_round_rate(__clk_get_parent(pclk->hw.clk), rate); | ||
| 714 | return *prate; | ||
| 715 | } | ||
| 716 | |||
| 717 | WARN_ON(!dd->enable_mask); | ||
| 718 | |||
| 719 | v = omap2_clk_readl(pclk, dd->control_reg) & dd->enable_mask; | ||
| 720 | v >>= __ffs(dd->enable_mask); | ||
| 721 | |||
| 722 | /* If in bypass, the rate is fixed to the bypass rate*/ | ||
| 723 | if (v != OMAP3XXX_EN_DPLL_LOCKED) | ||
| 724 | return *prate; | ||
| 725 | |||
| 726 | if (__clk_get_flags(hw->clk) & CLK_SET_RATE_PARENT) { | ||
| 727 | unsigned long best_parent; | ||
| 728 | |||
| 729 | best_parent = (rate / 2); | ||
| 730 | *prate = __clk_round_rate(__clk_get_parent(hw->clk), | ||
| 731 | best_parent); | ||
| 732 | } | ||
| 733 | |||
| 734 | return *prate * 2; | ||
| 735 | } | ||
| 736 | |||
| 675 | /* OMAP3/4 non-CORE DPLL clkops */ | 737 | /* OMAP3/4 non-CORE DPLL clkops */ |
| 676 | const struct clk_hw_omap_ops clkhwops_omap3_dpll = { | 738 | const struct clk_hw_omap_ops clkhwops_omap3_dpll = { |
| 677 | .allow_idle = omap3_dpll_allow_idle, | 739 | .allow_idle = omap3_dpll_allow_idle, |
diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c index 42d81885c700..1f33f5db10d5 100644 --- a/arch/arm/mach-omap2/omap_hwmod.c +++ b/arch/arm/mach-omap2/omap_hwmod.c | |||
| @@ -1947,29 +1947,31 @@ static int _ocp_softreset(struct omap_hwmod *oh) | |||
| 1947 | goto dis_opt_clks; | 1947 | goto dis_opt_clks; |
| 1948 | 1948 | ||
| 1949 | _write_sysconfig(v, oh); | 1949 | _write_sysconfig(v, oh); |
| 1950 | ret = _clear_softreset(oh, &v); | ||
| 1951 | if (ret) | ||
| 1952 | goto dis_opt_clks; | ||
| 1953 | |||
| 1954 | _write_sysconfig(v, oh); | ||
| 1955 | 1950 | ||
| 1956 | if (oh->class->sysc->srst_udelay) | 1951 | if (oh->class->sysc->srst_udelay) |
| 1957 | udelay(oh->class->sysc->srst_udelay); | 1952 | udelay(oh->class->sysc->srst_udelay); |
| 1958 | 1953 | ||
| 1959 | c = _wait_softreset_complete(oh); | 1954 | c = _wait_softreset_complete(oh); |
| 1960 | if (c == MAX_MODULE_SOFTRESET_WAIT) | 1955 | if (c == MAX_MODULE_SOFTRESET_WAIT) { |
| 1961 | pr_warning("omap_hwmod: %s: softreset failed (waited %d usec)\n", | 1956 | pr_warning("omap_hwmod: %s: softreset failed (waited %d usec)\n", |
| 1962 | oh->name, MAX_MODULE_SOFTRESET_WAIT); | 1957 | oh->name, MAX_MODULE_SOFTRESET_WAIT); |
| 1963 | else | 1958 | ret = -ETIMEDOUT; |
| 1959 | goto dis_opt_clks; | ||
| 1960 | } else { | ||
| 1964 | pr_debug("omap_hwmod: %s: softreset in %d usec\n", oh->name, c); | 1961 | pr_debug("omap_hwmod: %s: softreset in %d usec\n", oh->name, c); |
| 1962 | } | ||
| 1963 | |||
| 1964 | ret = _clear_softreset(oh, &v); | ||
| 1965 | if (ret) | ||
| 1966 | goto dis_opt_clks; | ||
| 1967 | |||
| 1968 | _write_sysconfig(v, oh); | ||
| 1965 | 1969 | ||
| 1966 | /* | 1970 | /* |
| 1967 | * XXX add _HWMOD_STATE_WEDGED for modules that don't come back from | 1971 | * XXX add _HWMOD_STATE_WEDGED for modules that don't come back from |
| 1968 | * _wait_target_ready() or _reset() | 1972 | * _wait_target_ready() or _reset() |
| 1969 | */ | 1973 | */ |
| 1970 | 1974 | ||
| 1971 | ret = (c == MAX_MODULE_SOFTRESET_WAIT) ? -ETIMEDOUT : 0; | ||
| 1972 | |||
| 1973 | dis_opt_clks: | 1975 | dis_opt_clks: |
| 1974 | if (oh->flags & HWMOD_CONTROL_OPT_CLKS_IN_RESET) | 1976 | if (oh->flags & HWMOD_CONTROL_OPT_CLKS_IN_RESET) |
| 1975 | _disable_optional_clocks(oh); | 1977 | _disable_optional_clocks(oh); |
diff --git a/arch/arm/mach-omap2/omap_hwmod_7xx_data.c b/arch/arm/mach-omap2/omap_hwmod_7xx_data.c index 18f333c440db..810c205d668b 100644 --- a/arch/arm/mach-omap2/omap_hwmod_7xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_7xx_data.c | |||
| @@ -1365,11 +1365,10 @@ static struct omap_hwmod_class_sysconfig dra7xx_spinlock_sysc = { | |||
| 1365 | .rev_offs = 0x0000, | 1365 | .rev_offs = 0x0000, |
| 1366 | .sysc_offs = 0x0010, | 1366 | .sysc_offs = 0x0010, |
| 1367 | .syss_offs = 0x0014, | 1367 | .syss_offs = 0x0014, |
| 1368 | .sysc_flags = (SYSC_HAS_AUTOIDLE | SYSC_HAS_CLOCKACTIVITY | | 1368 | .sysc_flags = (SYSC_HAS_AUTOIDLE | SYSC_HAS_ENAWAKEUP | |
| 1369 | SYSC_HAS_ENAWAKEUP | SYSC_HAS_SIDLEMODE | | 1369 | SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET | |
| 1370 | SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS), | 1370 | SYSS_HAS_RESET_STATUS), |
| 1371 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | | 1371 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART), |
| 1372 | SIDLE_SMART_WKUP), | ||
| 1373 | .sysc_fields = &omap_hwmod_sysc_type1, | 1372 | .sysc_fields = &omap_hwmod_sysc_type1, |
| 1374 | }; | 1373 | }; |
| 1375 | 1374 | ||
diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c index 3d5b24dcd9a4..c33e07e2f0d4 100644 --- a/arch/arm/mach-omap2/pdata-quirks.c +++ b/arch/arm/mach-omap2/pdata-quirks.c | |||
| @@ -22,6 +22,8 @@ | |||
| 22 | #include "common-board-devices.h" | 22 | #include "common-board-devices.h" |
| 23 | #include "dss-common.h" | 23 | #include "dss-common.h" |
| 24 | #include "control.h" | 24 | #include "control.h" |
| 25 | #include "omap-secure.h" | ||
| 26 | #include "soc.h" | ||
| 25 | 27 | ||
| 26 | struct pdata_init { | 28 | struct pdata_init { |
| 27 | const char *compatible; | 29 | const char *compatible; |
| @@ -169,6 +171,22 @@ static void __init am3517_evm_legacy_init(void) | |||
| 169 | omap_ctrl_writel(v, AM35XX_CONTROL_IP_SW_RESET); | 171 | omap_ctrl_writel(v, AM35XX_CONTROL_IP_SW_RESET); |
| 170 | omap_ctrl_readl(AM35XX_CONTROL_IP_SW_RESET); /* OCP barrier */ | 172 | omap_ctrl_readl(AM35XX_CONTROL_IP_SW_RESET); /* OCP barrier */ |
| 171 | } | 173 | } |
| 174 | |||
| 175 | static void __init nokia_n900_legacy_init(void) | ||
| 176 | { | ||
| 177 | hsmmc2_internal_input_clk(); | ||
| 178 | |||
| 179 | if (omap_type() == OMAP2_DEVICE_TYPE_SEC) { | ||
| 180 | if (IS_ENABLED(CONFIG_ARM_ERRATA_430973)) { | ||
| 181 | pr_info("RX-51: Enabling ARM errata 430973 workaround\n"); | ||
| 182 | /* set IBE to 1 */ | ||
| 183 | rx51_secure_update_aux_cr(BIT(6), 0); | ||
| 184 | } else { | ||
| 185 | pr_warning("RX-51: Not enabling ARM errata 430973 workaround\n"); | ||
| 186 | pr_warning("Thumb binaries may crash randomly without this workaround\n"); | ||
| 187 | } | ||
| 188 | } | ||
| 189 | } | ||
| 172 | #endif /* CONFIG_ARCH_OMAP3 */ | 190 | #endif /* CONFIG_ARCH_OMAP3 */ |
| 173 | 191 | ||
| 174 | #ifdef CONFIG_ARCH_OMAP4 | 192 | #ifdef CONFIG_ARCH_OMAP4 |
| @@ -239,6 +257,7 @@ struct of_dev_auxdata omap_auxdata_lookup[] __initdata = { | |||
| 239 | #endif | 257 | #endif |
| 240 | #ifdef CONFIG_ARCH_OMAP3 | 258 | #ifdef CONFIG_ARCH_OMAP3 |
| 241 | OF_DEV_AUXDATA("ti,omap3-padconf", 0x48002030, "48002030.pinmux", &pcs_pdata), | 259 | OF_DEV_AUXDATA("ti,omap3-padconf", 0x48002030, "48002030.pinmux", &pcs_pdata), |
| 260 | OF_DEV_AUXDATA("ti,omap3-padconf", 0x480025a0, "480025a0.pinmux", &pcs_pdata), | ||
| 242 | OF_DEV_AUXDATA("ti,omap3-padconf", 0x48002a00, "48002a00.pinmux", &pcs_pdata), | 261 | OF_DEV_AUXDATA("ti,omap3-padconf", 0x48002a00, "48002a00.pinmux", &pcs_pdata), |
| 243 | /* Only on am3517 */ | 262 | /* Only on am3517 */ |
| 244 | OF_DEV_AUXDATA("ti,davinci_mdio", 0x5c030000, "davinci_mdio.0", NULL), | 263 | OF_DEV_AUXDATA("ti,davinci_mdio", 0x5c030000, "davinci_mdio.0", NULL), |
| @@ -259,7 +278,7 @@ struct of_dev_auxdata omap_auxdata_lookup[] __initdata = { | |||
| 259 | static struct pdata_init pdata_quirks[] __initdata = { | 278 | static struct pdata_init pdata_quirks[] __initdata = { |
| 260 | #ifdef CONFIG_ARCH_OMAP3 | 279 | #ifdef CONFIG_ARCH_OMAP3 |
| 261 | { "compulab,omap3-sbc-t3730", omap3_sbc_t3730_legacy_init, }, | 280 | { "compulab,omap3-sbc-t3730", omap3_sbc_t3730_legacy_init, }, |
| 262 | { "nokia,omap3-n900", hsmmc2_internal_input_clk, }, | 281 | { "nokia,omap3-n900", nokia_n900_legacy_init, }, |
| 263 | { "nokia,omap3-n9", hsmmc2_internal_input_clk, }, | 282 | { "nokia,omap3-n9", hsmmc2_internal_input_clk, }, |
| 264 | { "nokia,omap3-n950", hsmmc2_internal_input_clk, }, | 283 | { "nokia,omap3-n950", hsmmc2_internal_input_clk, }, |
| 265 | { "isee,omap3-igep0020", omap3_igep0020_legacy_init, }, | 284 | { "isee,omap3-igep0020", omap3_igep0020_legacy_init, }, |
diff --git a/arch/arm/mach-omap2/prminst44xx.c b/arch/arm/mach-omap2/prminst44xx.c index 6334b96b4097..280f3c58abe5 100644 --- a/arch/arm/mach-omap2/prminst44xx.c +++ b/arch/arm/mach-omap2/prminst44xx.c | |||
| @@ -183,11 +183,11 @@ void omap4_prminst_global_warm_sw_reset(void) | |||
| 183 | OMAP4_PRM_RSTCTRL_OFFSET); | 183 | OMAP4_PRM_RSTCTRL_OFFSET); |
| 184 | v |= OMAP4430_RST_GLOBAL_WARM_SW_MASK; | 184 | v |= OMAP4430_RST_GLOBAL_WARM_SW_MASK; |
| 185 | omap4_prminst_write_inst_reg(v, OMAP4430_PRM_PARTITION, | 185 | omap4_prminst_write_inst_reg(v, OMAP4430_PRM_PARTITION, |
| 186 | OMAP4430_PRM_DEVICE_INST, | 186 | dev_inst, |
| 187 | OMAP4_PRM_RSTCTRL_OFFSET); | 187 | OMAP4_PRM_RSTCTRL_OFFSET); |
| 188 | 188 | ||
| 189 | /* OCP barrier */ | 189 | /* OCP barrier */ |
| 190 | v = omap4_prminst_read_inst_reg(OMAP4430_PRM_PARTITION, | 190 | v = omap4_prminst_read_inst_reg(OMAP4430_PRM_PARTITION, |
| 191 | OMAP4430_PRM_DEVICE_INST, | 191 | dev_inst, |
| 192 | OMAP4_PRM_RSTCTRL_OFFSET); | 192 | OMAP4_PRM_RSTCTRL_OFFSET); |
| 193 | } | 193 | } |
diff --git a/include/linux/clk/ti.h b/include/linux/clk/ti.h index 092b64168d7f..4a21a872dbbd 100644 --- a/include/linux/clk/ti.h +++ b/include/linux/clk/ti.h | |||
| @@ -245,6 +245,10 @@ long omap2_dpll_round_rate(struct clk_hw *hw, unsigned long target_rate, | |||
| 245 | void omap2_init_clk_clkdm(struct clk_hw *clk); | 245 | void omap2_init_clk_clkdm(struct clk_hw *clk); |
| 246 | unsigned long omap3_clkoutx2_recalc(struct clk_hw *hw, | 246 | unsigned long omap3_clkoutx2_recalc(struct clk_hw *hw, |
| 247 | unsigned long parent_rate); | 247 | unsigned long parent_rate); |
| 248 | int omap3_clkoutx2_set_rate(struct clk_hw *hw, unsigned long rate, | ||
| 249 | unsigned long parent_rate); | ||
| 250 | long omap3_clkoutx2_round_rate(struct clk_hw *hw, unsigned long rate, | ||
| 251 | unsigned long *prate); | ||
| 248 | int omap2_clkops_enable_clkdm(struct clk_hw *hw); | 252 | int omap2_clkops_enable_clkdm(struct clk_hw *hw); |
| 249 | void omap2_clkops_disable_clkdm(struct clk_hw *hw); | 253 | void omap2_clkops_disable_clkdm(struct clk_hw *hw); |
| 250 | int omap2_clk_disable_autoidle_all(void); | 254 | int omap2_clk_disable_autoidle_all(void); |
