Thread (10 messages) 10 messages, 4 authors, 2015-02-05

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

From: Linus Walleij <hidden>
Date: 2015-02-04 09:19:45
Also in: linux-gpio, lkml

On Thu, Jan 29, 2015 at 6:23 PM, Sören Brinkmann
[off-list ref] wrote:
On Mon, 2015-01-19 at 09:54AM +0100, Linus Walleij wrote:
quoted
On Mon, Jan 19, 2015 at 5:20 AM, Alexandre Courbot [off-list ref] wrote:
quoted
On Sat, Jan 17, 2015 at 1:49 AM, Sören Brinkmann [off-list ref] wrote:
quoted
On Fri, 2015-01-16 at 12:11PM +0100, Johan Hovold wrote:
quoted
quoted
quoted
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.
(...)
quoted
quoted
quoted
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.

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help