Paul Walmsley <p...@pwsan.com> writes:

> Hi Kevin,
>
> A few comments:
>
> Your "add runtime PM support at bus-level" series has a unstated 
> dependency on this patch.  If you fix one minor issue (below), it's 
> probably easiest if you merge it with that other series to avoid 
> cross-dependencies.

If I switch (back) to just using pm_runtime_* API in the system PM
path _noirq methods, then rather than setting this flag at the
omap_device level, drivers that want to prevent this can simply
do a runtime_pm_get_sync() if they want to prevent a bus-level
suspend.

Any thoughts/objectsion to that?

Kevin


> On Wed, 23 Jun 2010, Kevin Hilman wrote:
>
>> As part of the runtime PM support, bus-level code can automatically
>> handle the enable/idle for each omap_device.  There are, however, some
>> special cases where we don't want the bus-level layer to handle this,
>> and instead handle it manually.
>> 
>> Specific use cases are for omap_devices that are controlled
>> inside the idle path (like UART.)
>> 
>> Signed-off-by: Kevin Hilman <khil...@deeprootsystems.com>
>> ---
>>  arch/arm/plat-omap/include/plat/omap_device.h |    5 +++++
>>  1 files changed, 5 insertions(+), 0 deletions(-)
>> 
>> diff --git a/arch/arm/plat-omap/include/plat/omap_device.h 
>> b/arch/arm/plat-omap/include/plat/omap_device.h
>> index 3694b62..2cdbcdd 100644
>> --- a/arch/arm/plat-omap/include/plat/omap_device.h
>> +++ b/arch/arm/plat-omap/include/plat/omap_device.h
>> @@ -68,12 +68,16 @@ struct omap_device {
>>      struct omap_device_pm_latency   *pm_lats;
>>      u32                             dev_wakeup_lat;
>>      u32                             _dev_wakeup_lat_limit;
>> +    u32                             flags;
>
> This should be a u8.  Fix that and it is 
>
> Acked-by: Paul Walmsley <p...@pwsan.com>
>
>>      u8                              pm_lats_cnt;
>>      s8                              pm_lat_level;
>>      u8                              hwmods_cnt;
>>      u8                              _state;
>>  };
>>  
>> +/* flags for struct omap_device */
>> +#define OMAP_DEVICE_NO_BUS_SUSPEND     BIT(0)
>> +
>>  /* Device driver interface (call via platform_data fn ptrs) */
>>  
>>  int omap_device_enable(struct platform_device *pdev);
>> @@ -142,6 +146,7 @@ struct omap_device_pm_latency {
>>      u32 flags;
>>  };
>>  
>> +/* flags for struct omap_device_pm_latency */
>>  #define OMAP_DEVICE_LATENCY_AUTO_ADJUST BIT(1)
>>  
>>  /* Get omap_device pointer from platform_device pointer */
>> -- 
>> 1.7.0.2
>> 
>> --
>> 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
>> 
>
>
> - Paul
--
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