On Tue, 9 Jun 2020 at 23:06, Pintu Agarwal <pintu.ping@xxxxxxxxx> wrote: > > Hi All, > > I am looking for ways to wakeup any devices (from sleep) using any > arbitrary gpio wakeup method in a generic way (either from user space > or kernel space) that should work on any kernel version (starting from > 4.14 onwards). > > What are the options available right now ? > I wanted to experiment with all of them and decide which is best for us. > > Is /sys/class/gpio/ method still valid with the latest kernel ? > Or is there any other method to do it from user space ? > > One option I know is to use enable/disable_irq_wake() API from kernel > driver suspend/resume path. > Just like this: > https://lwn.net/Articles/569027/ > > But this requires an additional kernel driver and device-tree changes > for each gpio wakeup, which the end-user needs to implement on their > own. > > Is there any other existing generic mechanism? > https://embeddedbits.org/new-linux-kernel-gpio-user-space-interface/ Is it possible to achieve this using this new interface ? And I think another option is to use gpio-keys defined in device-tree. Will this method work for any wake-capable gpio ? How to verify this for any arbitrary gpio ?