aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/gpio-button-hotplug
Commit message (Collapse)AuthorAgeFilesLines
* treewide: fix replace nbd@openwrt.org with nbd@nbd.nameFelix Fietkau2016-06-191-3/+3
| | | | | | Signed-off-by: Felix Fietkau <nbd@nbd.name> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@49379 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: gpio-button-hotplug: Add missing ONESHOT flag to threaded IRQ requestJohn Crispin2016-03-032-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Without the IRQF_ONESHOT flag in devm_request_threaded_irq() call I get following error: genirq: Threaded irq requested with handler=NULL and !ONESHOT for irq 56 gpio-keys gpio-keys: failed to request irq:56 for gpio:20 >From kernel/irq/manage.c: The interrupt was requested with handler = NULL, so we use the default primary handler for it. But it does not have the oneshot flag set. In combination with level interrupts this is deadly, because the default primary handler just wakes the thread, then the irq lines is reenabled, but the device still has the level irq asserted. Rinse and repeat.... While this works for edge type interrupts, we play it safe and reject unconditionally because we can't say for sure which type this interrupt really has. The type flags are unreliable as the underlying chip implementation can override them. Signed-off-by: Petr Štetiar <ynezz@true.cz> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@48894 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: gpio-button-hotplug: update to use threaded irq'sJohn Crispin2016-02-121-8/+5
| | | | | | | | | | | | Many gpio controllers 'cansleep' due to the fact that they are behind busses e.g. i2c etc. Using threaded irq's allows for 'sleep-able' gpio's to be used. Signed-off-by: Pushpal Sidhu <psidhu@gateworks.com> Signed-off-by: Tim Harvey <tharvey@gateworks.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@48696 3c298f89-4303-0410-b956-a3cf2f4a3e73
* gpio-button-hotplug: handle EPROBE_DEFER and other errorsHauke Mehrtens2015-07-261-5/+15
| | | | | | | | | | | of_get_gpio_flags() could return an error like EPROBE_DEFER which was not handled before. This patch takes the code from gpio_keys_polled.c for error handling and also improves some other unrelated small parts. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46502 3c298f89-4303-0410-b956-a3cf2f4a3e73
* build: drop obsolete kernel version dependenciesFelix Fietkau2015-01-241-1/+0
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44110 3c298f89-4303-0410-b956-a3cf2f4a3e73
* gpio-button-hotplug: remove #ifdef CONFIG_HOTPLUG, it is gone in newer ↵Felix Fietkau2014-05-231-7/+0
| | | | | | | | kernels (fixes #16413) Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40838 3c298f89-4303-0410-b956-a3cf2f4a3e73
* gpio-button-hotplug: fix (and extend) package descriptionHauke Mehrtens2014-05-141-2/+8
| | | | | | | Signed-off-by: Rafał Miłecki <zajec5@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40765 3c298f89-4303-0410-b956-a3cf2f4a3e73
* gpio-button-hotplug: don't build for 3.3 kernelsFlorian Fainelli2014-03-121-0/+1
| | | | | | | | | 3.3 kernels do not have the required changes which would make gpio-button-hotplug work, disallow building on those kernels for now. Signed-off-by: Florian Fainelli <florian@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39903 3c298f89-4303-0410-b956-a3cf2f4a3e73
* gpio-button-hotplug: add wwan buttonHauke Mehrtens2014-01-141-0/+1
| | | | | | | | | | | | The wimax key will be used as a generic wwan key starting with Linux 3.13. The brcm47xx target uses this key for the 3g buttons. Also remove the ifdef around KEY_WPS_BUTTON, this is in the kernel for a long time now. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39290 3c298f89-4303-0410-b956-a3cf2f4a3e73
* gpio-button-hotplug: fix crash on removeJonas Gorski2013-12-171-1/+1
| | | | | | | | | | Don't call gpio_keys_remove recursively. Setting the platform data to NULL triggered an oops on the second iteration, so there was no infinate loop. Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39124 3c298f89-4303-0410-b956-a3cf2f4a3e73
* gpio-button-hotplug: add irq mode to driverJohn Crispin2013-12-091-94/+176
| | | | | | Signed-off-by: John Crispin <blogic@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39021 3c298f89-4303-0410-b956-a3cf2f4a3e73
* gpio-button-hotplug: add support for sliding switchesJohn Crispin2013-11-111-12/+8
| | | | | | Signed-off-by: John Crispin <blogic@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38725 3c298f89-4303-0410-b956-a3cf2f4a3e73
* gpio-button-hotplug: add support for power buttonsJohn Crispin2013-10-281-0/+1
| | | | | | Signed-off-by: John Crispin <blogic@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38557 3c298f89-4303-0410-b956-a3cf2f4a3e73
* gpio-button-hotplug: debounce the initial button state, the first reads at ↵Felix Fietkau2013-08-051-2/+4
| | | | | | | | boot time might be wrong Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37702 3c298f89-4303-0410-b956-a3cf2f4a3e73
* gpio-button-hotplug: cleanup, fix compiler warningFelix Fietkau2013-08-031-4/+2
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37665 3c298f89-4303-0410-b956-a3cf2f4a3e73
* gpio-button-hotplug: fix active_low handling, possibly broken in r37643Felix Fietkau2013-08-031-8/+9
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37664 3c298f89-4303-0410-b956-a3cf2f4a3e73
* gpio-button-hotplug: use gpio_button_get_value() to initialize last_state.John Crispin2013-08-011-1/+1
| | | | | | | | | | | TL-WR720N-v3 has a slider switch composed of 2 GPIO buttons which can be used to swtich between 3 positions. At leat 1 button is in pressed state in any of those positions. Initialize 'last_state' as 0 (released) will cause the device to automatically enter failsafe mode on every bootup. Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37643 3c298f89-4303-0410-b956-a3cf2f4a3e73
* gpio-button-hotplug: use gpio_button_get_value() to fetch state.John Crispin2013-08-011-4/+1
| | | | | | Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37642 3c298f89-4303-0410-b956-a3cf2f4a3e73
* gpio-button-hotplug: add inline function gpio_button_get_value().John Crispin2013-08-011-0/+9
| | | | | | Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37641 3c298f89-4303-0410-b956-a3cf2f4a3e73
* gpio-button-hotplug: add support for EV_SWLuka Perkov2013-07-021-7/+21
| | | | | | Signed-off-by: Luka Perkov <luka@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37130 3c298f89-4303-0410-b956-a3cf2f4a3e73
* gpio-button-hotplug: improve gpio button debouncing, verify state changes ↵Felix Fietkau2013-06-291-6/+8
| | | | | | | | over multiple polls. fixes spurious failsafe triggers (#13784) Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37090 3c298f89-4303-0410-b956-a3cf2f4a3e73
* packages: clean up the package folderJohn Crispin2013-06-213-0/+609
Signed-off-by: John Crispin <blogic@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37007 3c298f89-4303-0410-b956-a3cf2f4a3e73