diff options
| -rw-r--r-- | arch/arm/mach-omap2/clockdomain44xx.c | 10 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/cminst44xx.c | 14 |
2 files changed, 7 insertions, 17 deletions
diff --git a/arch/arm/mach-omap2/clockdomain44xx.c b/arch/arm/mach-omap2/clockdomain44xx.c index 4f04dd11d655..762f2cc542ce 100644 --- a/arch/arm/mach-omap2/clockdomain44xx.c +++ b/arch/arm/mach-omap2/clockdomain44xx.c | |||
| @@ -70,7 +70,7 @@ static int omap4_clkdm_clear_all_wkup_sleep_deps(struct clockdomain *clkdm) | |||
| 70 | 70 | ||
| 71 | static int omap4_clkdm_sleep(struct clockdomain *clkdm) | 71 | static int omap4_clkdm_sleep(struct clockdomain *clkdm) |
| 72 | { | 72 | { |
| 73 | omap4_cminst_clkdm_force_sleep(clkdm->prcm_partition, | 73 | omap4_cminst_clkdm_enable_hwsup(clkdm->prcm_partition, |
| 74 | clkdm->cm_inst, clkdm->clkdm_offs); | 74 | clkdm->cm_inst, clkdm->clkdm_offs); |
| 75 | return 0; | 75 | return 0; |
| 76 | } | 76 | } |
| @@ -90,8 +90,12 @@ static void omap4_clkdm_allow_idle(struct clockdomain *clkdm) | |||
| 90 | 90 | ||
| 91 | static void omap4_clkdm_deny_idle(struct clockdomain *clkdm) | 91 | static void omap4_clkdm_deny_idle(struct clockdomain *clkdm) |
| 92 | { | 92 | { |
| 93 | omap4_cminst_clkdm_disable_hwsup(clkdm->prcm_partition, | 93 | if (clkdm->flags & CLKDM_CAN_FORCE_WAKEUP) |
| 94 | clkdm->cm_inst, clkdm->clkdm_offs); | 94 | omap4_clkdm_wakeup(clkdm); |
| 95 | else | ||
| 96 | omap4_cminst_clkdm_disable_hwsup(clkdm->prcm_partition, | ||
| 97 | clkdm->cm_inst, | ||
| 98 | clkdm->clkdm_offs); | ||
| 95 | } | 99 | } |
| 96 | 100 | ||
| 97 | static int omap4_clkdm_clk_enable(struct clockdomain *clkdm) | 101 | static int omap4_clkdm_clk_enable(struct clockdomain *clkdm) |
diff --git a/arch/arm/mach-omap2/cminst44xx.c b/arch/arm/mach-omap2/cminst44xx.c index 1a39945d9ff8..1894015ff04b 100644 --- a/arch/arm/mach-omap2/cminst44xx.c +++ b/arch/arm/mach-omap2/cminst44xx.c | |||
| @@ -235,20 +235,6 @@ void omap4_cminst_clkdm_disable_hwsup(u8 part, s16 inst, u16 cdoffs) | |||
| 235 | } | 235 | } |
| 236 | 236 | ||
| 237 | /** | 237 | /** |
| 238 | * omap4_cminst_clkdm_force_sleep - try to put a clockdomain into idle | ||
| 239 | * @part: PRCM partition ID that the clockdomain registers exist in | ||
| 240 | * @inst: CM instance register offset (*_INST macro) | ||
| 241 | * @cdoffs: Clockdomain register offset (*_CDOFFS macro) | ||
| 242 | * | ||
| 243 | * Put a clockdomain referred to by (@part, @inst, @cdoffs) into idle | ||
| 244 | * No return value. | ||
| 245 | */ | ||
| 246 | void omap4_cminst_clkdm_force_sleep(u8 part, s16 inst, u16 cdoffs) | ||
| 247 | { | ||
| 248 | _clktrctrl_write(OMAP34XX_CLKSTCTRL_FORCE_SLEEP, part, inst, cdoffs); | ||
| 249 | } | ||
| 250 | |||
| 251 | /** | ||
| 252 | * omap4_cminst_clkdm_force_sleep - try to take a clockdomain out of idle | 238 | * omap4_cminst_clkdm_force_sleep - try to take a clockdomain out of idle |
| 253 | * @part: PRCM partition ID that the clockdomain registers exist in | 239 | * @part: PRCM partition ID that the clockdomain registers exist in |
| 254 | * @inst: CM instance register offset (*_INST macro) | 240 | * @inst: CM instance register offset (*_INST macro) |
