Re: [PATCH v8 3/4] PM / sleep: Go direct_complete if driver has no callbacks

From: Tomeu Vizoso
Date: Mon Oct 05 2015 - 08:21:59 EST


On 2 October 2015 at 15:42, Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> wrote:
> On Friday, October 02, 2015 10:40:49 AM Ulf Hansson wrote:
>> On 2 October 2015 at 10:10, Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> wrote:
>> > On 2 October 2015 at 09:48, Ulf Hansson <ulf.hansson@xxxxxxxxxx> wrote:
>> >> On 2 October 2015 at 09:14, Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> wrote:
>> >>> If a suitable prepare callback cannot be found for a given device and
>> >>> its driver has no PM callbacks at all, assume that it can go direct to
>> >>> complete when the system goes to sleep.
>> >>>
>> >>> The reason for this is that there's lots of devices in a system that do
>> >>> no PM at all and there's no reason for them to prevent their ancestors
>> >>> to do direct_complete if they can support it.
>> >>>
>> >>> Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
>> >>> ---
>> >>>
>> >>> Changes in v8:
>> >>> - Move no_pm_callbacks field into CONFIG_PM_SLEEP
>> >>> - Call device_check_pm_callbacks only after a device is bound or unbound
>> >>
>> >> Devices that don't use a driver, will not get this feature for "free".
>> >> I expect in those cases, they will have to call
>> >> device_check_pm_callbacks() themselves, right?
>> >
>> > You are right, but wonder if we shouldn't go back to calling
>> > device_check_pm_callbacks() from device_pm_add() and
>> > dev_pm_domain_set() so they don't have to.
>>
>> That seems reasonable to me, and I didn't quite understand why you
>> decided to remove it. :-)
>
> Right.
>
> device_check_pm_callbacks() needs to be called on device registration too
> (in case the device doesn't have a driver and doesn't use a PM domain) and
> it won't hurt to call it in dev_pm_domain_set() either, although that likely
> will be redundant in the majority of cases.

I got it. I misunderstood your comment from the other day.

Thanks,

Tomeu

> Thanks,
> Rafael
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/