Re: [RFC][PATCH 2/3] PM / sleep: Mechanism to avoid resuming runtime-suspended devices unnecessarily

From: Ulf Hansson
Date: Thu May 15 2014 - 08:07:08 EST


> Do we want to allow ->prepare() to return > 0 if the device isn't
> runtime suspended? If we do then non-suspended devices may be a common
> case. We should then avoid the extra overhead of disable + enable.
> So I would write:
>
> if (dev->power.direct_complete) {
> if (pm_runtime_status_suspended(dev)) {
> pm_runtime_disable(dev);
> if (dev->power.disable_depth == 1
> && pm_runtime_status_suspended(dev))
> goto Complete;
> pm_runtime_enable(dev);
> }
> dev->power.direct_complete = false;
> }
>

I am wondering whether the above pm_runtime_disable|enable actually
belongs better in driver/subsystem in favour of the PM core?

Doesn't the driver/subsystem anyway needs to be on top of what goes
on? Typically, while runtime PM has been disabled, that might affect
it's wakeup handling? Or this case are already handled due to other
circumstances?

Kind regards
Ulf Hansson
--
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/