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. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html