Re: [OpenWrt-Devel] [PATCH] ath79: convert devices to interrupt-driven gpio-keys

2019-08-10 Thread Dmitry Tunin
> So should it remove the change for ath9k keys and only do the other ones at 
> the moment?

That's a good question. I suggest to leave devices that HAVE some keys
attached to ath9k keys using 'gpio-keys-polled'.
It makes no sense to use both drivers.

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH] ath79: convert devices to interrupt-driven gpio-keys

2019-08-10 Thread mail
> -Original Message-
> From: openwrt-devel [mailto:openwrt-devel-boun...@lists.openwrt.org]
> On Behalf Of Dmitry Tunin
> Sent: Samstag, 10. August 2019 18:25
> To: Adrian Schmutzler 
> Cc: OpenWrt Development List 
> Subject: Re: [OpenWrt-Devel] [PATCH] ath79: convert devices to interrupt-
> driven gpio-keys
> 
> > Can I add your Tested-by?
> 
> I tested only one target, it makes no sense to add this. And I what about
> ath9k keys. They are a problem.

So should it remove the change for ath9k keys and only do the other ones at the 
moment?


openpgp-digital-signature.asc
Description: PGP signature
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH] ath79: convert devices to interrupt-driven gpio-keys

2019-08-10 Thread Dmitry Tunin
If you will be pushing it some way, remove debounce-interval too.
Without it gpio-keys work better.

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH] ath79: convert devices to interrupt-driven gpio-keys

2019-08-10 Thread Dmitry Tunin
> Can I add your Tested-by?

I tested only one target, it makes no sense to add this. And I what
about ath9k keys. They are a problem.

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH] ath79: convert devices to interrupt-driven gpio-keys

2019-08-10 Thread mail
> -Original Message-
> From: openwrt-devel [mailto:openwrt-devel-boun...@lists.openwrt.org]
> On Behalf Of Dmitry Tunin
> Sent: Samstag, 10. August 2019 11:53
> To: Adrian Schmutzler 
> Cc: OpenWrt Development List 
> Subject: Re: [OpenWrt-Devel] [PATCH] ath79: convert devices to interrupt-
> driven gpio-keys
> 
> I tested gpio-keys on dir825b1 and didn't see a noticable change against gpio-
> keys-polled. Both miss events and work poorly.
> So no objections for a switch.

Can I add your Tested-by?

> 
> пн, 5 авг. 2019 г. в 19:27, Dmitry Tunin :
> >
> > > This recent Pull Request used gpio-keys on ar7100:
> > > https://github.com/openwrt/openwrt/pull/1359
> > >
> > > However, I cannot extract how well this was tested.
> >
> > I will have a device for testing around the next weekend. I'll report back.
> 
> ___
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel


openpgp-digital-signature.asc
Description: PGP signature
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH] ath79: convert devices to interrupt-driven gpio-keys

2019-08-10 Thread Dmitry Tunin
I tested gpio-keys on dir825b1 and didn't see a noticable change
against gpio-keys-polled. Both miss events and work poorly.
So no objections for a switch.

пн, 5 авг. 2019 г. в 19:27, Dmitry Tunin :
>
> > This recent Pull Request used gpio-keys on ar7100: 
> > https://github.com/openwrt/openwrt/pull/1359
> >
> > However, I cannot extract how well this was tested.
>
> I will have a device for testing around the next weekend. I'll report back.

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH] ath79: convert devices to interrupt-driven gpio-keys

2019-08-05 Thread Dmitry Tunin
> This recent Pull Request used gpio-keys on ar7100: 
> https://github.com/openwrt/openwrt/pull/1359
>
> However, I cannot extract how well this was tested.

I will have a device for testing around the next weekend. I'll report back.

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH] ath79: convert devices to interrupt-driven gpio-keys

2019-08-05 Thread Adrian Schmutzler
> -Original Message-
> From: Dmitry Tunin [mailto:hanipouspi...@gmail.com]
> Sent: Montag, 5. August 2019 17:55
> To: Adrian Schmutzler 
> Cc: OpenWrt Development List 
> Subject: Re: [OpenWrt-Devel] [PATCH] ath79: convert devices to interrupt-
> driven gpio-keys
> 
> пн, 5 авг. 2019 г. в 16:53, Adrian Schmutzler :
> >
> > > -Original Message-
> > > From: Dmitry Tunin [mailto:hanipouspi...@gmail.com]
> > > Sent: Freitag, 2. August 2019 18:51
> > > To: Adrian Schmutzler 
> > > Cc: OpenWrt Development List 
> > > Subject: Re: [OpenWrt-Devel] [PATCH] ath79: convert devices to interrupt-
> > > driven gpio-keys
> > >
> > > пт, 2 авг. 2019 г. в 17:46, Adrian Schmutzler
> :
> > > >
> > > > This converts all remaining devices to use interrupt-driven
> > > > gpio-keys compatible instead of gpio-keys-polled.
> > > > The poll-interval is removed.
> > > >
> > >
> > > When I ported DIR-825-b1 to ath79 last year, "gpio-keys" where very
> > > unreliable and I had to switch to "gpio-keys-polled".
> > > I didn't test it since. I'll be able to test only next week.
> >
> > I mostly have TP-Link devices, and I've never experienced any issues with
> those.
> > Looking forward to your test!
> 
> This is not about vendor, but about SoC. ar7100 may be different from
> other devicex on ar9xxx.

This recent Pull Request used gpio-keys on ar7100: 
https://github.com/openwrt/openwrt/pull/1359

However, I cannot extract how well this was tested.


openpgp-digital-signature.asc
Description: PGP signature
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH] ath79: convert devices to interrupt-driven gpio-keys

2019-08-05 Thread Dmitry Tunin
пн, 5 авг. 2019 г. в 16:53, Adrian Schmutzler :
>
> > -Original Message-
> > From: Dmitry Tunin [mailto:hanipouspi...@gmail.com]
> > Sent: Freitag, 2. August 2019 18:51
> > To: Adrian Schmutzler 
> > Cc: OpenWrt Development List 
> > Subject: Re: [OpenWrt-Devel] [PATCH] ath79: convert devices to interrupt-
> > driven gpio-keys
> >
> > пт, 2 авг. 2019 г. в 17:46, Adrian Schmutzler 
> > :
> > >
> > > This converts all remaining devices to use interrupt-driven
> > > gpio-keys compatible instead of gpio-keys-polled.
> > > The poll-interval is removed.
> > >
> >
> > When I ported DIR-825-b1 to ath79 last year, "gpio-keys" where very
> > unreliable and I had to switch to "gpio-keys-polled".
> > I didn't test it since. I'll be able to test only next week.
>
> I mostly have TP-Link devices, and I've never experienced any issues with 
> those.
> Looking forward to your test!

This is not about vendor, but about SoC. ar7100 may be different from
other devicex on ar9xxx.

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH] ath79: convert devices to interrupt-driven gpio-keys

2019-08-05 Thread Adrian Schmutzler
> -Original Message-
> From: Dmitry Tunin [mailto:hanipouspi...@gmail.com]
> Sent: Freitag, 2. August 2019 18:51
> To: Adrian Schmutzler 
> Cc: OpenWrt Development List 
> Subject: Re: [OpenWrt-Devel] [PATCH] ath79: convert devices to interrupt-
> driven gpio-keys
> 
> пт, 2 авг. 2019 г. в 17:46, Adrian Schmutzler :
> >
> > This converts all remaining devices to use interrupt-driven
> > gpio-keys compatible instead of gpio-keys-polled.
> > The poll-interval is removed.
> >
> 
> When I ported DIR-825-b1 to ath79 last year, "gpio-keys" where very
> unreliable and I had to switch to "gpio-keys-polled".
> I didn't test it since. I'll be able to test only next week.

I mostly have TP-Link devices, and I've never experienced any issues with those.
Looking forward to your test!

Best

Adrian


openpgp-digital-signature.asc
Description: PGP signature
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH] ath79: convert devices to interrupt-driven gpio-keys

2019-08-02 Thread Christian Lamparter
On Friday, August 2, 2019 8:03:17 PM CEST Jeff Kletsky wrote:
> 
> On 8/2/19 7:46 AM, Adrian Schmutzler wrote:
> > This converts all remaining devices to use interrupt-driven
> > gpio-keys compatible instead of gpio-keys-polled.
> > The poll-interval is removed.
> >
> 
> Not that this proposed change makes the situation any different, but 
> many devices have switches that are poorly handled by the "key-press" 
> approach.
> 
> One specific case that has bothered me (but not enough to dig into it) 
> is the Archer C7v2 that has an "rfkill" switch. Not only is it 
> "backwards" (label "Off" is really "wireless on"), but it only responds 
> to changes in state, so its state at boot is not respected. You can't, 
> as I recall, set it for "wireless off", plug in the device, and have the 
> wireless be off when OpenWrt boots.
> 
> The GL-AR300M series and the GL-AR750S also have a multi-position "mode" 
> switch.
> 
> Right now, all these switches have to be toggled twice to have their 
> position be properly respected by the OS if they're not in the 
> "expected" position.
> 
> It would seem that, at some point, switches like these would be better 
> served by a driver that can both detect position, as well as transition. 
> This would likely also require a way to poll the position at 
> "impacted-service start" and ubus support along with changes in existing 
> hotplug scripts.

>From playing around with gpio-keys and the openwrt's gpio-button-hotplug.c
in the past few weeks, I think I can tell you what's happening here.
One (there are more) of the problems is that gpio-keys module gets loaded
even before the procd enters its "preinit" phase (the module is part of 
/etc/modules-boot.d/30-gpio-button-hotplug). And the bad news is that
even once procd hits the preinit phase, it intentionally forwards everything
to the failsafe button events script:

|   [ "if",
|   [ "eq", "SUBSYSTEM", "button" ],
|   [ "exec", "/etc/rc.button/failsafe" ]
|  ]



/etc/rc.button/failsafe itself is also very telling:

|#!/bin/sh
|
|[ "${TYPE}" = "switch" ] || echo ${BUTTON} > /tmp/failsafe_button
|
|return 0

The long and short of this is that initial switch state event is
generated but it has no change of getting processed properly
at the time the driver is loaded as the system isn't ready.

Note: If it was loaded later when procd is in the "init" phase,
then it works because events are then processed by hotplug.json,
which does:
 
[ "if",
[ "and",
[ "has", "BUTTON" ],
[ "eq", "SUBSYSTEM", "button" ]
],
[ "button", "/etc/rc.button/%BUTTON%" ]
],



Then everything would work as you expect.
so, it's not the driver that lets you down here, because it can't
do much about these userspace antics.

(Note: OpenWrt's gpio-button-hotplug.c uses the BUTTON subsystem
event type for both EV_KEY (button) and EV_SW (switches) events.
So don't let this confuse you).

Regards,
Christian



___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH] ath79: convert devices to interrupt-driven gpio-keys

2019-08-02 Thread Michal Cieslakiewicz
On Fri,  2 Aug 2019 16:46:10 +0200
Adrian Schmutzler  wrote:

> This converts all remaining devices to use interrupt-driven
> gpio-keys compatible instead of gpio-keys-polled.
> The poll-interval is removed.
> 
> Signed-off-by: Adrian Schmutzler 
> ---
> [...]
> diff --git a/target/linux/ath79/dts/ar7240_netgear_wnr612-v2.dtsi
> b/target/linux/ath79/dts/ar7240_netgear_wnr612-v2.dtsi index
> 8e934429a3..7b5f0ca70b 100644 ---
> a/target/linux/ath79/dts/ar7240_netgear_wnr612-v2.dtsi +++
> b/target/linux/ath79/dts/ar7240_netgear_wnr612-v2.dtsi @@ -15,8 +15,7
> @@ };
>  
>   keys {
> - compatible = "gpio-keys-polled";
> - poll-interval = <20>;
> + compatible = "gpio-keys";
>  
>   reset {
>   label = "reset";
> [...]

Hello all,

Please clarify the scope of above change - AFAIK there is no GPIO IRQ
for wireless chips (or please correct me if I am utterly wrong), hence
ath9k-connected buttons will not work with this setting.

I've built an ath79 image for Netgear WNR612v2 with this patch applied
and indeed, at startup it gives an error:

gpio-keys keys: failed to get irq for gpio:507

which points to reset button wired to ar9285 at pin 7. As expected
with this sort of problem, reset button does not trigger any action at
all.

Currently I'm porting some older WNR* routers to DTS and ath79, most of
them have all or at least some buttons wired to wireless chip, so I
would like to see your opinion on following:

0. Buttons for ath9k-phy GPIOs should remain polled.
1. If above is true and we want to use mixed (irq/polled) configuration,
maybe it is advisable to split DTS definitions into 'keys' and
'ath9k-keys', identical to LEDs setup.
2. Or alternatively, because we need to poll ath9k GPIO pins
anyway, we keep all buttons in polled section.

Cheers
Micu

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH] ath79: convert devices to interrupt-driven gpio-keys

2019-08-02 Thread Jeff Kletsky



On 8/2/19 7:46 AM, Adrian Schmutzler wrote:

This converts all remaining devices to use interrupt-driven
gpio-keys compatible instead of gpio-keys-polled.
The poll-interval is removed.



Not that this proposed change makes the situation any different, but 
many devices have switches that are poorly handled by the "key-press" 
approach.


One specific case that has bothered me (but not enough to dig into it) 
is the Archer C7v2 that has an "rfkill" switch. Not only is it 
"backwards" (label "Off" is really "wireless on"), but it only responds 
to changes in state, so its state at boot is not respected. You can't, 
as I recall, set it for "wireless off", plug in the device, and have the 
wireless be off when OpenWrt boots.


The GL-AR300M series and the GL-AR750S also have a multi-position "mode" 
switch.


Right now, all these switches have to be toggled twice to have their 
position be properly respected by the OS if they're not in the 
"expected" position.


It would seem that, at some point, switches like these would be better 
served by a driver that can both detect position, as well as transition. 
This would likely also require a way to poll the position at 
"impacted-service start" and ubus support along with changes in existing 
hotplug scripts.



Jeff



___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH] ath79: convert devices to interrupt-driven gpio-keys

2019-08-02 Thread Dmitry Tunin
пт, 2 авг. 2019 г. в 17:46, Adrian Schmutzler :
>
> This converts all remaining devices to use interrupt-driven
> gpio-keys compatible instead of gpio-keys-polled.
> The poll-interval is removed.
>

When I ported DIR-825-b1 to ath79 last year, "gpio-keys" where very
unreliable and I had to switch to "gpio-keys-polled".
I didn't test it since. I'll be able to test only next week.

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH] ath79: convert devices to interrupt-driven gpio-keys

2019-08-02 Thread Adrian Schmutzler
Anything speaking against doing the same for ramips mt7620a, mt7621, mt7628?

> -Original Message-
> From: openwrt-devel [mailto:openwrt-devel-boun...@lists.openwrt.org] On
> Behalf Of Adrian Schmutzler
> Sent: Freitag, 2. August 2019 16:46
> To: openwrt-devel@lists.openwrt.org
> Subject: [OpenWrt-Devel] [PATCH] ath79: convert devices to interrupt-driven
> gpio-keys
> 
> This converts all remaining devices to use interrupt-driven
> gpio-keys compatible instead of gpio-keys-polled.
> The poll-interval is removed.
> 
> Signed-off-by: Adrian Schmutzler 
> ---
>  target/linux/ath79/dts/ar1022_iodata_wn-ag300dgr.dts | 3 +--
>  target/linux/ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dts  | 3 +--
>  target/linux/ath79/dts/ar7161_dlink_dir-825-b1.dts   | 3 +--
>  target/linux/ath79/dts/ar7161_jjplus_ja76pf2.dts | 3 +--
>  target/linux/ath79/dts/ar7161_ubnt_routerstation.dtsi| 3 +--
>  target/linux/ath79/dts/ar7240_buffalo_whr-g301n.dts  | 3 +--
>  target/linux/ath79/dts/ar7240_netgear_wnr612-v2.dtsi | 3 +--
>  target/linux/ath79/dts/ar7240_tplink_tl-wr74xn-v1.dtsi   | 3 +--
>  target/linux/ath79/dts/ar7241_tplink.dtsi| 3 +--
>  target/linux/ath79/dts/ar7241_tplink_tl-wr842n-v1.dts| 3 +--
>  target/linux/ath79/dts/ar7241_ubnt_unifi.dts | 4 ++--
>  target/linux/ath79/dts/ar7241_ubnt_xm.dtsi   | 4 ++--
>  target/linux/ath79/dts/ar7242_avm_fritz300e.dts  | 3 +--
>  target/linux/ath79/dts/ar7242_buffalo_wzr-bhr.dtsi   | 3 +--
>  target/linux/ath79/dts/ar7242_buffalo_wzr-hp-g302h-a1a0.dts  | 3 +--
>  target/linux/ath79/dts/ar7242_tplink_tl-wr2543-v1.dts| 3 +--
>  target/linux/ath79/dts/ar9330_glinet_gl-ar150.dts| 3 +--
>  target/linux/ath79/dts/ar9330_pqi_air-pen.dts| 3 +--
>  target/linux/ath79/dts/ar9331_embeddedwireless_dorin.dts | 3 +--
>  target/linux/ath79/dts/ar9331_etactica_eg200.dts | 3 +--
>  target/linux/ath79/dts/ar9331_pisen_wmm003n.dts  | 3 +--
>  target/linux/ath79/dts/ar9331_tplink_tl-mr3040-v2.dts| 3 +--
>  target/linux/ath79/dts/ar9331_tplink_tl-wr703n_tl-mr10u.dtsi | 3 +--
>  target/linux/ath79/dts/ar9331_tplink_tl-wr710n-v1.dts| 3 +--
>  target/linux/ath79/dts/ar9331_tplink_tl-wr741nd-v4.dtsi  | 3 +--
>  target/linux/ath79/dts/ar9341_pcs_cr3000.dts | 3 +--
>  target/linux/ath79/dts/ar9341_tplink_tl-wr841-v8.dts | 3 +--
>  target/linux/ath79/dts/ar9341_tplink_tl-wr842n-v2.dts| 3 +--
>  target/linux/ath79/dts/ar9342_iodata_etg3-r.dts  | 3 +--
>  target/linux/ath79/dts/ar9344_comfast_cf-e120a-v3.dts| 3 +--
>  target/linux/ath79/dts/ar9344_ocedo_raccoon.dts  | 3 +--
>  target/linux/ath79/dts/ar9344_pcs_cap324.dts | 3 +--
>  target/linux/ath79/dts/ar9344_pcs_cr5000.dts | 3 +--
>  target/linux/ath79/dts/ar9344_tplink_tl-wdr4300.dtsi | 3 +--
>  target/linux/ath79/dts/ar9344_winchannel_wb2000.dts  | 3 +--
>  target/linux/ath79/dts/qca9531_comfast_cf-e5.dts | 3 +--
>  target/linux/ath79/dts/qca9531_engenius_ews511ap.dts | 3 +--
>  target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi | 4 ++--
>  target/linux/ath79/dts/qca9531_glinet_gl-x750.dts| 3 +--
>  target/linux/ath79/dts/qca9533_comfast_cf-e110n-v2.dts   | 3 +--
>  target/linux/ath79/dts/qca9533_tplink_cpe210.dtsi| 3 +--
>  target/linux/ath79/dts/qca9557_buffalo_bhr-4grv2.dts | 3 +--
>  target/linux/ath79/dts/qca9557_iodata_wn-ac-dgr.dtsi | 3 +--
>  target/linux/ath79/dts/qca9558_engenius_epg5000.dts  | 3 +--
>  target/linux/ath79/dts/qca9558_ocedo_koala.dts   | 3 +--
>  target/linux/ath79/dts/qca9558_openmesh_om5p-ac-v2.dts   | 3 +--
>  target/linux/ath79/dts/qca9561_avm_fritz4020.dts | 3 +--
>  target/linux/ath79/dts/qca9561_tplink_archer-c5x.dtsi| 3 +--
>  target/linux/ath79/dts/qca9561_xiaomi_mi-router-4q.dts   | 3 +--
>  target/linux/ath79/dts/qca9563_dlink_dir-859-a1.dts  | 3 +--
>  target/linux/ath79/dts/qca9563_glinet_gl-ar750s.dts  | 4 ++--
>  target/linux/ath79/dts/qca9563_phicomm_k2t.dts   | 3 +--
>  52 files changed, 56 insertions(+), 104 deletions(-)
> 
> diff --git a/target/linux/ath79/dts/ar1022_iodata_wn-ag300dgr.dts
> b/target/linux/ath79/dts/ar1022_iodata_wn-ag300dgr.dts
> index 5ad8196a15..64f471649e 100644
> --- a/target/linux/ath79/dts/ar1022_iodata_wn-ag300dgr.dts
> +++ b/target/linux/ath79/dts/ar1022_iodata_wn-ag300dgr.dts
> @@ -55,8 +55,7 @@
>   };
> 
>   keys {
> - compatible = "gpio-keys-polled&

[OpenWrt-Devel] [PATCH] ath79: convert devices to interrupt-driven gpio-keys

2019-08-02 Thread Adrian Schmutzler
This converts all remaining devices to use interrupt-driven
gpio-keys compatible instead of gpio-keys-polled.
The poll-interval is removed.

Signed-off-by: Adrian Schmutzler 
---
 target/linux/ath79/dts/ar1022_iodata_wn-ag300dgr.dts | 3 +--
 target/linux/ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dts  | 3 +--
 target/linux/ath79/dts/ar7161_dlink_dir-825-b1.dts   | 3 +--
 target/linux/ath79/dts/ar7161_jjplus_ja76pf2.dts | 3 +--
 target/linux/ath79/dts/ar7161_ubnt_routerstation.dtsi| 3 +--
 target/linux/ath79/dts/ar7240_buffalo_whr-g301n.dts  | 3 +--
 target/linux/ath79/dts/ar7240_netgear_wnr612-v2.dtsi | 3 +--
 target/linux/ath79/dts/ar7240_tplink_tl-wr74xn-v1.dtsi   | 3 +--
 target/linux/ath79/dts/ar7241_tplink.dtsi| 3 +--
 target/linux/ath79/dts/ar7241_tplink_tl-wr842n-v1.dts| 3 +--
 target/linux/ath79/dts/ar7241_ubnt_unifi.dts | 4 ++--
 target/linux/ath79/dts/ar7241_ubnt_xm.dtsi   | 4 ++--
 target/linux/ath79/dts/ar7242_avm_fritz300e.dts  | 3 +--
 target/linux/ath79/dts/ar7242_buffalo_wzr-bhr.dtsi   | 3 +--
 target/linux/ath79/dts/ar7242_buffalo_wzr-hp-g302h-a1a0.dts  | 3 +--
 target/linux/ath79/dts/ar7242_tplink_tl-wr2543-v1.dts| 3 +--
 target/linux/ath79/dts/ar9330_glinet_gl-ar150.dts| 3 +--
 target/linux/ath79/dts/ar9330_pqi_air-pen.dts| 3 +--
 target/linux/ath79/dts/ar9331_embeddedwireless_dorin.dts | 3 +--
 target/linux/ath79/dts/ar9331_etactica_eg200.dts | 3 +--
 target/linux/ath79/dts/ar9331_pisen_wmm003n.dts  | 3 +--
 target/linux/ath79/dts/ar9331_tplink_tl-mr3040-v2.dts| 3 +--
 target/linux/ath79/dts/ar9331_tplink_tl-wr703n_tl-mr10u.dtsi | 3 +--
 target/linux/ath79/dts/ar9331_tplink_tl-wr710n-v1.dts| 3 +--
 target/linux/ath79/dts/ar9331_tplink_tl-wr741nd-v4.dtsi  | 3 +--
 target/linux/ath79/dts/ar9341_pcs_cr3000.dts | 3 +--
 target/linux/ath79/dts/ar9341_tplink_tl-wr841-v8.dts | 3 +--
 target/linux/ath79/dts/ar9341_tplink_tl-wr842n-v2.dts| 3 +--
 target/linux/ath79/dts/ar9342_iodata_etg3-r.dts  | 3 +--
 target/linux/ath79/dts/ar9344_comfast_cf-e120a-v3.dts| 3 +--
 target/linux/ath79/dts/ar9344_ocedo_raccoon.dts  | 3 +--
 target/linux/ath79/dts/ar9344_pcs_cap324.dts | 3 +--
 target/linux/ath79/dts/ar9344_pcs_cr5000.dts | 3 +--
 target/linux/ath79/dts/ar9344_tplink_tl-wdr4300.dtsi | 3 +--
 target/linux/ath79/dts/ar9344_winchannel_wb2000.dts  | 3 +--
 target/linux/ath79/dts/qca9531_comfast_cf-e5.dts | 3 +--
 target/linux/ath79/dts/qca9531_engenius_ews511ap.dts | 3 +--
 target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi | 4 ++--
 target/linux/ath79/dts/qca9531_glinet_gl-x750.dts| 3 +--
 target/linux/ath79/dts/qca9533_comfast_cf-e110n-v2.dts   | 3 +--
 target/linux/ath79/dts/qca9533_tplink_cpe210.dtsi| 3 +--
 target/linux/ath79/dts/qca9557_buffalo_bhr-4grv2.dts | 3 +--
 target/linux/ath79/dts/qca9557_iodata_wn-ac-dgr.dtsi | 3 +--
 target/linux/ath79/dts/qca9558_engenius_epg5000.dts  | 3 +--
 target/linux/ath79/dts/qca9558_ocedo_koala.dts   | 3 +--
 target/linux/ath79/dts/qca9558_openmesh_om5p-ac-v2.dts   | 3 +--
 target/linux/ath79/dts/qca9561_avm_fritz4020.dts | 3 +--
 target/linux/ath79/dts/qca9561_tplink_archer-c5x.dtsi| 3 +--
 target/linux/ath79/dts/qca9561_xiaomi_mi-router-4q.dts   | 3 +--
 target/linux/ath79/dts/qca9563_dlink_dir-859-a1.dts  | 3 +--
 target/linux/ath79/dts/qca9563_glinet_gl-ar750s.dts  | 4 ++--
 target/linux/ath79/dts/qca9563_phicomm_k2t.dts   | 3 +--
 52 files changed, 56 insertions(+), 104 deletions(-)

diff --git a/target/linux/ath79/dts/ar1022_iodata_wn-ag300dgr.dts 
b/target/linux/ath79/dts/ar1022_iodata_wn-ag300dgr.dts
index 5ad8196a15..64f471649e 100644
--- a/target/linux/ath79/dts/ar1022_iodata_wn-ag300dgr.dts
+++ b/target/linux/ath79/dts/ar1022_iodata_wn-ag300dgr.dts
@@ -55,8 +55,7 @@
};
 
keys {
-   compatible = "gpio-keys-polled";
-   poll-interval = <20>;
+   compatible = "gpio-keys";
 
eco {
label = "eco";
diff --git a/target/linux/ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dts 
b/target/linux/ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dts
index df22eb8dc4..f51bc0f771 100644
--- a/target/linux/ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dts
+++ b/target/linux/ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dts
@@ -81,8 +81,7 @@
};
 
keys {
-   compatible = "gpio-keys-polled";
-   poll-interval = <20>;
+   compatible = "gpio-keys";
 
reset {
linux,code = ;
diff --git a/target/linux/ath79/dts/ar7161_dlink_dir-825-b1.dts