Re: [PATCH v3] gpio: lib-sysfs: Add 'wakeup' attribute

From: SÃren Brinkmann
Date: Fri Oct 31 2014 - 12:17:09 EST


On Fri, 2014-10-31 at 08:03AM +0100, Linus Walleij wrote:
> On Mon, Oct 27, 2014 at 7:30 PM, Soren Brinkmann
> <soren.brinkmann@xxxxxxxxxx> wrote:
>
> > Add an attribute 'wakeup' to the GPIO sysfs interface which allows
> > marking/unmarking a GPIO as wake IRQ.
> > The file 'wakeup' is created in each exported GPIOs directory, if an IRQ
> > is associated with that GPIO and the irqchip implements set_wake().
> > Writing 'enabled' to that file will enable wake for that GPIO, while
> > writing 'disabled' will disable wake.
> > Reading that file will return either 'disabled' or 'enabled' depening on
> > the currently set flag for the GPIO's IRQ.
> >
> > Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx>
> > Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
> > ---
> > v3:
> > - add documentation
> > v2:
> > - fix error path to unlock mutex before return
> (...)
>
> Looking better!
>
> > + "wakeup" ... reads as either "enabled" or "disabled". Write these
> > + strings to set/clear the 'wakeup' flag of the IRQ associated
> > + with this GPIO. If the IRQ has the 'wakeup' flag set, it can
> > + wake the system from sleep states.
> > +
> > + This file exists only if the pin can generate interrupts and
> > + the driver implements the required infrastructure.
>
> Should this not be 0/1 rather than the string "enabled"/"disabled"?
>
> I think that is the common pattern in sysfs?
>
> Not sure, but want an indication from the ABI people.

So, as I told Alexandre, 'wakeup' including the values 'enabled' &
'disabled' is how devices that support wake expose this functionality. I
think this is more in line with what already exists. As reference, have
a look at https://www.kernel.org/doc/Documentation/power/devices.txt. It
has a section '/sys/devices/.../power/wakeup files'.

Thanks,
SÃren
--
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/