Re: [PATCH 10/13] OMAP: omap_device: add flag to disable automatic bus-level suspend/resume

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Paul Walmsley <paul@xxxxxxxxx> 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 <khilman@xxxxxxxxxxxxxxxxxxx>
>> ---
>>  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 <paul@xxxxxxxxx>
>
>>  	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 majordomo@xxxxxxxxxxxxxxx
>> 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux