Implement OMAP PM layer omap_pm_set_max_dev_wakeup_lat API by creating similar APIs at the omap_device and omap_hwmod levels. The omap_hwmod level call is the layer with access to the powerdomain core, so it is the place where the powerdomain is queried to set and release the constraints. NOTE: only works for devices which have been converted to use omap_device/omap_hwmod. Longer term, we could possibly remove this API from the OMAP PM layer, and instead directly use the device level API. The power domains get the next power state programmed directly in the registers via pwrdm_wakeuplat_update_pwrst. Note about PM QOS: the MPU and CORE power domains get the next power state via cpuidle, which get the strongest wake-up latency constraint by querying PM QOS. The usage of PM QOS is temporary, until a generic solution is in place. Jean Pihet (2): OMAP PM: create a PM layer plugin for the devices wakeup latency constraints OMAP: PM: implement devices wakeup latency constraints APIs arch/arm/mach-omap2/omap_hwmod.c | 62 +++++- arch/arm/mach-omap2/powerdomain.c | 197 ++++++++++++++ arch/arm/mach-omap2/powerdomain.h | 39 +++- arch/arm/mach-omap2/powerdomains3xxx_data.c | 60 ++++ arch/arm/plat-omap/Kconfig | 7 + arch/arm/plat-omap/Makefile | 1 + arch/arm/plat-omap/include/plat/omap_device.h | 2 + arch/arm/plat-omap/include/plat/omap_hwmod.h | 2 + arch/arm/plat-omap/omap-pm-constraints.c | 358 +++++++++++++++++++++++++ arch/arm/plat-omap/omap_device.c | 28 ++ 10 files changed, 754 insertions(+), 2 deletions(-) create mode 100644 arch/arm/plat-omap/omap-pm-constraints.c -- 1.7.2.3 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html