Re: [PATCH/RFC 1/2] PM / wakeup: Add callback for wake-up change notification

From: Rafael J. Wysocki
Date: Mon Apr 23 2018 - 05:37:43 EST


On Mon, Apr 23, 2018 at 11:32 AM, Geert Uytterhoeven
<geert@xxxxxxxxxxxxxx> wrote:
> Hi Rafael,
>
> On Mon, Apr 23, 2018 at 11:18 AM, Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> wrote:
>> On Wednesday, March 14, 2018 12:26:24 PM CEST Geert Uytterhoeven wrote:
>>> Add a callback to inform a device that his wake-up setting has been
>>> changed. This allows a device to synchronize device configuration with
>>> an external user action.
>>>
>>> E.g. on systems using a Rohm BD9571MWV PMIC and a toggle accessory power
>>> switch, the system suspend procedure is:
>>> 1. Configure PMIC for DDR backup mode, which changes the role of the
>>> accessory power switch from a power to a wake-up switch,
>>> 2. Switch accessory power switch off, to prepare for system suspend,
>>> 3. Suspend system.
>>>
>>> Hence step 1 cannot be done in the PMIC's suspend callback,
>>
>> I don't quite understand this, so can you please explain?
>>
>> What can't it be done from ->prepare() or even from a suspend notifier?
>>
>>> but it can be done in the new callback, in response to the user writing "enabled"
>>> to the PMIC's wakeup virtual file in sysfs.
>
> Step 2 (flip a switch on the board) is a manual step, to be done by the user.
> So it cannot be done from any suspend callback or notifier.

I still find it somewhat difficult to follow you here. :-)

How is this expected to work? Is the user expected to flip the switch
on the board and then write to "wakeup" or is that the other way
around?