Generic way for verifying GPIO wakeup capability
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? Thanks, Pintu
On Tue, 9 Jun 2020 at 23:06, Pintu Agarwal <pintu.ping@gmail.com> 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 ?
participants (1)
-
Pintu Agarwal