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

From: SÃren Brinkmann
Date: Wed Feb 04 2015 - 13:27:26 EST


On Wed, 2015-02-04 at 10:19AM +0100, Linus Walleij wrote:
> On Thu, Jan 29, 2015 at 6:23 PM, SÃren Brinkmann
> <soren.brinkmann@xxxxxxxxxx> wrote:
> > On Mon, 2015-01-19 at 09:54AM +0100, Linus Walleij wrote:
> >> On Mon, Jan 19, 2015 at 5:20 AM, Alexandre Courbot <gnurou@xxxxxxxxx> wrote:
> >> > On Sat, Jan 17, 2015 at 1:49 AM, SÃren Brinkmann <soren.brinkmann@xxxxxxxxxx> wrote:
> >> >> On Fri, 2015-01-16 at 12:11PM +0100, Johan Hovold wrote:
> >>
> >> >>> Implementing proper wakeup support for unclaimed GPIOs would take some
> >> >>> work (if at all desired), but that is not a reason to be adding custom
> >> >>> implementations that violates the kernel's power policies and new ABIs
> >> >>> that would need to be maintained forever.
> >> (...)
> >> >>> Meanwhile you can (should) use gpio-keys if you need to wake your system
> >> >>> on gpio events.
> >> >>
> >> >> We had that discussion and I don't think GPIO keys is the right solution
> >> >> for every use-case.
> >> >
> >> > Sorry, it has been a while - can you remind us of why?
> >>
> >> There are such cases. Of course keys should be handled by GPIO-keys
> >> and these will trigger the right wakeup events in such cases.
> >>
> >> This is for more esoteric cases: we cannot have a kernel module for
> >> everything people want to do with GPIOs, and the use case I accept
> >> is GPIOs used in automatic control etc, think factory lines or doors.
> >> We can't have a "door" driver or "punch arm" or "fire alarm" driver
> >> in the kernel. Those are userspace things.
> >>
> >> Still such embedded systems need to be able to go to idle and
> >> sleep to conerve power, and then they need to put wakeups on
> >> these GPIOs.
> >>
> >> So it is a feature userspace needs, though as with much of the
> >> sysfs ABI it is very often abused for things like keys and LEDs which
> >> is an abomination but we can't do much about it :(
> >
> > Thanks for clearing that up.
> > What does that mean for this patch? Are we going ahead, accepting the
> > extension of this API or do all these use-cases have to wait for the
> > rewrite of a proper GPIO userspace interface?
>
> What needs to happen (IMHO) is to make gpio_chips properly obeying
> the device model, and then add the attributes for fiddling around with
> GPIOs to either the *real* device or create a new char device interface.
> Whatever works best. These mock devices are fragile and never
> worked properly especially in the removal path as Johans recent
> fixes has shown.

Sure, that would be a nice long-term solution. But until then this patch
would probably be welcomed by some people, without making the brokenness
of this interface much worse.

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/