Kevin Hilman wrote:
Convert the HSMMC driver to use the runtime PM layer. A notable aspect of this is that the use of the dev_attr data from the omap_hwmod allows the redaction of all of the integration-specific hacks inside this driver. Regulator control has not yet been converted; the driver still uses the platform_data set_power hook. In converting to runtime PM layer, the clock frameworks is no longer used for fclk and iclk. Instead, the runtime PM get and put functions are used. These result in calls into the OMAP runtime PM core which internally uses the omap_device API to disable/re-enable the device. (Note that the 2430 debounce clock is not currently handled here, only the fclk and iclk are managed.) In addition, the context_loss tracking has been removed from the driver and is now handled by omap_device + runtime PM core. The driver's ->runtime_suspend() hook will be called before device is disabled, and the driver's ->runtime_resume() hook will be called if context has been lost. Based on an initial conversion of this driver to use omap_device by by Paul Walmsely: http://marc.info/?l=linux-omap&m=124419789124570&w=2 and then converted to use runtime PM API instead of omap_device API. The omap_hsmmc driver has some hacks in this version to compensate for the fact that the main runtime PM core prevents runtime transitions during suspend. This prevens us from using common hooks for runtime PM and static PM. Current workaround is to hack in some extra put/get calls in the suspend/resume path while this issue is being discussed on linux-pm. Cc: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> --- arch/arm/mach-omap2/devices.c | 152 +++++++++-------------- arch/arm/mach-omap2/hsmmc.c | 12 +- arch/arm/plat-omap/include/plat/mmc.h | 5 + drivers/mmc/host/omap_hsmmc.c | 226 +++++++++++++++------------------ 4 files changed, 176 insertions(+), 219 deletions(-)
Why is PM runtime not simply PM? Can pm_runtime_put_sync() and pm_runtime_get_sync() have less obscure names? <snip> -- 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