ARM: OMAP2+: PM: share clkdms_setup() across OMAP2, 3, 4
[deliverable/linux.git] / arch / arm / mach-omap2 / pm.c
index c3fe8eada2ccfdb8a1d6514cede585902c5a13ee..f9e807958f3e9940e71c4a7620a583a883e354b2 100644 (file)
@@ -68,6 +68,16 @@ static void omap2_init_processor_devices(void)
 #define FORCEWAKEUP_SWITCH     0
 #define LOWPOWERSTATE_SWITCH   1
 
+int __init omap_pm_clkdms_setup(struct clockdomain *clkdm, void *unused)
+{
+       if (clkdm->flags & CLKDM_CAN_ENABLE_AUTO)
+               clkdm_allow_idle(clkdm);
+       else if (clkdm->flags & CLKDM_CAN_FORCE_SLEEP &&
+                atomic_read(&clkdm->usecount) == 0)
+               clkdm_sleep(clkdm);
+       return 0;
+}
+
 /*
  * This sets pwrdm state (other than mpu & core. Currently only ON &
  * RET are supported.
This page took 0.032619 seconds and 5 git commands to generate.