Adrian Hunter <adrian.hun...@nokia.com> writes:

> 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 <p...@pwsan.com>
>> Signed-off-by: Kevin Hilman <khil...@deeprootsystems.com>
>> ---
>>  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?

The runtime PM names are not my creation.  This is a new PM framework
in mainline that I am taking advantage of.

See:

  http://elinux.org/OMAP_Power_Management#Run-time_PM

Kevin

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to