[OpenWrt-Devel] treewide: dts: Unify naming of gpio-keys nodes
diff mbox series

Message ID 1546168645-5891-1-git-send-email-ynezz@true.cz
State Accepted, archived
Delegated to: Christian Lamparter
Headers show
Series
  • [OpenWrt-Devel] treewide: dts: Unify naming of gpio-keys nodes
Related show

Commit Message

Petr Štetiar Dec. 30, 2018, 11:17 a.m. UTC
In DTS Checklist[1] we're now demanding proper generic node names, as
the name of a node should reflect the function of the device and use
generic name for that[2]. Everybody seems to be copy&pasting from DTS
files available in the repository today, so let's unify that naming
there as well and provide proper examples.

1. https://openwrt.org/submitting-patches#dts_checklist
2. https://github.com/devicetree-org/devicetree-specification/blob/master/source/devicetree-basics.rst#generic-names-recommendation

Signed-off-by: Petr Štetiar <ynezz@true.cz>
---
 target/linux/apm821xx/dts/meraki-mr24.dts                               | 2 +-
 target/linux/apm821xx/dts/meraki-mx60.dts                               | 2 +-
 target/linux/apm821xx/dts/netgear-wndap6x0.dtsi                         | 2 +-
 target/linux/apm821xx/dts/netgear-wndr4700.dts                          | 2 +-
 target/linux/apm821xx/dts/wd-mybooklive.dts                             | 2 +-
 target/linux/at91/files/arch/arm/boot/dts/wb45n.dts                     | 2 +-
 target/linux/at91/files/arch/arm/boot/dts/wb50n.dts                     | 2 +-
 target/linux/ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dts                 | 2 +-
 target/linux/ath79/dts/ar7161_netgear_wndr3700.dtsi                     | 2 +-
 target/linux/ath79/dts/ar7161_ubnt_routerstation.dtsi                   | 2 +-
 target/linux/ath79/dts/ar7240_buffalo_whr-g301n.dts                     | 2 +-
 target/linux/ath79/dts/ar7240_netgear_wnr612-v2.dtsi                    | 2 +-
 target/linux/ath79/dts/ar7240_tplink_tl-wr74xn-v1.dtsi                  | 2 +-
 target/linux/ath79/dts/ar7241_tplink.dtsi                               | 2 +-
 target/linux/ath79/dts/ar7242_avm_fritz300e.dts                         | 2 +-
 target/linux/ath79/dts/ar7242_tplink_tl-wr2543-v1.dts                   | 2 +-
 target/linux/ath79/dts/ar9331_pisen_wmm003n.dts                         | 2 +-
 target/linux/ath79/dts/ar9331_tplink_tl-wr703n_tl-mr10u.dtsi            | 2 +-
 target/linux/ath79/dts/ar9331_tplink_tl-wr741nd-v4.dtsi                 | 2 +-
 target/linux/ath79/dts/qca9557_buffalo_bhr-4grv2.dts                    | 2 +-
 target/linux/brcm63xx/dts/a226g.dts                                     | 2 +-
 target/linux/brcm63xx/dts/a226m-fwb.dts                                 | 2 +-
 target/linux/brcm63xx/dts/a226m.dts                                     | 2 +-
 target/linux/brcm63xx/dts/a4001n.dts                                    | 2 +-
 target/linux/brcm63xx/dts/a4001n1.dts                                   | 2 +-
 target/linux/brcm63xx/dts/ad1018-nor.dts                                | 2 +-
 target/linux/brcm63xx/dts/agpf-s0.dts                                   | 2 +-
 target/linux/brcm63xx/dts/ar-5315u.dts                                  | 2 +-
 target/linux/brcm63xx/dts/ar-5381u.dts                                  | 2 +-
 target/linux/brcm63xx/dts/ar-5387un.dts                                 | 2 +-
 target/linux/brcm63xx/dts/ar1004g.dts                                   | 2 +-
 target/linux/brcm63xx/dts/av4202n.dts                                   | 2 +-
 target/linux/brcm63xx/dts/bcm96318ref.dts                               | 2 +-
 target/linux/brcm63xx/dts/bcm96318ref_p300.dts                          | 2 +-
 target/linux/brcm63xx/dts/bcm963268bu_p300.dts                          | 2 +-
 target/linux/brcm63xx/dts/bcm963269bhr.dts                              | 2 +-
 target/linux/brcm63xx/dts/bcm96348GW-10.dts                             | 2 +-
 target/linux/brcm63xx/dts/bcm96348GW-11.dts                             | 2 +-
 target/linux/brcm63xx/dts/bcm96348GW.dts                                | 2 +-
 target/linux/brcm63xx/dts/cpva502plus.dts                               | 2 +-
 target/linux/brcm63xx/dts/cpva642.dts                                   | 2 +-
 target/linux/brcm63xx/dts/ct-5365.dts                                   | 2 +-
 target/linux/brcm63xx/dts/ct-6373.dts                                   | 2 +-
 target/linux/brcm63xx/dts/ct536plus.dts                                 | 2 +-
 target/linux/brcm63xx/dts/dg834g_v4.dts                                 | 2 +-
 target/linux/brcm63xx/dts/dg834gtpn.dts                                 | 2 +-
 target/linux/brcm63xx/dts/dgnd3700v1.dts                                | 2 +-
 target/linux/brcm63xx/dts/dsl-2640b-b.dts                               | 2 +-
 target/linux/brcm63xx/dts/dsl-274xb-c.dts                               | 2 +-
 target/linux/brcm63xx/dts/dsl-274xb-f.dts                               | 2 +-
 target/linux/brcm63xx/dts/dsl-275xb-d.dts                               | 2 +-
 target/linux/brcm63xx/dts/dva-g3810bn_tl.dts                            | 2 +-
 target/linux/brcm63xx/dts/evg2000.dts                                   | 2 +-
 target/linux/brcm63xx/dts/f5d7633.dts                                   | 2 +-
 target/linux/brcm63xx/dts/fast2504n.dts                                 | 2 +-
 target/linux/brcm63xx/dts/fast2604.dts                                  | 2 +-
 target/linux/brcm63xx/dts/fast2704n.dts                                 | 2 +-
 target/linux/brcm63xx/dts/fast2704v2.dts                                | 2 +-
 target/linux/brcm63xx/dts/gw6000.dts                                    | 2 +-
 target/linux/brcm63xx/dts/gw6200.dts                                    | 2 +-
 target/linux/brcm63xx/dts/hg520v.dts                                    | 2 +-
 target/linux/brcm63xx/dts/hg553.dts                                     | 2 +-
 target/linux/brcm63xx/dts/hg556a-a.dts                                  | 2 +-
 target/linux/brcm63xx/dts/hg556a-b.dts                                  | 2 +-
 target/linux/brcm63xx/dts/hg556a-c.dts                                  | 2 +-
 target/linux/brcm63xx/dts/hg622.dts                                     | 2 +-
 target/linux/brcm63xx/dts/hg655b.dts                                    | 2 +-
 target/linux/brcm63xx/dts/homehub2a.dts                                 | 2 +-
 target/linux/brcm63xx/dts/livebox-blue-5g.dts                           | 2 +-
 target/linux/brcm63xx/dts/nb4-fxc-r1.dts                                | 2 +-
 target/linux/brcm63xx/dts/nb4-ser-r0.dts                                | 2 +-
 target/linux/brcm63xx/dts/nb6-ser-r0.dts                                | 2 +-
 target/linux/brcm63xx/dts/p870hw-51a-v2.dts                             | 2 +-
 target/linux/brcm63xx/dts/r1000h.dts                                    | 2 +-
 target/linux/brcm63xx/dts/r5010unv2.dts                                 | 2 +-
 target/linux/brcm63xx/dts/rta770bw.dts                                  | 2 +-
 target/linux/brcm63xx/dts/rta770w.dts                                   | 2 +-
 target/linux/brcm63xx/dts/spw303v.dts                                   | 2 +-
 target/linux/brcm63xx/dts/spw500v.dts                                   | 2 +-
 target/linux/brcm63xx/dts/sr102.dts                                     | 2 +-
 target/linux/brcm63xx/dts/td-w8900gb.dts                                | 2 +-
 target/linux/brcm63xx/dts/v2110.dts                                     | 2 +-
 target/linux/brcm63xx/dts/v2500v-bb.dts                                 | 2 +-
 target/linux/brcm63xx/dts/vg50.dts                                      | 2 +-
 target/linux/brcm63xx/dts/vh4032n.dts                                   | 2 +-
 target/linux/brcm63xx/dts/vr-3025u.dts                                  | 2 +-
 target/linux/brcm63xx/dts/vr-3025un.dts                                 | 2 +-
 target/linux/brcm63xx/dts/vr-3026e.dts                                  | 2 +-
 target/linux/brcm63xx/dts/wap-5813n.dts                                 | 2 +-
 target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-a42.dts  | 2 +-
 .../linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts | 2 +-
 .../ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi     | 2 +-
 .../ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts      | 2 +-
 .../linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts | 2 +-
 target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-a62.dts  | 2 +-
 .../linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts  | 2 +-
 .../ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts      | 2 +-
 target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-a42.dts  | 2 +-
 .../linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts | 2 +-
 .../ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi     | 2 +-
 .../linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts | 2 +-
 target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-a62.dts  | 2 +-
 .../linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts  | 2 +-
 .../ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts      | 2 +-
 .../linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-c2600.dts   | 2 +-
 .../linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-d7800.dts   | 2 +-
 .../linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-ea8500.dts  | 2 +-
 .../linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-r7500.dts   | 2 +-
 .../linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-r7500v2.dts | 2 +-
 .../linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-vr2600v.dts | 2 +-
 .../ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-wg2600hp.dts      | 2 +-
 .../linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-wpq864.dts  | 2 +-
 .../linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8065-nbg6817.dts | 2 +-
 .../linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8065-r7800.dts   | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4510PW.dts         | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4518PWR01.dtsi     | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4519PW.dts         | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4520PW.dts         | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4525PW.dts         | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV452CQW.dts         | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7506PW11.dts       | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7510PW22.dts       | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7518PW.dts         | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7519PW.dts         | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7519RW22.dts       | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7525PW.dts         | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV752DPW.dts         | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV752DPW22.dts       | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV8539PW22.dts       | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/ASL56026.dts          | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/BTHOMEHUBV2B.dts      | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/BTHOMEHUBV3A.dts      | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/BTHOMEHUBV5A.dts      | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/DGN1000B.dts          | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/DGN3500.dtsi          | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/DM200.dts             | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY80920.dtsi        | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY88388.dts         | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY88444.dts         | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY98020.dts         | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY98020V18.dts      | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY98021.dts         | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ3370-REV2.dtsi   | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7312.dts         | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7320.dts         | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7360SL.dts       | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/GIGASX76X.dts         | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/H201L.dts             | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/P2601HNFX.dts         | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/P2812HNUFX.dtsi       | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/TDW89X0.dtsi          | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/VG3503J.dts           | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/VGV7510KW22.dtsi      | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/VGV7519.dtsi          | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/VR200.dts             | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/VR200v.dts            | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/WBMR.dts              | 2 +-
 target/linux/lantiq/files-4.14/arch/mips/boot/dts/WBMR300.dts           | 2 +-
 .../layerscape/files/arch/arm64/boot/dts/freescale/traverse-ls1043s.dts | 2 +-
 .../layerscape/files/arch/arm64/boot/dts/freescale/traverse-ls1043v.dts | 2 +-
 target/linux/oxnas/files/arch/arm/boot/dts/ox820-akitio-mycloud.dts     | 2 +-
 target/linux/oxnas/files/arch/arm/boot/dts/ox820-mitrastar-stg212.dts   | 2 +-
 target/linux/oxnas/files/arch/arm/boot/dts/ox820-shuttle-kd20.dts       | 2 +-
 target/linux/ramips/dts/3G-6200N.dts                                    | 2 +-
 target/linux/ramips/dts/3G-6200NL.dts                                   | 2 +-
 target/linux/ramips/dts/3G150B.dts                                      | 2 +-
 target/linux/ramips/dts/3G300M.dts                                      | 2 +-
 target/linux/ramips/dts/A5-V11.dts                                      | 2 +-
 target/linux/ramips/dts/AC1200RM.dts                                    | 2 +-
 target/linux/ramips/dts/AI-BR100.dts                                    | 2 +-
 target/linux/ramips/dts/AIR3GII.dts                                     | 2 +-
 target/linux/ramips/dts/ALL0256N.dtsi                                   | 2 +-
 target/linux/ramips/dts/AR670W.dts                                      | 2 +-
 target/linux/ramips/dts/AR725W.dts                                      | 2 +-
 target/linux/ramips/dts/ASL26555.dtsi                                   | 2 +-
 target/linux/ramips/dts/ATP-52B.dts                                     | 2 +-
 target/linux/ramips/dts/AWAPN2403.dts                                   | 2 +-
 target/linux/ramips/dts/AWM002-EVB.dtsi                                 | 2 +-
 target/linux/ramips/dts/AWUSFREE1.dts                                   | 2 +-
 target/linux/ramips/dts/ArcherC2-v1.dts                                 | 2 +-
 target/linux/ramips/dts/ArcherC20i.dts                                  | 2 +-
 target/linux/ramips/dts/ArcherC20v1.dts                                 | 2 +-
 target/linux/ramips/dts/ArcherC20v4.dts                                 | 2 +-
 target/linux/ramips/dts/ArcherC50.dts                                   | 2 +-
 target/linux/ramips/dts/ArcherC50V3.dts                                 | 2 +-
 target/linux/ramips/dts/ArcherMR200.dts                                 | 2 +-
 target/linux/ramips/dts/BC2.dts                                         | 2 +-
 target/linux/ramips/dts/BDCOM-WAP2100-SK.dts                            | 2 +-
 target/linux/ramips/dts/BOCCO.dts                                       | 2 +-
 target/linux/ramips/dts/BR-6475ND.dts                                   | 2 +-
 target/linux/ramips/dts/BR-6478AC-V2.dts                                | 2 +-
 target/linux/ramips/dts/BROADWAY.dts                                    | 2 +-
 target/linux/ramips/dts/C108.dts                                        | 2 +-
 target/linux/ramips/dts/CF-WR800N.dts                                   | 2 +-
 target/linux/ramips/dts/CS-QR10.dts                                     | 2 +-
 target/linux/ramips/dts/CY-SWR1100.dts                                  | 2 +-
 target/linux/ramips/dts/D105.dts                                        | 2 +-
 target/linux/ramips/dts/D240.dts                                        | 2 +-
 target/linux/ramips/dts/DAP-1350.dts                                    | 2 +-
 target/linux/ramips/dts/DAP-1522-A1.dts                                 | 2 +-
 target/linux/ramips/dts/DB-WRT01.dts                                    | 2 +-
 target/linux/ramips/dts/DCH-M225.dts                                    | 2 +-
 target/linux/ramips/dts/DCS-930.dts                                     | 2 +-
 target/linux/ramips/dts/DCS-930L-B1.dts                                 | 2 +-
 target/linux/ramips/dts/DIR-300-B1.dts                                  | 2 +-
 target/linux/ramips/dts/DIR-300-B7.dts                                  | 2 +-
 target/linux/ramips/dts/DIR-320-B1.dts                                  | 2 +-
 target/linux/ramips/dts/DIR-600-B1.dts                                  | 2 +-
 target/linux/ramips/dts/DIR-610-A1.dts                                  | 2 +-
 target/linux/ramips/dts/DIR-615-D.dts                                   | 2 +-
 target/linux/ramips/dts/DIR-615-H1.dts                                  | 2 +-
 target/linux/ramips/dts/DIR-620-A1.dts                                  | 2 +-
 target/linux/ramips/dts/DIR-620-D1.dts                                  | 2 +-
 target/linux/ramips/dts/DIR-645.dts                                     | 2 +-
 target/linux/ramips/dts/DIR-810L.dts                                    | 2 +-
 target/linux/ramips/dts/DIR-860L-B1.dts                                 | 2 +-
 target/linux/ramips/dts/DUZUN-DM06.dts                                  | 2 +-
 target/linux/ramips/dts/DWR-116-A1.dts                                  | 2 +-
 target/linux/ramips/dts/DWR-118-A1.dts                                  | 2 +-
 target/linux/ramips/dts/DWR-118-A2.dts                                  | 2 +-
 target/linux/ramips/dts/DWR-512-B.dts                                   | 2 +-
 target/linux/ramips/dts/DWR-921-C1.dts                                  | 2 +-
 target/linux/ramips/dts/E1700.dts                                       | 2 +-
 target/linux/ramips/dts/ESR-9753.dts                                    | 2 +-
 target/linux/ramips/dts/EW1200.dts                                      | 2 +-
 target/linux/ramips/dts/EX2700.dts                                      | 2 +-
 target/linux/ramips/dts/EX3700.dts                                      | 2 +-
 target/linux/ramips/dts/F5D8235_V1.dts                                  | 2 +-
 target/linux/ramips/dts/F7C027.dts                                      | 2 +-
 target/linux/ramips/dts/FIREWRT.dts                                     | 2 +-
 target/linux/ramips/dts/FONERA20N.dts                                   | 2 +-
 target/linux/ramips/dts/GB-PC1.dts                                      | 2 +-
 target/linux/ramips/dts/GB-PC2.dts                                      | 2 +-
 target/linux/ramips/dts/GL-MT300A.dts                                   | 2 +-
 target/linux/ramips/dts/GL-MT300N-V2.dts                                | 2 +-
 target/linux/ramips/dts/GL-MT300N.dts                                   | 2 +-
 target/linux/ramips/dts/GL-MT750.dts                                    | 2 +-
 target/linux/ramips/dts/HC5661A.dts                                     | 2 +-
 target/linux/ramips/dts/HC5861B.dts                                     | 2 +-
 target/linux/ramips/dts/HC5962.dts                                      | 2 +-
 target/linux/ramips/dts/HC5X61.dtsi                                     | 2 +-
 target/linux/ramips/dts/HG255D.dts                                      | 2 +-
 target/linux/ramips/dts/HLKRM04.dts                                     | 2 +-
 target/linux/ramips/dts/HPM.dts                                         | 2 +-
 target/linux/ramips/dts/HT-TM02.dts                                     | 2 +-
 target/linux/ramips/dts/HW550-3G.dts                                    | 2 +-
 target/linux/ramips/dts/IP2202.dts                                      | 2 +-
 target/linux/ramips/dts/JHR-N805R.dts                                   | 2 +-
 target/linux/ramips/dts/JHR-N825R.dts                                   | 2 +-
 target/linux/ramips/dts/JHR-N926R.dts                                   | 2 +-
 target/linux/ramips/dts/K2G.dts                                         | 2 +-
 target/linux/ramips/dts/K2P.dts                                         | 2 +-
 target/linux/ramips/dts/LINKIT7688.dts                                  | 2 +-
 target/linux/ramips/dts/LR-25G001.dts                                   | 2 +-
 target/linux/ramips/dts/M2M.dts                                         | 2 +-
 target/linux/ramips/dts/M3.dts                                          | 2 +-
 target/linux/ramips/dts/M4.dtsi                                         | 2 +-
 target/linux/ramips/dts/MINIEMBPLUG.dts                                 | 2 +-
 target/linux/ramips/dts/MINIEMBWIFI.dts                                 | 2 +-
 target/linux/ramips/dts/MIR3G.dts                                       | 2 +-
 target/linux/ramips/dts/MIWIFI-MINI.dts                                 | 2 +-
 target/linux/ramips/dts/MIWIFI-NANO.dts                                 | 2 +-
 target/linux/ramips/dts/MLW221.dts                                      | 2 +-
 target/linux/ramips/dts/MLWG2.dts                                       | 2 +-
 target/linux/ramips/dts/MOFI3500-3GN.dts                                | 2 +-
 target/linux/ramips/dts/MPRA1.dts                                       | 2 +-
 target/linux/ramips/dts/MPRA2.dts                                       | 2 +-
 target/linux/ramips/dts/MR-102N.dts                                     | 2 +-
 target/linux/ramips/dts/MT7620a.dts                                     | 2 +-
 target/linux/ramips/dts/MT7620a_MT7610e.dts                             | 2 +-
 target/linux/ramips/dts/MT7620a_V22SG.dts                               | 2 +-
 target/linux/ramips/dts/MZK-750DHP.dts                                  | 2 +-
 target/linux/ramips/dts/MZK-DP150N.dts                                  | 2 +-
 target/linux/ramips/dts/MZK-EX300NP.dts                                 | 2 +-
 target/linux/ramips/dts/MZK-EX750NP.dts                                 | 2 +-
 target/linux/ramips/dts/MZK-W300NH2.dts                                 | 2 +-
 target/linux/ramips/dts/MicroWRT.dts                                    | 2 +-
 target/linux/ramips/dts/NA930.dts                                       | 2 +-
 target/linux/ramips/dts/NBG-419N.dts                                    | 2 +-
 target/linux/ramips/dts/NBG-419N2.dts                                   | 2 +-
 target/linux/ramips/dts/NW718.dts                                       | 2 +-
 target/linux/ramips/dts/Newifi-D1.dts                                   | 2 +-
 target/linux/ramips/dts/Newifi-D2.dts                                   | 2 +-
 target/linux/ramips/dts/OMEGA2.dtsi                                     | 2 +-
 target/linux/ramips/dts/OY-0001.dts                                     | 2 +-
 target/linux/ramips/dts/PBR-D1.dts                                      | 2 +-
 target/linux/ramips/dts/PBR-M1.dts                                      | 2 +-
 target/linux/ramips/dts/PSG1208.dts                                     | 2 +-
 target/linux/ramips/dts/PSG1218.dtsi                                    | 2 +-
 target/linux/ramips/dts/PSR-680W.dts                                    | 2 +-
 target/linux/ramips/dts/PWH2004.dts                                     | 2 +-
 target/linux/ramips/dts/PX-4885.dtsi                                    | 2 +-
 target/linux/ramips/dts/R6120.dts                                       | 2 +-
 target/linux/ramips/dts/R6220.dts                                       | 2 +-
 target/linux/ramips/dts/R6350.dts                                       | 2 +-
 target/linux/ramips/dts/RB750Gr3.dts                                    | 2 +-
 target/linux/ramips/dts/RBM11G.dts                                      | 2 +-
 target/linux/ramips/dts/RBM33G.dts                                      | 2 +-
 target/linux/ramips/dts/RE350.dts                                       | 2 +-
 target/linux/ramips/dts/RE6500.dts                                      | 2 +-
 target/linux/ramips/dts/RP-N53.dts                                      | 2 +-
 target/linux/ramips/dts/RT-AC51U.dts                                    | 2 +-
 target/linux/ramips/dts/RT-G32-B1.dts                                   | 2 +-
 target/linux/ramips/dts/RT-N10-PLUS.dts                                 | 2 +-
 target/linux/ramips/dts/RT-N12-PLUS.dts                                 | 2 +-
 target/linux/ramips/dts/RT-N13U.dts                                     | 2 +-
 target/linux/ramips/dts/RT-N14U.dts                                     | 2 +-
 target/linux/ramips/dts/RT-N15.dts                                      | 2 +-
 target/linux/ramips/dts/RT-N56U.dts                                     | 2 +-
 target/linux/ramips/dts/RUT5XX.dts                                      | 2 +-
 target/linux/ramips/dts/SAP-G3200U3.dts                                 | 2 +-
 target/linux/ramips/dts/SK-WB8.dts                                      | 2 +-
 target/linux/ramips/dts/SKW92A.dts                                      | 2 +-
 target/linux/ramips/dts/SL-R7205.dts                                    | 2 +-
 target/linux/ramips/dts/TEW-638APB-V2.dts                               | 2 +-
 target/linux/ramips/dts/TEW-691GR.dts                                   | 2 +-
 target/linux/ramips/dts/TEW-692GR.dts                                   | 2 +-
 target/linux/ramips/dts/TEW-714TRU.dts                                  | 2 +-
 target/linux/ramips/dts/TINY-AC.dts                                     | 2 +-
 target/linux/ramips/dts/TL-MR3020V3.dts                                 | 2 +-
 target/linux/ramips/dts/TL-MR3420V5.dts                                 | 2 +-
 target/linux/ramips/dts/TL-WA801NDV5.dts                                | 2 +-
 target/linux/ramips/dts/TL-WR840NV4.dts                                 | 2 +-
 target/linux/ramips/dts/TL-WR840NV5.dts                                 | 2 +-
 target/linux/ramips/dts/TL-WR841NV13.dts                                | 2 +-
 target/linux/ramips/dts/TL-WR842NV5.dts                                 | 2 +-
 target/linux/ramips/dts/TL-WR902ACV3.dts                                | 2 +-
 target/linux/ramips/dts/Timecloud.dts                                   | 2 +-
 target/linux/ramips/dts/U25AWF-H1.dts                                   | 2 +-
 target/linux/ramips/dts/U35WF.dts                                       | 2 +-
 target/linux/ramips/dts/U7621-06.dtsi                                   | 2 +-
 target/linux/ramips/dts/U7628-01.dtsi                                   | 2 +-
 target/linux/ramips/dts/UBNT-ER-e50.dtsi                                | 2 +-
 target/linux/ramips/dts/UR-326N4G.dts                                   | 2 +-
 target/linux/ramips/dts/UR-336UN.dts                                    | 2 +-
 target/linux/ramips/dts/V11STFE.dts                                     | 2 +-
 target/linux/ramips/dts/V22RW-2X2.dts                                   | 2 +-
 target/linux/ramips/dts/VAR11N-300.dts                                  | 2 +-
 target/linux/ramips/dts/VR500.dts                                       | 2 +-
 target/linux/ramips/dts/W06.dts                                         | 2 +-
 target/linux/ramips/dts/W150M.dts                                       | 2 +-
 target/linux/ramips/dts/W2914NSV2.dtsi                                  | 2 +-
 target/linux/ramips/dts/W306R_V20.dts                                   | 2 +-
 target/linux/ramips/dts/W502U.dts                                       | 2 +-
 target/linux/ramips/dts/WCR-1166DS.dts                                  | 2 +-
 target/linux/ramips/dts/WCR150GN.dts                                    | 2 +-
 target/linux/ramips/dts/WD03.dts                                        | 2 +-
 target/linux/ramips/dts/WE1026-5G.dtsi                                  | 2 +-
 target/linux/ramips/dts/WF-2881.dts                                     | 2 +-
 target/linux/ramips/dts/WHR-1166D.dts                                   | 2 +-
 target/linux/ramips/dts/WHR-300HP2.dts                                  | 2 +-
 target/linux/ramips/dts/WHR-600D.dts                                    | 2 +-
 target/linux/ramips/dts/WHR-G300N.dts                                   | 2 +-
 target/linux/ramips/dts/WIDORA-NEO.dtsi                                 | 2 +-
 target/linux/ramips/dts/WITI.dtsi                                       | 2 +-
 target/linux/ramips/dts/WIZFI630A.dts                                   | 2 +-
 target/linux/ramips/dts/WL-330N.dts                                     | 2 +-
 target/linux/ramips/dts/WL-330N3G.dts                                   | 2 +-
 target/linux/ramips/dts/WL-351.dts                                      | 2 +-
 target/linux/ramips/dts/WL-WN570HA1.dts                                 | 2 +-
 target/linux/ramips/dts/WL-WN575A3.dts                                  | 2 +-
 target/linux/ramips/dts/WLI-TX4-AG300N.dts                              | 2 +-
 target/linux/ramips/dts/WLR-6000.dts                                    | 2 +-
 target/linux/ramips/dts/WMR-300.dts                                     | 2 +-
 target/linux/ramips/dts/WN-AX1167GR.dts                                 | 2 +-
 target/linux/ramips/dts/WN-GX300GR.dts                                  | 2 +-
 target/linux/ramips/dts/WN3000RPV3.dts                                  | 2 +-
 target/linux/ramips/dts/WNCE2001.dts                                    | 2 +-
 target/linux/ramips/dts/WNDR3700V5.dts                                  | 2 +-
 target/linux/ramips/dts/WR1200JS.dts                                    | 2 +-
 target/linux/ramips/dts/WR1201.dts                                      | 2 +-
 target/linux/ramips/dts/WR512-3GN.dtsi                                  | 2 +-
 target/linux/ramips/dts/WR6202.dts                                      | 2 +-
 target/linux/ramips/dts/WRC-1167GHBK2-S.dts                             | 2 +-
 target/linux/ramips/dts/WRH-300CR.dts                                   | 2 +-
 target/linux/ramips/dts/WRTNODE2.dtsi                                   | 2 +-
 target/linux/ramips/dts/WSR-1166.dts                                    | 2 +-
 target/linux/ramips/dts/WSR-600.dts                                     | 2 +-
 target/linux/ramips/dts/WT1520.dtsi                                     | 2 +-
 target/linux/ramips/dts/WT3020.dtsi                                     | 2 +-
 target/linux/ramips/dts/WZR-AGL300NH.dts                                | 2 +-
 target/linux/ramips/dts/X5.dts                                          | 2 +-
 target/linux/ramips/dts/X8.dts                                          | 2 +-
 target/linux/ramips/dts/XDXRN502J.dts                                   | 2 +-
 target/linux/ramips/dts/Y1.dtsi                                         | 2 +-
 target/linux/ramips/dts/YOUKU-YK1.dts                                   | 2 +-
 target/linux/ramips/dts/ZBT-APE522II.dts                                | 2 +-
 target/linux/ramips/dts/ZBT-CPE102.dts                                  | 2 +-
 target/linux/ramips/dts/ZBT-WA05.dts                                    | 2 +-
 target/linux/ramips/dts/ZBT-WE1226.dts                                  | 2 +-
 target/linux/ramips/dts/ZBT-WE1326.dts                                  | 2 +-
 target/linux/ramips/dts/ZBT-WE2026.dts                                  | 2 +-
 target/linux/ramips/dts/ZBT-WE3526.dts                                  | 2 +-
 target/linux/ramips/dts/ZBT-WE826.dtsi                                  | 2 +-
 target/linux/ramips/dts/ZBT-WG2626.dts                                  | 2 +-
 target/linux/ramips/dts/ZBT-WG3526.dtsi                                 | 2 +-
 target/linux/ramips/dts/ZBT-WR8305RT.dts                                | 2 +-
 target/linux/ramips/dts/ZL5900V2.dts                                    | 2 +-
 target/linux/ramips/dts/ZTE-Q7.dts                                      | 2 +-
 target/linux/ramips/dts/elecom_wrc-gst.dtsi                             | 2 +-
 target/linux/ramips/dts/ki_rb.dts                                       | 2 +-
 target/linux/ramips/dts/kn.dts                                          | 2 +-
 target/linux/ramips/dts/kn_rc.dts                                       | 2 +-
 target/linux/ramips/dts/kn_rf.dts                                       | 2 +-
 target/linux/ramips/dts/kng_rc.dts                                      | 2 +-
 405 files changed, 405 insertions(+), 405 deletions(-)

Comments

Christian Lamparter Dec. 31, 2018, 4:41 p.m. UTC | #1
On Sunday, December 30, 2018 12:17:25 PM CET Petr Štetiar wrote:
> In DTS Checklist[1] we're now demanding proper generic node names, as
> the name of a node should reflect the function of the device and use
> generic name for that[2]. Everybody seems to be copy&pasting from DTS
> files available in the repository today, so let's unify that naming
> there as well and provide proper examples.
> 
> 1. https://openwrt.org/submitting-patches#dts_checklist
> 2. https://github.com/devicetree-org/devicetree-specification/blob/master/source/devicetree-basics.rst#generic-names-recommendation
> 
> Signed-off-by: Petr Štetiar <ynezz@true.cz>
> ---

Another source of the "gpio-keys" and the "gpio_keys_polled" 
node names are the binding examples in

https://www.kernel.org/doc/Documentation/devicetree/bindings/input/gpio-keys-polled.txt
https://www.kernel.org/doc/Documentation/devicetree/bindings/input/gpio-keys.txt

As a result, these node-names are really common in a lot of upstream bindings
(I grepped around 350 gpio(_|-)keys* nodes located in various .dts and .dtsi
files under linux-kernel/arch/... ).

I hope you know what you are up against because unless you also do the changes
upstream this will happen again and again. :\ / :)

Regards,
Christian
Petr Štetiar Jan. 1, 2019, 5:07 p.m. UTC | #2
Christian Lamparter <chunkeey@gmail.com> [2018-12-31 17:41:34]:

> I hope you know what you are up against because unless you also do the changes
> upstream this will happen again and again. :\ / :)

My plan is to first wait for comments here, see if it gets merged eventualy
and then start poking upstream. I still didn't received any feedback yet(good
sign?) on my last `treewide: dts: Remove default-state=off property...`[1]
upstream attempt so I don't know if it's worth the effort.

Anyway, I guess, that in most of the cases, people are just copy&pasting from
the DTS files from the OpenWrt repository and some of them even wonder[2] why
they need to use generic `leds` node names if it's not the case in the rest of
the DTS files in OpenWrt tree:

 @mkresin: would you please rename the node to the generic "leds".
 @arapov: @mkresin, by the way, the rest of *.dts in ramips/ using gpio-leds.
          Do you still think it is good to deviate from the rest here?

1. https://patchwork.kernel.org/patch/10732465/
2. https://github.com/openwrt/openwrt/pull/1686#discussion_r244512451
3. https://openwrt.org/submitting-patches#dts_checklist

-- ynezz
Christian Lamparter Jan. 3, 2019, 5:27 p.m. UTC | #3
On Tuesday, January 1, 2019 6:07:40 PM CET Petr Štetiar wrote:
> Christian Lamparter <chunkeey@gmail.com> [2018-12-31 17:41:34]:
> 
> > I hope you know what you are up against because unless you also do the changes
> > upstream this will happen again and again. :\ / :)
> 
> My plan is to first wait for comments here, see if it gets merged eventualy
> and then start poking upstream. I still didn't received any feedback yet(good
> sign?) on my last `treewide: dts: Remove default-state=off property...`[1]
> upstream attempt so I don't know if it's worth the effort.
Hm, interesting. I usually get replies within a few days. Granted, I have never
sent anything that big in a single mail to multiple mailinglists and 
maintainers. I would try to split up the patch into multiple patches so that
each maintainer has the chance to act on just his own turf. 
Keep in mind that linux-kernel is heavily compartmentalized. The device-tree
maintainers mainly just ack/review patches for the subsystem maintainers.
This is done in order to prevent the conflicts between the various trees when
they get staged into -next and ultimately wander into the kernel during the
"merge window". 

I guess if you still want to follow through you could start to update the
binding documents. But, I do understand that you don't want to waste 
anymore time with it.

> Anyway, I guess, that in most of the cases, people are just copy&pasting from
> the DTS files from the OpenWrt repository and some of them even wonder[2] why
> they need to use generic `leds` node names if it's not the case in the rest of
> the DTS files in OpenWrt tree:
> 
>  @mkresin: would you please rename the node to the generic "leds".
>  @arapov: @mkresin, by the way, the rest of *.dts in ramips/ using gpio-leds.
>           Do you still think it is good to deviate from the rest here?
> 
> 1. https://patchwork.kernel.org/patch/10732465/
> 2. https://github.com/openwrt/openwrt/pull/1686#discussion_r244512451
True, I think you noticed that it's a surprisingly long and weird difficult
process to push these sort of changes upstream unless you are directly
involved there. However it's much easier to comment on the daily patches/PRs
and make sure that new boards/dts are up to spec with the latest craze and
also, you get the chance to interact with the commiters a bit.

> 3. https://openwrt.org/submitting-patches#dts_checklist
^^ I know that one only too well.
"The name of a node should reflect the function of the device and not its model. "
I c&p that from the device-tree spec and linked to it so devs know from where
these seemingly arbitrary rules come from. While looking at the checklist, I 
noticed that one of the "SPDX license tag" check is already automated in the
upstream scripts/checkpatch.pl... And now, I wish that the script could also
act on default-state = "off", the "gpio-keys-polled" and "gpio-leds" 
node names, etc.

Oh well.

Regards,
Christian
Petr Štetiar Jan. 3, 2019, 9:39 p.m. UTC | #4
Christian Lamparter <chunkeey@gmail.com> [2019-01-03 18:27:40]:

> I would try to split up the patch into multiple patches so that
> each maintainer has the chance to act on just his own turf. 

I don't want to waste more of my time on such noop stuff, I've tried it so
let's see how it pans out :-)

> Keep in mind that linux-kernel is heavily compartmentalized. The device-tree
> maintainers mainly just ack/review patches for the subsystem maintainers.

Yea, just give me some feedback and I'm more then happy to do what is
necessary to finish this crusade, but until then I'll just put it on ice.

> However it's much easier to comment on the daily patches/PRs
> and make sure that new boards/dts are up to spec with the latest craze and
> also, you get the chance to interact with the commiters a bit.

Yea, almost every submission has some copy&pasted stuff (I'm guilty as well),
so just trying to make it easier for everyone. Provide good examples for
copy&pasting, saving some time of submitters, reviewers and commiters.

> While looking at the checklist, I noticed that one of the "SPDX license tag"
> check is already automated in the upstream scripts/checkpatch.pl... And now,
> I wish that the script could also act on default-state = "off", the
> "gpio-keys-polled" and "gpio-leds" node names, etc.

Indeed, it would be nice to automate this and other checks and integrate it
into GitHub's PR pipeline via some CI system. Well, one day :-)

-- ynezz
Christian Lamparter Jan. 22, 2019, 4:54 p.m. UTC | #5
On Thursday, January 3, 2019 10:39:08 PM CET Petr Štetiar wrote:
> Christian Lamparter <chunkeey@gmail.com> [2019-01-03 18:27:40]:
> 
> > I would try to split up the patch into multiple patches so that
> > each maintainer has the chance to act on just his own turf. 
> 
> I don't want to waste more of my time on such noop stuff, I've tried it so
> let's see how it pans out :-)

Well, I've split both patches (this and gpio-leds) up and put them into my
staging tree.

<https://git.openwrt.org/?p=openwrt/staging/chunkeey.git;a=shortlog>

The at91, apm821xx, ipq40xx, ipq806x, layerscape and oxnas are probably
ready to be merged.

The situation with ramips, ath79 and lantiq is a bit more complicated:
<https://git.openwrt.org/?p=openwrt/staging/chunkeey.git;a=commit;h=784c3a84edc30d801a4c06c8ab5a551a95aadbb2>
<https://git.openwrt.org/?p=openwrt/staging/chunkeey.git;a=commit;h=2dd5806aa930199cf3fc72231bf802d9789011a4>

because some of these devices also have a separated ath9k-leds 
and in theory these nodes "could be merged". However, this is
going to be a bad idea and so I left the "gpio-leds" in these cases
as is. Maybe "soc-leds" could be a better name, but I don't think
upstream will care much about that.

> 
> > Keep in mind that linux-kernel is heavily compartmentalized. The device-tree
> > maintainers mainly just ack/review patches for the subsystem maintainers.
> 
> Yea, just give me some feedback and I'm more then happy to do what is
> necessary to finish this crusade, but until then I'll just put it on ice.
Feedback for merging patches upstream or into openwrt? For upstream:
Have you talked to Rob or Mark? Usually, they do review device-tree
changes related to drivers and suchs relatively quickly. However, something
must have caused them to ignore the default-state = off patch. I can't
even find it in the devicetree patchwork. maybe it was too big?

> > While looking at the checklist, I noticed that one of the "SPDX license tag"
> > check is already automated in the upstream scripts/checkpatch.pl... And now,
> > I wish that the script could also act on default-state = "off", the
> > "gpio-keys-polled" and "gpio-leds" node names, etc.
> 
> Indeed, it would be nice to automate this and other checks and integrate it
> into GitHub's PR pipeline via some CI system. Well, one day :-)
Why not start there? Upstream has a accumulated a vast library of semantic
patches (http://coccinelle.lip6.fr/) and from what I can tell, these have 
a pretty good track record to get accepted. (I guess the main difficulty here
will be to check whenever spatch already supports dts/dtsi files or not).

Regards,
Christian
Petr Štetiar Jan. 22, 2019, 8:52 p.m. UTC | #6
Christian Lamparter <chunkeey@gmail.com> [2019-01-22 17:54:13]:

Hi,

> The at91, apm821xx, ipq40xx, ipq806x, layerscape and oxnas are probably
> ready to be merged.

a lot of additional work, thanks!

> The situation with ramips, ath79 and lantiq is a bit more complicated:
> <https://git.openwrt.org/?p=openwrt/staging/chunkeey.git;a=commit;h=784c3a84edc30d801a4c06c8ab5a551a95aadbb2>
> <https://git.openwrt.org/?p=openwrt/staging/chunkeey.git;a=commit;h=2dd5806aa930199cf3fc72231bf802d9789011a4>
> 
> because some of these devices also have a separated ath9k-leds 
> and in theory these nodes "could be merged". However, this is
> going to be a bad idea and so I left the "gpio-leds" in these cases
> as is. Maybe "soc-leds" could be a better name, but I don't think
> upstream will care much about that.

I've noticed those during my sed session as well, but checked those manualy
and it looked fine, but maybe I've overlooked something, sorry for that.

> Feedback for merging patches upstream or into openwrt? For upstream:
> Have you talked to Rob or Mark? Usually, they do review device-tree
> changes related to drivers and suchs relatively quickly. 

Nope, the patch was sent just a few days ago (December 16th), so for me it's
still too early trying to ping someone about it.

> However, something must have caused them to ignore the default-state = off
> patch. I can't even find it in the devicetree patchwork. maybe it was too
> big?

It's hidden here https://patchwork.kernel.org/patch/10732469/ even with 'To:
devicetree@vger.kernel.org' header, so maybe the patchwork/mail pipeline
hickup?

> Why not start there? Upstream has a accumulated a vast library of semantic
> patches (http://coccinelle.lip6.fr/) and from what I can tell, these have 
> a pretty good track record to get accepted. (I guess the main difficulty here
> will be to check whenever spatch already supports dts/dtsi files or not).

Nice tool, but still without DT support.

-- ynezz
Christian Lamparter Feb. 5, 2019, 9:41 p.m. UTC | #7
Hello,

I've just pushed the remaining patches. Except for lantiq.
But these are moving along in Mathias Kresin' staging tree:
<https://git.openwrt.org/?p=openwrt/staging/mkresin.git;a=commit;h=d6bf46cc43fa7de8b035fbfe39959adec1876f48>

Thanks,
Christian

Patch
diff mbox series

diff --git a/target/linux/apm821xx/dts/meraki-mr24.dts b/target/linux/apm821xx/dts/meraki-mr24.dts
index 3b05d9c..39379de 100644
--- a/target/linux/apm821xx/dts/meraki-mr24.dts
+++ b/target/linux/apm821xx/dts/meraki-mr24.dts
@@ -168,7 +168,7 @@ 
 		};
 	};
 
-	gpio_keys_polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/apm821xx/dts/meraki-mx60.dts b/target/linux/apm821xx/dts/meraki-mx60.dts
index 80b82e4..8f63170 100644
--- a/target/linux/apm821xx/dts/meraki-mx60.dts
+++ b/target/linux/apm821xx/dts/meraki-mx60.dts
@@ -159,7 +159,7 @@ 
 		};
 	};
 
-	gpio_keys_polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/apm821xx/dts/netgear-wndap6x0.dtsi b/target/linux/apm821xx/dts/netgear-wndap6x0.dtsi
index a163b1d..0732f17 100644
--- a/target/linux/apm821xx/dts/netgear-wndap6x0.dtsi
+++ b/target/linux/apm821xx/dts/netgear-wndap6x0.dtsi
@@ -125,7 +125,7 @@ 
 };
 
 &POB0 {
-	gpio_keys_polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/apm821xx/dts/netgear-wndr4700.dts b/target/linux/apm821xx/dts/netgear-wndr4700.dts
index 313de3f..19d5670 100644
--- a/target/linux/apm821xx/dts/netgear-wndr4700.dts
+++ b/target/linux/apm821xx/dts/netgear-wndr4700.dts
@@ -308,7 +308,7 @@ 
 };
 
 &POB0 {
-	gpio_keys_polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/apm821xx/dts/wd-mybooklive.dts b/target/linux/apm821xx/dts/wd-mybooklive.dts
index 9412f38..4a83cbb 100644
--- a/target/linux/apm821xx/dts/wd-mybooklive.dts
+++ b/target/linux/apm821xx/dts/wd-mybooklive.dts
@@ -107,7 +107,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/at91/files/arch/arm/boot/dts/wb45n.dts b/target/linux/at91/files/arch/arm/boot/dts/wb45n.dts
index 2d1fe0c..1f51893 100644
--- a/target/linux/at91/files/arch/arm/boot/dts/wb45n.dts
+++ b/target/linux/at91/files/arch/arm/boot/dts/wb45n.dts
@@ -206,7 +206,7 @@ 
 		atheros,board-id = "SD32";
 	};
 
-	gpio_keys {
+	keys {
 		compatible = "gpio-keys";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/at91/files/arch/arm/boot/dts/wb50n.dts b/target/linux/at91/files/arch/arm/boot/dts/wb50n.dts
index 4101baf..febd76b 100644
--- a/target/linux/at91/files/arch/arm/boot/dts/wb50n.dts
+++ b/target/linux/at91/files/arch/arm/boot/dts/wb50n.dts
@@ -73,7 +73,7 @@ 
 		};
 	};
 
-	gpio_keys {
+	keys {
 		compatible = "gpio-keys";
 		#address-cells = <1>;
 		#size-cells = <0>;
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 fecdf73..df22eb8 100644
--- a/target/linux/ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dts
+++ b/target/linux/ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dts
@@ -80,7 +80,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ath79/dts/ar7161_netgear_wndr3700.dtsi b/target/linux/ath79/dts/ar7161_netgear_wndr3700.dtsi
index c8ee985..b1c4d87 100644
--- a/target/linux/ath79/dts/ar7161_netgear_wndr3700.dtsi
+++ b/target/linux/ath79/dts/ar7161_netgear_wndr3700.dtsi
@@ -80,7 +80,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <100>;
 
diff --git a/target/linux/ath79/dts/ar7161_ubnt_routerstation.dtsi b/target/linux/ath79/dts/ar7161_ubnt_routerstation.dtsi
index 97e2099..a438a3f 100644
--- a/target/linux/ath79/dts/ar7161_ubnt_routerstation.dtsi
+++ b/target/linux/ath79/dts/ar7161_ubnt_routerstation.dtsi
@@ -34,7 +34,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ath79/dts/ar7240_buffalo_whr-g301n.dts b/target/linux/ath79/dts/ar7240_buffalo_whr-g301n.dts
index 31053e3..042219b 100644
--- a/target/linux/ath79/dts/ar7240_buffalo_whr-g301n.dts
+++ b/target/linux/ath79/dts/ar7240_buffalo_whr-g301n.dts
@@ -16,7 +16,7 @@ 
 		led-upgrade = &diag;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ath79/dts/ar7240_netgear_wnr612-v2.dtsi b/target/linux/ath79/dts/ar7240_netgear_wnr612-v2.dtsi
index 02d18f9..e3f0fa6 100644
--- a/target/linux/ath79/dts/ar7240_netgear_wnr612-v2.dtsi
+++ b/target/linux/ath79/dts/ar7240_netgear_wnr612-v2.dtsi
@@ -14,7 +14,7 @@ 
 		led-upgrade = &power;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ath79/dts/ar7240_tplink_tl-wr74xn-v1.dtsi b/target/linux/ath79/dts/ar7240_tplink_tl-wr74xn-v1.dtsi
index cf63fe3..b7db74d 100644
--- a/target/linux/ath79/dts/ar7240_tplink_tl-wr74xn-v1.dtsi
+++ b/target/linux/ath79/dts/ar7240_tplink_tl-wr74xn-v1.dtsi
@@ -13,7 +13,7 @@ 
 		led-upgrade = &led_system;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ath79/dts/ar7241_tplink.dtsi b/target/linux/ath79/dts/ar7241_tplink.dtsi
index d646c31..fa6ba71 100644
--- a/target/linux/ath79/dts/ar7241_tplink.dtsi
+++ b/target/linux/ath79/dts/ar7241_tplink.dtsi
@@ -13,7 +13,7 @@ 
 		led-upgrade = &led_system;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ath79/dts/ar7242_avm_fritz300e.dts b/target/linux/ath79/dts/ar7242_avm_fritz300e.dts
index fb6b0ff..3621714 100644
--- a/target/linux/ath79/dts/ar7242_avm_fritz300e.dts
+++ b/target/linux/ath79/dts/ar7242_avm_fritz300e.dts
@@ -17,7 +17,7 @@ 
 		led-upgrade = &power;
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ath79/dts/ar7242_tplink_tl-wr2543-v1.dts b/target/linux/ath79/dts/ar7242_tplink_tl-wr2543-v1.dts
index 3377850..9a135df 100644
--- a/target/linux/ath79/dts/ar7242_tplink_tl-wr2543-v1.dts
+++ b/target/linux/ath79/dts/ar7242_tplink_tl-wr2543-v1.dts
@@ -27,7 +27,7 @@ 
 		clock-frequency = <40000000>;
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ath79/dts/ar9331_pisen_wmm003n.dts b/target/linux/ath79/dts/ar9331_pisen_wmm003n.dts
index 3573665..673a0b3 100644
--- a/target/linux/ath79/dts/ar9331_pisen_wmm003n.dts
+++ b/target/linux/ath79/dts/ar9331_pisen_wmm003n.dts
@@ -18,7 +18,7 @@ 
 		led-upgrade = &led_system;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ath79/dts/ar9331_tplink_tl-wr703n_tl-mr10u.dtsi b/target/linux/ath79/dts/ar9331_tplink_tl-wr703n_tl-mr10u.dtsi
index d7b23f9..edbacbc 100644
--- a/target/linux/ath79/dts/ar9331_tplink_tl-wr703n_tl-mr10u.dtsi
+++ b/target/linux/ath79/dts/ar9331_tplink_tl-wr703n_tl-mr10u.dtsi
@@ -15,7 +15,7 @@ 
 		led-upgrade = &system;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ath79/dts/ar9331_tplink_tl-wr741nd-v4.dtsi b/target/linux/ath79/dts/ar9331_tplink_tl-wr741nd-v4.dtsi
index abaaca8..9fca6e4 100644
--- a/target/linux/ath79/dts/ar9331_tplink_tl-wr741nd-v4.dtsi
+++ b/target/linux/ath79/dts/ar9331_tplink_tl-wr741nd-v4.dtsi
@@ -18,7 +18,7 @@ 
 		led-upgrade = &system;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ath79/dts/qca9557_buffalo_bhr-4grv2.dts b/target/linux/ath79/dts/qca9557_buffalo_bhr-4grv2.dts
index 26d969b..1c778f5 100644
--- a/target/linux/ath79/dts/qca9557_buffalo_bhr-4grv2.dts
+++ b/target/linux/ath79/dts/qca9557_buffalo_bhr-4grv2.dts
@@ -46,7 +46,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/brcm63xx/dts/a226g.dts b/target/linux/brcm63xx/dts/a226g.dts
index a77a1b2..3bec78a 100644
--- a/target/linux/brcm63xx/dts/a226g.dts
+++ b/target/linux/brcm63xx/dts/a226g.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/a226m-fwb.dts b/target/linux/brcm63xx/dts/a226m-fwb.dts
index 1785c7a..d18176d 100644
--- a/target/linux/brcm63xx/dts/a226m-fwb.dts
+++ b/target/linux/brcm63xx/dts/a226m-fwb.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/a226m.dts b/target/linux/brcm63xx/dts/a226m.dts
index 190f093..2de1eea 100644
--- a/target/linux/brcm63xx/dts/a226m.dts
+++ b/target/linux/brcm63xx/dts/a226m.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/a4001n.dts b/target/linux/brcm63xx/dts/a4001n.dts
index 2a42122..9787eb5 100644
--- a/target/linux/brcm63xx/dts/a4001n.dts
+++ b/target/linux/brcm63xx/dts/a4001n.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/a4001n1.dts b/target/linux/brcm63xx/dts/a4001n1.dts
index d4c0b36..56cb7d2 100644
--- a/target/linux/brcm63xx/dts/a4001n1.dts
+++ b/target/linux/brcm63xx/dts/a4001n1.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/ad1018-nor.dts b/target/linux/brcm63xx/dts/ad1018-nor.dts
index 2763337..36899a4 100644
--- a/target/linux/brcm63xx/dts/ad1018-nor.dts
+++ b/target/linux/brcm63xx/dts/ad1018-nor.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/agpf-s0.dts b/target/linux/brcm63xx/dts/agpf-s0.dts
index aba3767..4ea9c41 100644
--- a/target/linux/brcm63xx/dts/agpf-s0.dts
+++ b/target/linux/brcm63xx/dts/agpf-s0.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/ar-5315u.dts b/target/linux/brcm63xx/dts/ar-5315u.dts
index 91ebe48..c28384b 100644
--- a/target/linux/brcm63xx/dts/ar-5315u.dts
+++ b/target/linux/brcm63xx/dts/ar-5315u.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/ar-5381u.dts b/target/linux/brcm63xx/dts/ar-5381u.dts
index 5e3513c..22d75dc 100644
--- a/target/linux/brcm63xx/dts/ar-5381u.dts
+++ b/target/linux/brcm63xx/dts/ar-5381u.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/ar-5387un.dts b/target/linux/brcm63xx/dts/ar-5387un.dts
index f30997a..e3c0672 100644
--- a/target/linux/brcm63xx/dts/ar-5387un.dts
+++ b/target/linux/brcm63xx/dts/ar-5387un.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/ar1004g.dts b/target/linux/brcm63xx/dts/ar1004g.dts
index 2dd01bc..59c67d4 100644
--- a/target/linux/brcm63xx/dts/ar1004g.dts
+++ b/target/linux/brcm63xx/dts/ar1004g.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/av4202n.dts b/target/linux/brcm63xx/dts/av4202n.dts
index 7600f47..9ea299a 100644
--- a/target/linux/brcm63xx/dts/av4202n.dts
+++ b/target/linux/brcm63xx/dts/av4202n.dts
@@ -14,7 +14,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/bcm96318ref.dts b/target/linux/brcm63xx/dts/bcm96318ref.dts
index 8a74a80..762c269 100644
--- a/target/linux/brcm63xx/dts/bcm96318ref.dts
+++ b/target/linux/brcm63xx/dts/bcm96318ref.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/bcm96318ref_p300.dts b/target/linux/brcm63xx/dts/bcm96318ref_p300.dts
index 506c992..5b270e4 100644
--- a/target/linux/brcm63xx/dts/bcm96318ref_p300.dts
+++ b/target/linux/brcm63xx/dts/bcm96318ref_p300.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/bcm963268bu_p300.dts b/target/linux/brcm63xx/dts/bcm963268bu_p300.dts
index d9d2c40..57046a7 100644
--- a/target/linux/brcm63xx/dts/bcm963268bu_p300.dts
+++ b/target/linux/brcm63xx/dts/bcm963268bu_p300.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/bcm963269bhr.dts b/target/linux/brcm63xx/dts/bcm963269bhr.dts
index 4fd41f3..81b2de3 100644
--- a/target/linux/brcm63xx/dts/bcm963269bhr.dts
+++ b/target/linux/brcm63xx/dts/bcm963269bhr.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/bcm96348GW-10.dts b/target/linux/brcm63xx/dts/bcm96348GW-10.dts
index 94dc38f..ac92677 100644
--- a/target/linux/brcm63xx/dts/bcm96348GW-10.dts
+++ b/target/linux/brcm63xx/dts/bcm96348GW-10.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/bcm96348GW-11.dts b/target/linux/brcm63xx/dts/bcm96348GW-11.dts
index 5c42ea7..71f9f51 100644
--- a/target/linux/brcm63xx/dts/bcm96348GW-11.dts
+++ b/target/linux/brcm63xx/dts/bcm96348GW-11.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/bcm96348GW.dts b/target/linux/brcm63xx/dts/bcm96348GW.dts
index 7961d8c..04ba881 100644
--- a/target/linux/brcm63xx/dts/bcm96348GW.dts
+++ b/target/linux/brcm63xx/dts/bcm96348GW.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/cpva502plus.dts b/target/linux/brcm63xx/dts/cpva502plus.dts
index 2d45ae3..cfa9ac5 100644
--- a/target/linux/brcm63xx/dts/cpva502plus.dts
+++ b/target/linux/brcm63xx/dts/cpva502plus.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/cpva642.dts b/target/linux/brcm63xx/dts/cpva642.dts
index 95ea7da..b755160 100644
--- a/target/linux/brcm63xx/dts/cpva642.dts
+++ b/target/linux/brcm63xx/dts/cpva642.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/ct-5365.dts b/target/linux/brcm63xx/dts/ct-5365.dts
index c6600f6..b25bcde 100644
--- a/target/linux/brcm63xx/dts/ct-5365.dts
+++ b/target/linux/brcm63xx/dts/ct-5365.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/ct-6373.dts b/target/linux/brcm63xx/dts/ct-6373.dts
index 60bf25f..a1e475b 100644
--- a/target/linux/brcm63xx/dts/ct-6373.dts
+++ b/target/linux/brcm63xx/dts/ct-6373.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/ct536plus.dts b/target/linux/brcm63xx/dts/ct536plus.dts
index 4533af8..5128b37 100644
--- a/target/linux/brcm63xx/dts/ct536plus.dts
+++ b/target/linux/brcm63xx/dts/ct536plus.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/dg834g_v4.dts b/target/linux/brcm63xx/dts/dg834g_v4.dts
index ff2c0d5..896449d 100644
--- a/target/linux/brcm63xx/dts/dg834g_v4.dts
+++ b/target/linux/brcm63xx/dts/dg834g_v4.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/dg834gtpn.dts b/target/linux/brcm63xx/dts/dg834gtpn.dts
index 8fefe4a..d860f49 100644
--- a/target/linux/brcm63xx/dts/dg834gtpn.dts
+++ b/target/linux/brcm63xx/dts/dg834gtpn.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/dgnd3700v1.dts b/target/linux/brcm63xx/dts/dgnd3700v1.dts
index 052f3f6..1d400c1 100644
--- a/target/linux/brcm63xx/dts/dgnd3700v1.dts
+++ b/target/linux/brcm63xx/dts/dgnd3700v1.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/dsl-2640b-b.dts b/target/linux/brcm63xx/dts/dsl-2640b-b.dts
index 79cc061..3caf81d 100644
--- a/target/linux/brcm63xx/dts/dsl-2640b-b.dts
+++ b/target/linux/brcm63xx/dts/dsl-2640b-b.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/dsl-274xb-c.dts b/target/linux/brcm63xx/dts/dsl-274xb-c.dts
index c5d0672..1e6654d 100644
--- a/target/linux/brcm63xx/dts/dsl-274xb-c.dts
+++ b/target/linux/brcm63xx/dts/dsl-274xb-c.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/dsl-274xb-f.dts b/target/linux/brcm63xx/dts/dsl-274xb-f.dts
index 3fdcf7c..c2036a7 100644
--- a/target/linux/brcm63xx/dts/dsl-274xb-f.dts
+++ b/target/linux/brcm63xx/dts/dsl-274xb-f.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/dsl-275xb-d.dts b/target/linux/brcm63xx/dts/dsl-275xb-d.dts
index 63388ef..c6969ed 100644
--- a/target/linux/brcm63xx/dts/dsl-275xb-d.dts
+++ b/target/linux/brcm63xx/dts/dsl-275xb-d.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/dva-g3810bn_tl.dts b/target/linux/brcm63xx/dts/dva-g3810bn_tl.dts
index 342a7d6..9a5c27d 100644
--- a/target/linux/brcm63xx/dts/dva-g3810bn_tl.dts
+++ b/target/linux/brcm63xx/dts/dva-g3810bn_tl.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/evg2000.dts b/target/linux/brcm63xx/dts/evg2000.dts
index d68568a..5bcc60d 100644
--- a/target/linux/brcm63xx/dts/evg2000.dts
+++ b/target/linux/brcm63xx/dts/evg2000.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/f5d7633.dts b/target/linux/brcm63xx/dts/f5d7633.dts
index 782c70b..eaf7bf1 100644
--- a/target/linux/brcm63xx/dts/f5d7633.dts
+++ b/target/linux/brcm63xx/dts/f5d7633.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/fast2504n.dts b/target/linux/brcm63xx/dts/fast2504n.dts
index 508f8d7..2172a40 100644
--- a/target/linux/brcm63xx/dts/fast2504n.dts
+++ b/target/linux/brcm63xx/dts/fast2504n.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/fast2604.dts b/target/linux/brcm63xx/dts/fast2604.dts
index 72eec51..dab44bf 100644
--- a/target/linux/brcm63xx/dts/fast2604.dts
+++ b/target/linux/brcm63xx/dts/fast2604.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/fast2704n.dts b/target/linux/brcm63xx/dts/fast2704n.dts
index 4438ea2..ed828a1 100644
--- a/target/linux/brcm63xx/dts/fast2704n.dts
+++ b/target/linux/brcm63xx/dts/fast2704n.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/fast2704v2.dts b/target/linux/brcm63xx/dts/fast2704v2.dts
index 44fe107..6106975 100644
--- a/target/linux/brcm63xx/dts/fast2704v2.dts
+++ b/target/linux/brcm63xx/dts/fast2704v2.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/gw6000.dts b/target/linux/brcm63xx/dts/gw6000.dts
index 73d59b9..4822b04 100644
--- a/target/linux/brcm63xx/dts/gw6000.dts
+++ b/target/linux/brcm63xx/dts/gw6000.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/gw6200.dts b/target/linux/brcm63xx/dts/gw6200.dts
index 951cb55..e9b8973 100644
--- a/target/linux/brcm63xx/dts/gw6200.dts
+++ b/target/linux/brcm63xx/dts/gw6200.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/hg520v.dts b/target/linux/brcm63xx/dts/hg520v.dts
index 4473362..3ceea77 100644
--- a/target/linux/brcm63xx/dts/hg520v.dts
+++ b/target/linux/brcm63xx/dts/hg520v.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/hg553.dts b/target/linux/brcm63xx/dts/hg553.dts
index c23dba0..388a5fe 100644
--- a/target/linux/brcm63xx/dts/hg553.dts
+++ b/target/linux/brcm63xx/dts/hg553.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/hg556a-a.dts b/target/linux/brcm63xx/dts/hg556a-a.dts
index 7c93520..1ab4635 100644
--- a/target/linux/brcm63xx/dts/hg556a-a.dts
+++ b/target/linux/brcm63xx/dts/hg556a-a.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/hg556a-b.dts b/target/linux/brcm63xx/dts/hg556a-b.dts
index a66dba6..3c9683c 100644
--- a/target/linux/brcm63xx/dts/hg556a-b.dts
+++ b/target/linux/brcm63xx/dts/hg556a-b.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/hg556a-c.dts b/target/linux/brcm63xx/dts/hg556a-c.dts
index cfcc70a..9dcc09e 100644
--- a/target/linux/brcm63xx/dts/hg556a-c.dts
+++ b/target/linux/brcm63xx/dts/hg556a-c.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/hg622.dts b/target/linux/brcm63xx/dts/hg622.dts
index de4a5cb..9de7b90 100644
--- a/target/linux/brcm63xx/dts/hg622.dts
+++ b/target/linux/brcm63xx/dts/hg622.dts
@@ -14,7 +14,7 @@ 
 	};
 
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/hg655b.dts b/target/linux/brcm63xx/dts/hg655b.dts
index 28b2ed1..23d373b 100644
--- a/target/linux/brcm63xx/dts/hg655b.dts
+++ b/target/linux/brcm63xx/dts/hg655b.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/homehub2a.dts b/target/linux/brcm63xx/dts/homehub2a.dts
index 59efb77..836c43c 100644
--- a/target/linux/brcm63xx/dts/homehub2a.dts
+++ b/target/linux/brcm63xx/dts/homehub2a.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/livebox-blue-5g.dts b/target/linux/brcm63xx/dts/livebox-blue-5g.dts
index 6eba3b8..8e9aaa5 100644
--- a/target/linux/brcm63xx/dts/livebox-blue-5g.dts
+++ b/target/linux/brcm63xx/dts/livebox-blue-5g.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/nb4-fxc-r1.dts b/target/linux/brcm63xx/dts/nb4-fxc-r1.dts
index b9836fd..832fd90 100644
--- a/target/linux/brcm63xx/dts/nb4-fxc-r1.dts
+++ b/target/linux/brcm63xx/dts/nb4-fxc-r1.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/nb4-ser-r0.dts b/target/linux/brcm63xx/dts/nb4-ser-r0.dts
index b546dae..2f3defa 100644
--- a/target/linux/brcm63xx/dts/nb4-ser-r0.dts
+++ b/target/linux/brcm63xx/dts/nb4-ser-r0.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/nb6-ser-r0.dts b/target/linux/brcm63xx/dts/nb6-ser-r0.dts
index d91f1eb..202386a 100644
--- a/target/linux/brcm63xx/dts/nb6-ser-r0.dts
+++ b/target/linux/brcm63xx/dts/nb6-ser-r0.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/p870hw-51a-v2.dts b/target/linux/brcm63xx/dts/p870hw-51a-v2.dts
index 504817c..992ba1b 100644
--- a/target/linux/brcm63xx/dts/p870hw-51a-v2.dts
+++ b/target/linux/brcm63xx/dts/p870hw-51a-v2.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/r1000h.dts b/target/linux/brcm63xx/dts/r1000h.dts
index 22be696..ae94abd 100644
--- a/target/linux/brcm63xx/dts/r1000h.dts
+++ b/target/linux/brcm63xx/dts/r1000h.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/r5010unv2.dts b/target/linux/brcm63xx/dts/r5010unv2.dts
index 8f1142d..cb2c5e0 100644
--- a/target/linux/brcm63xx/dts/r5010unv2.dts
+++ b/target/linux/brcm63xx/dts/r5010unv2.dts
@@ -14,7 +14,7 @@ 
 	};
 
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/rta770bw.dts b/target/linux/brcm63xx/dts/rta770bw.dts
index 17d3cf9..5a5b6fd 100644
--- a/target/linux/brcm63xx/dts/rta770bw.dts
+++ b/target/linux/brcm63xx/dts/rta770bw.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/rta770w.dts b/target/linux/brcm63xx/dts/rta770w.dts
index 09b27e4..e6bfaa1 100644
--- a/target/linux/brcm63xx/dts/rta770w.dts
+++ b/target/linux/brcm63xx/dts/rta770w.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/spw303v.dts b/target/linux/brcm63xx/dts/spw303v.dts
index 5edab55..77dc468 100644
--- a/target/linux/brcm63xx/dts/spw303v.dts
+++ b/target/linux/brcm63xx/dts/spw303v.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/spw500v.dts b/target/linux/brcm63xx/dts/spw500v.dts
index 2461021..7138104 100644
--- a/target/linux/brcm63xx/dts/spw500v.dts
+++ b/target/linux/brcm63xx/dts/spw500v.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/sr102.dts b/target/linux/brcm63xx/dts/sr102.dts
index f5d9044..3100cb0 100644
--- a/target/linux/brcm63xx/dts/sr102.dts
+++ b/target/linux/brcm63xx/dts/sr102.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/td-w8900gb.dts b/target/linux/brcm63xx/dts/td-w8900gb.dts
index cb53811..afdabf6 100644
--- a/target/linux/brcm63xx/dts/td-w8900gb.dts
+++ b/target/linux/brcm63xx/dts/td-w8900gb.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/v2110.dts b/target/linux/brcm63xx/dts/v2110.dts
index dd66b00..ca97780 100644
--- a/target/linux/brcm63xx/dts/v2110.dts
+++ b/target/linux/brcm63xx/dts/v2110.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/v2500v-bb.dts b/target/linux/brcm63xx/dts/v2500v-bb.dts
index 5376d18..fe0e7c7 100644
--- a/target/linux/brcm63xx/dts/v2500v-bb.dts
+++ b/target/linux/brcm63xx/dts/v2500v-bb.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/vg50.dts b/target/linux/brcm63xx/dts/vg50.dts
index 97b4275..dbbea13 100644
--- a/target/linux/brcm63xx/dts/vg50.dts
+++ b/target/linux/brcm63xx/dts/vg50.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/vh4032n.dts b/target/linux/brcm63xx/dts/vh4032n.dts
index 6788026..1c5b527 100644
--- a/target/linux/brcm63xx/dts/vh4032n.dts
+++ b/target/linux/brcm63xx/dts/vh4032n.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/vr-3025u.dts b/target/linux/brcm63xx/dts/vr-3025u.dts
index 7654331..8b695b3 100644
--- a/target/linux/brcm63xx/dts/vr-3025u.dts
+++ b/target/linux/brcm63xx/dts/vr-3025u.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/vr-3025un.dts b/target/linux/brcm63xx/dts/vr-3025un.dts
index 139d79b..8a0a174 100644
--- a/target/linux/brcm63xx/dts/vr-3025un.dts
+++ b/target/linux/brcm63xx/dts/vr-3025un.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/vr-3026e.dts b/target/linux/brcm63xx/dts/vr-3026e.dts
index 9d4fa5e..b124c98 100644
--- a/target/linux/brcm63xx/dts/vr-3026e.dts
+++ b/target/linux/brcm63xx/dts/vr-3026e.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/brcm63xx/dts/wap-5813n.dts b/target/linux/brcm63xx/dts/wap-5813n.dts
index 298d779..e0e8448 100644
--- a/target/linux/brcm63xx/dts/wap-5813n.dts
+++ b/target/linux/brcm63xx/dts/wap-5813n.dts
@@ -13,7 +13,7 @@ 
 		stdout-path = "serial0:115200n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-a42.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-a42.dts
index ed81cbc..e9be642 100644
--- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-a42.dts
+++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-a42.dts
@@ -80,7 +80,7 @@ 
 		};
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 
 		reset {
diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts
index a86e342..0314fa2 100644
--- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts
+++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts
@@ -53,7 +53,7 @@ 
 		};
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 
 		reset {
diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi
index ceece0f..4565652 100644
--- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi
+++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi
@@ -76,7 +76,7 @@ 
 		led-upgrade = &power_amber;
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 
 		wps {
diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts
index 9a7c715..0968cb1 100644
--- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts
+++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts
@@ -118,7 +118,7 @@ 
 		};
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 
 		reset {
diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts
index 2809a67..380136a 100644
--- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts
+++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts
@@ -114,7 +114,7 @@ 
 		};
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 
 		wps {
diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-a62.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-a62.dts
index 88b60be..7476764 100644
--- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-a62.dts
+++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-a62.dts
@@ -83,7 +83,7 @@ 
 		};
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 
 		reset {
diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts
index 58e13da..cbb7d5a 100644
--- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts
+++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts
@@ -88,7 +88,7 @@ 
 		};
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 
 		reset {
diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts
index b1f71ef..092534f 100644
--- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts
+++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts
@@ -97,7 +97,7 @@ 
 		};
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 
 		wps {
diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-a42.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-a42.dts
index bfebad0..3981f71 100644
--- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-a42.dts
+++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-a42.dts
@@ -84,7 +84,7 @@ 
 		};
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 
 		reset {
diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts
index f7ef4cd..3187bcb 100644
--- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts
+++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts
@@ -57,7 +57,7 @@ 
 		};
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 
 		reset {
diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi
index 348f252..aa16acc 100644
--- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi
+++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi
@@ -80,7 +80,7 @@ 
 		led-upgrade = &power_amber;
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 
 		wps {
diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts
index c09962d..1f0e7a7 100644
--- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts
+++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts
@@ -118,7 +118,7 @@ 
 		};
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 
 		wps {
diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-a62.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-a62.dts
index 72c4f0e..b08a494 100644
--- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-a62.dts
+++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-a62.dts
@@ -87,7 +87,7 @@ 
 		};
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 
 		reset {
diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts
index 188c28e..98732e0 100644
--- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts
+++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts
@@ -92,7 +92,7 @@ 
 		};
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 
 		reset {
diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts
index b4937de..74f5629 100644
--- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts
+++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts
@@ -101,7 +101,7 @@ 
 		};
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 
 		wps {
diff --git a/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-c2600.dts b/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-c2600.dts
index 0db4519..6d260dc 100644
--- a/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-c2600.dts
+++ b/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-c2600.dts
@@ -410,7 +410,7 @@ 
 		};
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 		pinctrl-0 = <&button_pins>;
 		pinctrl-names = "default";
diff --git a/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-d7800.dts b/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-d7800.dts
index 14ed6fb..d6678c7 100644
--- a/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-d7800.dts
+++ b/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-d7800.dts
@@ -326,7 +326,7 @@ 
 		};
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 		pinctrl-0 = <&button_pins>;
 		pinctrl-names = "default";
diff --git a/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-ea8500.dts b/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-ea8500.dts
index 900d602..929c447 100644
--- a/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-ea8500.dts
+++ b/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-ea8500.dts
@@ -361,7 +361,7 @@ 
 		};
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 		pinctrl-0 = <&button_pins>;
 		pinctrl-names = "default";
diff --git a/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-r7500.dts b/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-r7500.dts
index 5a30568..8966a6d 100644
--- a/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-r7500.dts
+++ b/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-r7500.dts
@@ -295,7 +295,7 @@ 
 		};
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 		pinctrl-0 = <&button_pins>;
 		pinctrl-names = "default";
diff --git a/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-r7500v2.dts b/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-r7500v2.dts
index 1005ea1..563fb6f 100644
--- a/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-r7500v2.dts
+++ b/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-r7500v2.dts
@@ -331,7 +331,7 @@ 
 		};
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 		pinctrl-0 = <&button_pins>;
 		pinctrl-names = "default";
diff --git a/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-vr2600v.dts b/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-vr2600v.dts
index 56421b2..c31e37b 100644
--- a/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-vr2600v.dts
+++ b/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-vr2600v.dts
@@ -323,7 +323,7 @@ 
 		};
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 		pinctrl-0 = <&button_pins>;
 		pinctrl-names = "default";
diff --git a/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-wg2600hp.dts b/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-wg2600hp.dts
index 881b542..4d7a044 100644
--- a/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-wg2600hp.dts
+++ b/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-wg2600hp.dts
@@ -62,7 +62,7 @@ 
 		};
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 		pinctrl-0 = <&button_pins>;
 		pinctrl-names = "default";
diff --git a/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-wpq864.dts b/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-wpq864.dts
index 591f353..1080c6f 100644
--- a/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-wpq864.dts
+++ b/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-wpq864.dts
@@ -294,7 +294,7 @@ 
 		};
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 
 		pinctrl-0 = <&button_pins>;
diff --git a/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8065-nbg6817.dts b/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8065-nbg6817.dts
index dd06fcc..96f2f24 100644
--- a/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8065-nbg6817.dts
+++ b/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8065-nbg6817.dts
@@ -324,7 +324,7 @@ 
 		};
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 		pinctrl-0 = <&button_pins>;
 		pinctrl-names = "default";
diff --git a/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8065-r7800.dts b/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8065-r7800.dts
index c4c9287..256057a 100644
--- a/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8065-r7800.dts
+++ b/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8065-r7800.dts
@@ -424,7 +424,7 @@ 
 		};
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 		pinctrl-0 = <&button_pins>;
 		pinctrl-names = "default";
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4510PW.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4510PW.dts
index 6598a60..e0aaa3e 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4510PW.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4510PW.dts
@@ -29,7 +29,7 @@ 
 		reg = <0x0 0x2000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4518PWR01.dtsi b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4518PWR01.dtsi
index f29c416..dcac9d1 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4518PWR01.dtsi
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4518PWR01.dtsi
@@ -31,7 +31,7 @@ 
 		ath,eep-swap;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4519PW.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4519PW.dts
index e307b38..3313238 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4519PW.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4519PW.dts
@@ -28,7 +28,7 @@ 
 		reg = <0x0 0x2000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4520PW.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4520PW.dts
index cd76bf5..2f47721 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4520PW.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4520PW.dts
@@ -28,7 +28,7 @@ 
 		reg = <0x0 0x2000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4525PW.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4525PW.dts
index b3904d3..59595d8 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4525PW.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4525PW.dts
@@ -33,7 +33,7 @@ 
 		ath,eep-swap;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV452CQW.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV452CQW.dts
index 203a30d..28a5f0c 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV452CQW.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV452CQW.dts
@@ -34,7 +34,7 @@ 
 		ath,eep-swap;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7506PW11.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7506PW11.dts
index 8fe22e9..ba219e9 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7506PW11.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7506PW11.dts
@@ -27,7 +27,7 @@ 
 		reg = <0x0 0x4000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7510PW22.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7510PW22.dts
index 92d01b4..8a6b6d0 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7510PW22.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7510PW22.dts
@@ -27,7 +27,7 @@ 
 		reg = <0x0 0x4000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7518PW.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7518PW.dts
index 72f3a68..f71cd8b 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7518PW.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7518PW.dts
@@ -28,7 +28,7 @@ 
 		reg = <0x0 0x4000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7519PW.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7519PW.dts
index bcb3b50..ef5819a 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7519PW.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7519PW.dts
@@ -27,7 +27,7 @@ 
 		reg = <0x0 0x4000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7519RW22.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7519RW22.dts
index baa9adc..fee16ee 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7519RW22.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7519RW22.dts
@@ -26,7 +26,7 @@ 
 		reg = <0x0 0x8000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7525PW.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7525PW.dts
index a395d4f..8f61d1d 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7525PW.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7525PW.dts
@@ -27,7 +27,7 @@ 
 		reg = <0x0 0x2000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV752DPW.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV752DPW.dts
index 5f87772..6ef1470 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV752DPW.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV752DPW.dts
@@ -27,7 +27,7 @@ 
 		reg = <0x0 0x4000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV752DPW22.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV752DPW22.dts
index 1d4d662..f0ce80e 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV752DPW22.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV752DPW22.dts
@@ -27,7 +27,7 @@ 
 		reg = <0x0 0x4000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV8539PW22.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV8539PW22.dts
index 1e55d81..8df9182 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV8539PW22.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV8539PW22.dts
@@ -27,7 +27,7 @@ 
 		reg = <0x0 0x4000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ASL56026.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ASL56026.dts
index 90bfcab..b33e4c7 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ASL56026.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ASL56026.dts
@@ -26,7 +26,7 @@ 
 		reg = <0x0 0x2000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/BTHOMEHUBV2B.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/BTHOMEHUBV2B.dts
index e126065..f61e77b 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/BTHOMEHUBV2B.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/BTHOMEHUBV2B.dts
@@ -26,7 +26,7 @@ 
 		reg = <0x0 0x4000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/BTHOMEHUBV3A.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/BTHOMEHUBV3A.dts
index b854ac0..991055b 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/BTHOMEHUBV3A.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/BTHOMEHUBV3A.dts
@@ -26,7 +26,7 @@ 
 		reg = <0x0 0x4000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/BTHOMEHUBV5A.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/BTHOMEHUBV5A.dts
index c251fc3..5754638 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/BTHOMEHUBV5A.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/BTHOMEHUBV5A.dts
@@ -27,7 +27,7 @@ 
 		reg = <0x0 0x8000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/DGN1000B.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/DGN1000B.dts
index 8c61e1b..fc11622 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/DGN1000B.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/DGN1000B.dts
@@ -26,7 +26,7 @@ 
 		reg = <0x0 0x1000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/DGN3500.dtsi b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/DGN3500.dtsi
index b0facb4..b3f00b6 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/DGN3500.dtsi
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/DGN3500.dtsi
@@ -42,7 +42,7 @@ 
 		>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/DM200.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/DM200.dts
index 8cf3456..239912a 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/DM200.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/DM200.dts
@@ -26,7 +26,7 @@ 
 		reg = <0x0 0x4000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY80920.dtsi b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY80920.dtsi
index 781cdfd..1669860 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY80920.dtsi
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY80920.dtsi
@@ -24,7 +24,7 @@ 
 		reg = <0x0 0x4000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY88388.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY88388.dts
index 86f3b47..fb05ee6 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY88388.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY88388.dts
@@ -17,7 +17,7 @@ 
 		reg = <0x0 0x4000000>;  // 64M at 0x0
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 		reset {
 			label = "reset";
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY88444.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY88444.dts
index e1a934f..89f7b38 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY88444.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY88444.dts
@@ -17,7 +17,7 @@ 
 		reg = <0x0 0x4000000>;	// 64M at 0x0
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 		reset {
 			label = "reset";
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY98020.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY98020.dts
index b66786a..7e79dcb 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY98020.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY98020.dts
@@ -18,7 +18,7 @@ 
 		reg = <0x0 0x4000000>;  // 64M at 0x0
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 		reset {
 			label = "reset";
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY98020V18.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY98020V18.dts
index 9aa1be9..0fb4e71 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY98020V18.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY98020V18.dts
@@ -18,7 +18,7 @@ 
 		reg = <0x0 0x4000000>;  // 64M at 0x0
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 		reset {
 			label = "reset";
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY98021.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY98021.dts
index 38154d6..2f2fdc9 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY98021.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY98021.dts
@@ -18,7 +18,7 @@ 
 		reg = <0x0 0x4000000>;	// 64M at 0x0
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 		reset {
 			label = "reset";
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ3370-REV2.dtsi b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ3370-REV2.dtsi
index a7e0c71..230cbe1 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ3370-REV2.dtsi
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ3370-REV2.dtsi
@@ -31,7 +31,7 @@ 
 		gpios = <&gpio 45 GPIO_ACTIVE_HIGH>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7312.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7312.dts
index c146954..9e48413 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7312.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7312.dts
@@ -27,7 +27,7 @@ 
 		reg = <0x0 0x4000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7320.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7320.dts
index 45a59c0..d0dd3ff 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7320.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7320.dts
@@ -27,7 +27,7 @@ 
 		reg = <0x0 0x4000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7360SL.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7360SL.dts
index 91520c8..bddbb70 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7360SL.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7360SL.dts
@@ -27,7 +27,7 @@ 
 		reg = <0x0 0x8000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/GIGASX76X.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/GIGASX76X.dts
index 36b8251..6b7e67a 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/GIGASX76X.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/GIGASX76X.dts
@@ -16,7 +16,7 @@ 
 		reg = <0x0 0x2000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/H201L.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/H201L.dts
index 46cae21..fdcbb87 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/H201L.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/H201L.dts
@@ -28,7 +28,7 @@ 
 		reg = <0x0 0x2000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/P2601HNFX.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/P2601HNFX.dts
index 6e01068..cb8c292 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/P2601HNFX.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/P2601HNFX.dts
@@ -27,7 +27,7 @@ 
 		reg = <0x0 0x4000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/P2812HNUFX.dtsi b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/P2812HNUFX.dtsi
index 65424e3..c214a8c 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/P2812HNUFX.dtsi
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/P2812HNUFX.dtsi
@@ -25,7 +25,7 @@ 
 		reg = <0x0 0x8000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/TDW89X0.dtsi b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/TDW89X0.dtsi
index 233b7e3..7228f3e 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/TDW89X0.dtsi
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/TDW89X0.dtsi
@@ -26,7 +26,7 @@ 
 		reg = <0x0 0x4000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VG3503J.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VG3503J.dts
index 9735b2e..8946f9c 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VG3503J.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VG3503J.dts
@@ -26,7 +26,7 @@ 
 		reg = <0x0 0x2000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VGV7510KW22.dtsi b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VGV7510KW22.dtsi
index 811f39d..b16e54b 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VGV7510KW22.dtsi
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VGV7510KW22.dtsi
@@ -25,7 +25,7 @@ 
 		reg = <0x0 0x4000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VGV7519.dtsi b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VGV7519.dtsi
index 8ffa914..9b09389 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VGV7519.dtsi
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VGV7519.dtsi
@@ -25,7 +25,7 @@ 
 		reg = <0x0 0x4000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VR200.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VR200.dts
index 74f666ddf..05bf714 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VR200.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VR200.dts
@@ -24,7 +24,7 @@ 
 		led-usb2 = &led_usb;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VR200v.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VR200v.dts
index dc65dbf..3b213bd 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VR200v.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VR200v.dts
@@ -24,7 +24,7 @@ 
 		led-usb2 = &led_usb;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/WBMR.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/WBMR.dts
index 9759b31..a22a4ec 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/WBMR.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/WBMR.dts
@@ -28,7 +28,7 @@ 
 		reg = <0x0 0x4000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/WBMR300.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/WBMR300.dts
index 5dcf139..5e656ae 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/WBMR300.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/WBMR300.dts
@@ -33,7 +33,7 @@ 
 		gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/layerscape/files/arch/arm64/boot/dts/freescale/traverse-ls1043s.dts b/target/linux/layerscape/files/arch/arm64/boot/dts/freescale/traverse-ls1043s.dts
index 3896f39..81044aa 100644
--- a/target/linux/layerscape/files/arch/arm64/boot/dts/freescale/traverse-ls1043s.dts
+++ b/target/linux/layerscape/files/arch/arm64/boot/dts/freescale/traverse-ls1043s.dts
@@ -110,7 +110,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/layerscape/files/arch/arm64/boot/dts/freescale/traverse-ls1043v.dts b/target/linux/layerscape/files/arch/arm64/boot/dts/freescale/traverse-ls1043v.dts
index cfbc0d0..9368751 100644
--- a/target/linux/layerscape/files/arch/arm64/boot/dts/freescale/traverse-ls1043v.dts
+++ b/target/linux/layerscape/files/arch/arm64/boot/dts/freescale/traverse-ls1043v.dts
@@ -95,7 +95,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/oxnas/files/arch/arm/boot/dts/ox820-akitio-mycloud.dts b/target/linux/oxnas/files/arch/arm/boot/dts/ox820-akitio-mycloud.dts
index 90ea15d..3564803 100644
--- a/target/linux/oxnas/files/arch/arm/boot/dts/ox820-akitio-mycloud.dts
+++ b/target/linux/oxnas/files/arch/arm/boot/dts/ox820-akitio-mycloud.dts
@@ -39,7 +39,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		pinctrl-names = "default";
 		pinctrl-0 = <&pinctrl_buttons>;
diff --git a/target/linux/oxnas/files/arch/arm/boot/dts/ox820-mitrastar-stg212.dts b/target/linux/oxnas/files/arch/arm/boot/dts/ox820-mitrastar-stg212.dts
index c1cb1ef..81e862a 100644
--- a/target/linux/oxnas/files/arch/arm/boot/dts/ox820-mitrastar-stg212.dts
+++ b/target/linux/oxnas/files/arch/arm/boot/dts/ox820-mitrastar-stg212.dts
@@ -25,7 +25,7 @@ 
 		gpio1 = &gpio1;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/oxnas/files/arch/arm/boot/dts/ox820-shuttle-kd20.dts b/target/linux/oxnas/files/arch/arm/boot/dts/ox820-shuttle-kd20.dts
index 9186d08..6cff93d 100644
--- a/target/linux/oxnas/files/arch/arm/boot/dts/ox820-shuttle-kd20.dts
+++ b/target/linux/oxnas/files/arch/arm/boot/dts/ox820-shuttle-kd20.dts
@@ -37,7 +37,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/target/linux/ramips/dts/3G-6200N.dts b/target/linux/ramips/dts/3G-6200N.dts
index d5b935e..66bd978 100644
--- a/target/linux/ramips/dts/3G-6200N.dts
+++ b/target/linux/ramips/dts/3G-6200N.dts
@@ -80,7 +80,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/3G-6200NL.dts b/target/linux/ramips/dts/3G-6200NL.dts
index dfc5574..a91ac6f 100644
--- a/target/linux/ramips/dts/3G-6200NL.dts
+++ b/target/linux/ramips/dts/3G-6200NL.dts
@@ -73,7 +73,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/3G150B.dts b/target/linux/ramips/dts/3G150B.dts
index 2e32532..6c8083d 100644
--- a/target/linux/ramips/dts/3G150B.dts
+++ b/target/linux/ramips/dts/3G150B.dts
@@ -32,7 +32,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/3G300M.dts b/target/linux/ramips/dts/3G300M.dts
index 788eba4..09b47a6 100644
--- a/target/linux/ramips/dts/3G300M.dts
+++ b/target/linux/ramips/dts/3G300M.dts
@@ -52,7 +52,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/A5-V11.dts b/target/linux/ramips/dts/A5-V11.dts
index 8949a3f..f2bebcd 100644
--- a/target/linux/ramips/dts/A5-V11.dts
+++ b/target/linux/ramips/dts/A5-V11.dts
@@ -30,7 +30,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/AC1200RM.dts b/target/linux/ramips/dts/AC1200RM.dts
index 29f54be..a4b2a7f 100644
--- a/target/linux/ramips/dts/AC1200RM.dts
+++ b/target/linux/ramips/dts/AC1200RM.dts
@@ -50,7 +50,7 @@ 
 		bootargs = "console=ttyS0,115200";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/AI-BR100.dts b/target/linux/ramips/dts/AI-BR100.dts
index b23ee9b..acd796f 100644
--- a/target/linux/ramips/dts/AI-BR100.dts
+++ b/target/linux/ramips/dts/AI-BR100.dts
@@ -30,7 +30,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/AIR3GII.dts b/target/linux/ramips/dts/AIR3GII.dts
index 0a9dd54..2963d0b 100644
--- a/target/linux/ramips/dts/AIR3GII.dts
+++ b/target/linux/ramips/dts/AIR3GII.dts
@@ -25,7 +25,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/ALL0256N.dtsi b/target/linux/ramips/dts/ALL0256N.dtsi
index 0437b96..7c8a704 100644
--- a/target/linux/ramips/dts/ALL0256N.dtsi
+++ b/target/linux/ramips/dts/ALL0256N.dtsi
@@ -25,7 +25,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/AR670W.dts b/target/linux/ramips/dts/AR670W.dts
index 3ee39c1..3849647 100644
--- a/target/linux/ramips/dts/AR670W.dts
+++ b/target/linux/ramips/dts/AR670W.dts
@@ -59,7 +59,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <100>;
 
diff --git a/target/linux/ramips/dts/AR725W.dts b/target/linux/ramips/dts/AR725W.dts
index b143f45..96e8ebc 100644
--- a/target/linux/ramips/dts/AR725W.dts
+++ b/target/linux/ramips/dts/AR725W.dts
@@ -70,7 +70,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <100>;
 
diff --git a/target/linux/ramips/dts/ASL26555.dtsi b/target/linux/ramips/dts/ASL26555.dtsi
index 860c2af..fe3d718 100644
--- a/target/linux/ramips/dts/ASL26555.dtsi
+++ b/target/linux/ramips/dts/ASL26555.dtsi
@@ -13,7 +13,7 @@ 
 		led-upgrade = &led_power_green;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/ATP-52B.dts b/target/linux/ramips/dts/ATP-52B.dts
index 9fec757..9d92afe 100644
--- a/target/linux/ramips/dts/ATP-52B.dts
+++ b/target/linux/ramips/dts/ATP-52B.dts
@@ -65,7 +65,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/AWAPN2403.dts b/target/linux/ramips/dts/AWAPN2403.dts
index 4d08943..c5dd025 100644
--- a/target/linux/ramips/dts/AWAPN2403.dts
+++ b/target/linux/ramips/dts/AWAPN2403.dts
@@ -26,7 +26,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/AWM002-EVB.dtsi b/target/linux/ramips/dts/AWM002-EVB.dtsi
index a2770d9..26abc01 100644
--- a/target/linux/ramips/dts/AWM002-EVB.dtsi
+++ b/target/linux/ramips/dts/AWM002-EVB.dtsi
@@ -25,7 +25,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/AWUSFREE1.dts b/target/linux/ramips/dts/AWUSFREE1.dts
index 3edafb3..a816bbe 100644
--- a/target/linux/ramips/dts/AWUSFREE1.dts
+++ b/target/linux/ramips/dts/AWUSFREE1.dts
@@ -52,7 +52,7 @@ 
 		bootargs = "console=ttyS0,115200";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/ArcherC2-v1.dts b/target/linux/ramips/dts/ArcherC2-v1.dts
index 42f75dd..f8c3403 100644
--- a/target/linux/ramips/dts/ArcherC2-v1.dts
+++ b/target/linux/ramips/dts/ArcherC2-v1.dts
@@ -60,7 +60,7 @@ 
 		};
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 
 		reset_wps {
diff --git a/target/linux/ramips/dts/ArcherC20i.dts b/target/linux/ramips/dts/ArcherC20i.dts
index a4cd3bc..b4b5fee 100644
--- a/target/linux/ramips/dts/ArcherC20i.dts
+++ b/target/linux/ramips/dts/ArcherC20i.dts
@@ -39,7 +39,7 @@ 
 		};
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 
 		rfkill {
diff --git a/target/linux/ramips/dts/ArcherC20v1.dts b/target/linux/ramips/dts/ArcherC20v1.dts
index 31a5b83..8a0157e 100644
--- a/target/linux/ramips/dts/ArcherC20v1.dts
+++ b/target/linux/ramips/dts/ArcherC20v1.dts
@@ -67,7 +67,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/ArcherC20v4.dts b/target/linux/ramips/dts/ArcherC20v4.dts
index f0ae2be..1e3b00e 100644
--- a/target/linux/ramips/dts/ArcherC20v4.dts
+++ b/target/linux/ramips/dts/ArcherC20v4.dts
@@ -55,7 +55,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/ArcherC50.dts b/target/linux/ramips/dts/ArcherC50.dts
index 1d8bb23..669294d 100644
--- a/target/linux/ramips/dts/ArcherC50.dts
+++ b/target/linux/ramips/dts/ArcherC50.dts
@@ -67,7 +67,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/ArcherC50V3.dts b/target/linux/ramips/dts/ArcherC50V3.dts
index 423ac88..36d87e0 100644
--- a/target/linux/ramips/dts/ArcherC50V3.dts
+++ b/target/linux/ramips/dts/ArcherC50V3.dts
@@ -16,7 +16,7 @@ 
 		led-upgrade = &led_power;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/ArcherMR200.dts b/target/linux/ramips/dts/ArcherMR200.dts
index 99f3be2..787644c 100644
--- a/target/linux/ramips/dts/ArcherMR200.dts
+++ b/target/linux/ramips/dts/ArcherMR200.dts
@@ -74,7 +74,7 @@ 
 		};
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys";
 
 		reset {
diff --git a/target/linux/ramips/dts/BC2.dts b/target/linux/ramips/dts/BC2.dts
index 5b9cec3..8035d7c 100644
--- a/target/linux/ramips/dts/BC2.dts
+++ b/target/linux/ramips/dts/BC2.dts
@@ -57,7 +57,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/BDCOM-WAP2100-SK.dts b/target/linux/ramips/dts/BDCOM-WAP2100-SK.dts
index 745037d..2a3d190 100644
--- a/target/linux/ramips/dts/BDCOM-WAP2100-SK.dts
+++ b/target/linux/ramips/dts/BDCOM-WAP2100-SK.dts
@@ -40,7 +40,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/BOCCO.dts b/target/linux/ramips/dts/BOCCO.dts
index e4c0561..6b6ac75 100644
--- a/target/linux/ramips/dts/BOCCO.dts
+++ b/target/linux/ramips/dts/BOCCO.dts
@@ -9,7 +9,7 @@ 
 	compatible = "planex,cs-qr10", "ralink,mt7620a-soc";
 	model = "YUKAI Engineering BOCCO";
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/BR-6475ND.dts b/target/linux/ramips/dts/BR-6475ND.dts
index ebb1475..54315df 100644
--- a/target/linux/ramips/dts/BR-6475ND.dts
+++ b/target/linux/ramips/dts/BR-6475ND.dts
@@ -16,7 +16,7 @@ 
 		led-upgrade = &led_power;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <100>;
 
diff --git a/target/linux/ramips/dts/BR-6478AC-V2.dts b/target/linux/ramips/dts/BR-6478AC-V2.dts
index d4304df..8ce2ede 100644
--- a/target/linux/ramips/dts/BR-6478AC-V2.dts
+++ b/target/linux/ramips/dts/BR-6478AC-V2.dts
@@ -33,7 +33,7 @@ 
 		bootargs = "console=ttyS0,57600";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/BROADWAY.dts b/target/linux/ramips/dts/BROADWAY.dts
index 3d4d6ef..7f45ff0 100644
--- a/target/linux/ramips/dts/BROADWAY.dts
+++ b/target/linux/ramips/dts/BROADWAY.dts
@@ -62,7 +62,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/C108.dts b/target/linux/ramips/dts/C108.dts
index d79e54a..988137a 100644
--- a/target/linux/ramips/dts/C108.dts
+++ b/target/linux/ramips/dts/C108.dts
@@ -93,7 +93,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/CF-WR800N.dts b/target/linux/ramips/dts/CF-WR800N.dts
index 0161075..751644f 100644
--- a/target/linux/ramips/dts/CF-WR800N.dts
+++ b/target/linux/ramips/dts/CF-WR800N.dts
@@ -39,7 +39,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/CS-QR10.dts b/target/linux/ramips/dts/CS-QR10.dts
index f58e70f..4b6819b 100644
--- a/target/linux/ramips/dts/CS-QR10.dts
+++ b/target/linux/ramips/dts/CS-QR10.dts
@@ -25,7 +25,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/CY-SWR1100.dts b/target/linux/ramips/dts/CY-SWR1100.dts
index f1c04bf..905529e 100644
--- a/target/linux/ramips/dts/CY-SWR1100.dts
+++ b/target/linux/ramips/dts/CY-SWR1100.dts
@@ -68,7 +68,7 @@ 
 		realtek,extif0 = <1 0 1 1 1 1 1 1 2>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <100>;
 
diff --git a/target/linux/ramips/dts/D105.dts b/target/linux/ramips/dts/D105.dts
index 5ba479c..b4f7aeb 100644
--- a/target/linux/ramips/dts/D105.dts
+++ b/target/linux/ramips/dts/D105.dts
@@ -69,7 +69,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/D240.dts b/target/linux/ramips/dts/D240.dts
index ade2dd1..8bc6fc2 100644
--- a/target/linux/ramips/dts/D240.dts
+++ b/target/linux/ramips/dts/D240.dts
@@ -91,7 +91,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/DAP-1350.dts b/target/linux/ramips/dts/DAP-1350.dts
index c84d5b9..3dc56f8 100644
--- a/target/linux/ramips/dts/DAP-1350.dts
+++ b/target/linux/ramips/dts/DAP-1350.dts
@@ -82,7 +82,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/DAP-1522-A1.dts b/target/linux/ramips/dts/DAP-1522-A1.dts
index bdd63ea..bf0ed64 100644
--- a/target/linux/ramips/dts/DAP-1522-A1.dts
+++ b/target/linux/ramips/dts/DAP-1522-A1.dts
@@ -52,7 +52,7 @@ 
 		gpio-sck = <&gpio0 2 GPIO_ACTIVE_HIGH>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <100>;
 
diff --git a/target/linux/ramips/dts/DB-WRT01.dts b/target/linux/ramips/dts/DB-WRT01.dts
index 27dce66..93b7f0a 100644
--- a/target/linux/ramips/dts/DB-WRT01.dts
+++ b/target/linux/ramips/dts/DB-WRT01.dts
@@ -25,7 +25,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/DCH-M225.dts b/target/linux/ramips/dts/DCH-M225.dts
index e8f71ae..06b275e 100644
--- a/target/linux/ramips/dts/DCH-M225.dts
+++ b/target/linux/ramips/dts/DCH-M225.dts
@@ -16,7 +16,7 @@ 
 		led-upgrade = &led_power;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <100>;
 
diff --git a/target/linux/ramips/dts/DCS-930.dts b/target/linux/ramips/dts/DCS-930.dts
index 4f49fc3..4002f9a 100644
--- a/target/linux/ramips/dts/DCS-930.dts
+++ b/target/linux/ramips/dts/DCS-930.dts
@@ -72,7 +72,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/DCS-930L-B1.dts b/target/linux/ramips/dts/DCS-930L-B1.dts
index 6ac80e4..014861c 100644
--- a/target/linux/ramips/dts/DCS-930L-B1.dts
+++ b/target/linux/ramips/dts/DCS-930L-B1.dts
@@ -30,7 +30,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/DIR-300-B1.dts b/target/linux/ramips/dts/DIR-300-B1.dts
index 1f0ed7d..6899a33 100644
--- a/target/linux/ramips/dts/DIR-300-B1.dts
+++ b/target/linux/ramips/dts/DIR-300-B1.dts
@@ -53,7 +53,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/DIR-300-B7.dts b/target/linux/ramips/dts/DIR-300-B7.dts
index 3fa57ac..194c6b5 100644
--- a/target/linux/ramips/dts/DIR-300-B7.dts
+++ b/target/linux/ramips/dts/DIR-300-B7.dts
@@ -30,7 +30,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/DIR-320-B1.dts b/target/linux/ramips/dts/DIR-320-B1.dts
index 68f0108..707ebe9 100644
--- a/target/linux/ramips/dts/DIR-320-B1.dts
+++ b/target/linux/ramips/dts/DIR-320-B1.dts
@@ -35,7 +35,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/DIR-600-B1.dts b/target/linux/ramips/dts/DIR-600-B1.dts
index 246ee81..689ebe9 100644
--- a/target/linux/ramips/dts/DIR-600-B1.dts
+++ b/target/linux/ramips/dts/DIR-600-B1.dts
@@ -53,7 +53,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/DIR-610-A1.dts b/target/linux/ramips/dts/DIR-610-A1.dts
index ea58d41..2ee8cee 100644
--- a/target/linux/ramips/dts/DIR-610-A1.dts
+++ b/target/linux/ramips/dts/DIR-610-A1.dts
@@ -30,7 +30,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/DIR-615-D.dts b/target/linux/ramips/dts/DIR-615-D.dts
index fbced8d..7720f13 100644
--- a/target/linux/ramips/dts/DIR-615-D.dts
+++ b/target/linux/ramips/dts/DIR-615-D.dts
@@ -53,7 +53,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/DIR-615-H1.dts b/target/linux/ramips/dts/DIR-615-H1.dts
index c81978b..6fdb44f 100644
--- a/target/linux/ramips/dts/DIR-615-H1.dts
+++ b/target/linux/ramips/dts/DIR-615-H1.dts
@@ -46,7 +46,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/DIR-620-A1.dts b/target/linux/ramips/dts/DIR-620-A1.dts
index 94f1bd6..ab4eed1 100644
--- a/target/linux/ramips/dts/DIR-620-A1.dts
+++ b/target/linux/ramips/dts/DIR-620-A1.dts
@@ -53,7 +53,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/DIR-620-D1.dts b/target/linux/ramips/dts/DIR-620-D1.dts
index ea14b54..94465c4 100644
--- a/target/linux/ramips/dts/DIR-620-D1.dts
+++ b/target/linux/ramips/dts/DIR-620-D1.dts
@@ -30,7 +30,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/DIR-645.dts b/target/linux/ramips/dts/DIR-645.dts
index ce4ed42..eca18c5 100644
--- a/target/linux/ramips/dts/DIR-645.dts
+++ b/target/linux/ramips/dts/DIR-645.dts
@@ -23,7 +23,7 @@ 
 		realtek,extif1 = <1 0 1 1 1 1 1 1 2>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <100>;
 
diff --git a/target/linux/ramips/dts/DIR-810L.dts b/target/linux/ramips/dts/DIR-810L.dts
index feecf78..7187693 100644
--- a/target/linux/ramips/dts/DIR-810L.dts
+++ b/target/linux/ramips/dts/DIR-810L.dts
@@ -16,7 +16,7 @@ 
 		led-upgrade = &led_power_green;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/DIR-860L-B1.dts b/target/linux/ramips/dts/DIR-860L-B1.dts
index a37d68f..5c63374 100644
--- a/target/linux/ramips/dts/DIR-860L-B1.dts
+++ b/target/linux/ramips/dts/DIR-860L-B1.dts
@@ -49,7 +49,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/DUZUN-DM06.dts b/target/linux/ramips/dts/DUZUN-DM06.dts
index ff9d639..75f4067 100644
--- a/target/linux/ramips/dts/DUZUN-DM06.dts
+++ b/target/linux/ramips/dts/DUZUN-DM06.dts
@@ -14,7 +14,7 @@ 
 		reg = <0x0 0x4000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <100>;
 
diff --git a/target/linux/ramips/dts/DWR-116-A1.dts b/target/linux/ramips/dts/DWR-116-A1.dts
index 793f9a1..ae30fe7 100644
--- a/target/linux/ramips/dts/DWR-116-A1.dts
+++ b/target/linux/ramips/dts/DWR-116-A1.dts
@@ -16,7 +16,7 @@ 
 		led-upgrade = &led_status;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/DWR-118-A1.dts b/target/linux/ramips/dts/DWR-118-A1.dts
index ab88553..6a77d93 100644
--- a/target/linux/ramips/dts/DWR-118-A1.dts
+++ b/target/linux/ramips/dts/DWR-118-A1.dts
@@ -16,7 +16,7 @@ 
 		led-upgrade = &led_internet;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/DWR-118-A2.dts b/target/linux/ramips/dts/DWR-118-A2.dts
index 25c3c12..81ee5e0 100644
--- a/target/linux/ramips/dts/DWR-118-A2.dts
+++ b/target/linux/ramips/dts/DWR-118-A2.dts
@@ -14,7 +14,7 @@ 
 		led-failsafe = &led_internet;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/DWR-512-B.dts b/target/linux/ramips/dts/DWR-512-B.dts
index d865ced..7ffc735 100644
--- a/target/linux/ramips/dts/DWR-512-B.dts
+++ b/target/linux/ramips/dts/DWR-512-B.dts
@@ -16,7 +16,7 @@ 
 		led-upgrade = &led_status;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/DWR-921-C1.dts b/target/linux/ramips/dts/DWR-921-C1.dts
index 42687d4..330754b 100644
--- a/target/linux/ramips/dts/DWR-921-C1.dts
+++ b/target/linux/ramips/dts/DWR-921-C1.dts
@@ -14,7 +14,7 @@ 
 		led-failsafe = &led_sstrenghg;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/E1700.dts b/target/linux/ramips/dts/E1700.dts
index 4560e39..04aabaf 100644
--- a/target/linux/ramips/dts/E1700.dts
+++ b/target/linux/ramips/dts/E1700.dts
@@ -26,7 +26,7 @@ 
 		led-upgrade = &led_power;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/ESR-9753.dts b/target/linux/ramips/dts/ESR-9753.dts
index 0680d0d..d5895de 100644
--- a/target/linux/ramips/dts/ESR-9753.dts
+++ b/target/linux/ramips/dts/ESR-9753.dts
@@ -67,7 +67,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/EW1200.dts b/target/linux/ramips/dts/EW1200.dts
index 6fe6a12..8e2b51a 100644
--- a/target/linux/ramips/dts/EW1200.dts
+++ b/target/linux/ramips/dts/EW1200.dts
@@ -31,7 +31,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/EX2700.dts b/target/linux/ramips/dts/EX2700.dts
index 66a46d7..71b4a89 100644
--- a/target/linux/ramips/dts/EX2700.dts
+++ b/target/linux/ramips/dts/EX2700.dts
@@ -70,7 +70,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/EX3700.dts b/target/linux/ramips/dts/EX3700.dts
index 0232ab4..595816b 100644
--- a/target/linux/ramips/dts/EX3700.dts
+++ b/target/linux/ramips/dts/EX3700.dts
@@ -62,7 +62,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/F5D8235_V1.dts b/target/linux/ramips/dts/F5D8235_V1.dts
index 29e8f7d..591b1f7 100644
--- a/target/linux/ramips/dts/F5D8235_V1.dts
+++ b/target/linux/ramips/dts/F5D8235_V1.dts
@@ -100,7 +100,7 @@ 
 		realtek,green-ethernet-features;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <100>;
 
diff --git a/target/linux/ramips/dts/F7C027.dts b/target/linux/ramips/dts/F7C027.dts
index aab35ce..9217092 100644
--- a/target/linux/ramips/dts/F7C027.dts
+++ b/target/linux/ramips/dts/F7C027.dts
@@ -40,7 +40,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/FIREWRT.dts b/target/linux/ramips/dts/FIREWRT.dts
index 82b511c..99c95e2 100644
--- a/target/linux/ramips/dts/FIREWRT.dts
+++ b/target/linux/ramips/dts/FIREWRT.dts
@@ -34,7 +34,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/FONERA20N.dts b/target/linux/ramips/dts/FONERA20N.dts
index 2c8629b..9b272fb 100644
--- a/target/linux/ramips/dts/FONERA20N.dts
+++ b/target/linux/ramips/dts/FONERA20N.dts
@@ -74,7 +74,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/GB-PC1.dts b/target/linux/ramips/dts/GB-PC1.dts
index 007879a..9a695d4 100644
--- a/target/linux/ramips/dts/GB-PC1.dts
+++ b/target/linux/ramips/dts/GB-PC1.dts
@@ -25,7 +25,7 @@ 
 		bootargs = "console=ttyS0,57600";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/GB-PC2.dts b/target/linux/ramips/dts/GB-PC2.dts
index b07613b..fba90a5 100644
--- a/target/linux/ramips/dts/GB-PC2.dts
+++ b/target/linux/ramips/dts/GB-PC2.dts
@@ -25,7 +25,7 @@ 
 		bootargs = "console=ttyS0,57600";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/GL-MT300A.dts b/target/linux/ramips/dts/GL-MT300A.dts
index ad23ece..a6983fe 100644
--- a/target/linux/ramips/dts/GL-MT300A.dts
+++ b/target/linux/ramips/dts/GL-MT300A.dts
@@ -37,7 +37,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 		reset {
diff --git a/target/linux/ramips/dts/GL-MT300N-V2.dts b/target/linux/ramips/dts/GL-MT300N-V2.dts
index 2366960..a495c3d 100644
--- a/target/linux/ramips/dts/GL-MT300N-V2.dts
+++ b/target/linux/ramips/dts/GL-MT300N-V2.dts
@@ -45,7 +45,7 @@ 
 		};
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/GL-MT300N.dts b/target/linux/ramips/dts/GL-MT300N.dts
index 9d9d627..e4323c2 100644
--- a/target/linux/ramips/dts/GL-MT300N.dts
+++ b/target/linux/ramips/dts/GL-MT300N.dts
@@ -32,7 +32,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 		reset {
diff --git a/target/linux/ramips/dts/GL-MT750.dts b/target/linux/ramips/dts/GL-MT750.dts
index 8e2a968..d0292f5 100644
--- a/target/linux/ramips/dts/GL-MT750.dts
+++ b/target/linux/ramips/dts/GL-MT750.dts
@@ -32,7 +32,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 		reset {
diff --git a/target/linux/ramips/dts/HC5661A.dts b/target/linux/ramips/dts/HC5661A.dts
index 6dfac50..221075d 100644
--- a/target/linux/ramips/dts/HC5661A.dts
+++ b/target/linux/ramips/dts/HC5661A.dts
@@ -42,7 +42,7 @@ 
 		};
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/HC5861B.dts b/target/linux/ramips/dts/HC5861B.dts
index ef2d706..d1e7516 100644
--- a/target/linux/ramips/dts/HC5861B.dts
+++ b/target/linux/ramips/dts/HC5861B.dts
@@ -38,7 +38,7 @@ 
 		};
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/HC5962.dts b/target/linux/ramips/dts/HC5962.dts
index 2985020..d03dad8 100644
--- a/target/linux/ramips/dts/HC5962.dts
+++ b/target/linux/ramips/dts/HC5962.dts
@@ -39,7 +39,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/HC5X61.dtsi b/target/linux/ramips/dts/HC5X61.dtsi
index 8da05ad..09b303f 100644
--- a/target/linux/ramips/dts/HC5X61.dtsi
+++ b/target/linux/ramips/dts/HC5X61.dtsi
@@ -10,7 +10,7 @@ 
 		bootargs = "console=ttyS0,115200";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/HG255D.dts b/target/linux/ramips/dts/HG255D.dts
index 961fd8f..db6dea2 100644
--- a/target/linux/ramips/dts/HG255D.dts
+++ b/target/linux/ramips/dts/HG255D.dts
@@ -95,7 +95,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <10>;
 
diff --git a/target/linux/ramips/dts/HLKRM04.dts b/target/linux/ramips/dts/HLKRM04.dts
index efbd517..7b2791f 100644
--- a/target/linux/ramips/dts/HLKRM04.dts
+++ b/target/linux/ramips/dts/HLKRM04.dts
@@ -37,7 +37,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 		reset {
diff --git a/target/linux/ramips/dts/HPM.dts b/target/linux/ramips/dts/HPM.dts
index d27eff8..ff606a9 100644
--- a/target/linux/ramips/dts/HPM.dts
+++ b/target/linux/ramips/dts/HPM.dts
@@ -20,7 +20,7 @@ 
 		bootargs = "console=ttyS0,115200";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <100>;
 
diff --git a/target/linux/ramips/dts/HT-TM02.dts b/target/linux/ramips/dts/HT-TM02.dts
index d6954fe..0c9134c 100644
--- a/target/linux/ramips/dts/HT-TM02.dts
+++ b/target/linux/ramips/dts/HT-TM02.dts
@@ -30,7 +30,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/HW550-3G.dts b/target/linux/ramips/dts/HW550-3G.dts
index fa5c4d7..8b5ed02 100644
--- a/target/linux/ramips/dts/HW550-3G.dts
+++ b/target/linux/ramips/dts/HW550-3G.dts
@@ -79,7 +79,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/IP2202.dts b/target/linux/ramips/dts/IP2202.dts
index c9c04dc..b595d28 100644
--- a/target/linux/ramips/dts/IP2202.dts
+++ b/target/linux/ramips/dts/IP2202.dts
@@ -67,7 +67,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/JHR-N805R.dts b/target/linux/ramips/dts/JHR-N805R.dts
index f633bb2..94ded96 100644
--- a/target/linux/ramips/dts/JHR-N805R.dts
+++ b/target/linux/ramips/dts/JHR-N805R.dts
@@ -25,7 +25,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/JHR-N825R.dts b/target/linux/ramips/dts/JHR-N825R.dts
index 12c5c90..5f42103 100644
--- a/target/linux/ramips/dts/JHR-N825R.dts
+++ b/target/linux/ramips/dts/JHR-N825R.dts
@@ -61,7 +61,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 		reset_wps {
diff --git a/target/linux/ramips/dts/JHR-N926R.dts b/target/linux/ramips/dts/JHR-N926R.dts
index 5990c06..715df95 100644
--- a/target/linux/ramips/dts/JHR-N926R.dts
+++ b/target/linux/ramips/dts/JHR-N926R.dts
@@ -100,7 +100,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/K2G.dts b/target/linux/ramips/dts/K2G.dts
index 9671494..2dcd5a4 100644
--- a/target/linux/ramips/dts/K2G.dts
+++ b/target/linux/ramips/dts/K2G.dts
@@ -36,7 +36,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/K2P.dts b/target/linux/ramips/dts/K2P.dts
index 56d207c..4e669dc 100644
--- a/target/linux/ramips/dts/K2P.dts
+++ b/target/linux/ramips/dts/K2P.dts
@@ -44,7 +44,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/LINKIT7688.dts b/target/linux/ramips/dts/LINKIT7688.dts
index 23a59ae..518b0f3 100644
--- a/target/linux/ramips/dts/LINKIT7688.dts
+++ b/target/linux/ramips/dts/LINKIT7688.dts
@@ -44,7 +44,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/LR-25G001.dts b/target/linux/ramips/dts/LR-25G001.dts
index 2584457..24be4db 100644
--- a/target/linux/ramips/dts/LR-25G001.dts
+++ b/target/linux/ramips/dts/LR-25G001.dts
@@ -16,7 +16,7 @@ 
 		led-upgrade = &led_status;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/M2M.dts b/target/linux/ramips/dts/M2M.dts
index 6c251af..6a18e52 100644
--- a/target/linux/ramips/dts/M2M.dts
+++ b/target/linux/ramips/dts/M2M.dts
@@ -34,7 +34,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/M3.dts b/target/linux/ramips/dts/M3.dts
index bfc1f90..281ccb8 100644
--- a/target/linux/ramips/dts/M3.dts
+++ b/target/linux/ramips/dts/M3.dts
@@ -25,7 +25,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/M4.dtsi b/target/linux/ramips/dts/M4.dtsi
index 8a9548e..9ed9520 100644
--- a/target/linux/ramips/dts/M4.dtsi
+++ b/target/linux/ramips/dts/M4.dtsi
@@ -22,7 +22,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/MINIEMBPLUG.dts b/target/linux/ramips/dts/MINIEMBPLUG.dts
index ccdea80..c22e66f 100644
--- a/target/linux/ramips/dts/MINIEMBPLUG.dts
+++ b/target/linux/ramips/dts/MINIEMBPLUG.dts
@@ -25,7 +25,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/MINIEMBWIFI.dts b/target/linux/ramips/dts/MINIEMBWIFI.dts
index 641b900..b583bbe 100644
--- a/target/linux/ramips/dts/MINIEMBWIFI.dts
+++ b/target/linux/ramips/dts/MINIEMBWIFI.dts
@@ -30,7 +30,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/MIR3G.dts b/target/linux/ramips/dts/MIR3G.dts
index 40bcf88..3788c44 100644
--- a/target/linux/ramips/dts/MIR3G.dts
+++ b/target/linux/ramips/dts/MIR3G.dts
@@ -59,7 +59,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/MIWIFI-MINI.dts b/target/linux/ramips/dts/MIWIFI-MINI.dts
index e9f9c96..d6abfb3 100644
--- a/target/linux/ramips/dts/MIWIFI-MINI.dts
+++ b/target/linux/ramips/dts/MIWIFI-MINI.dts
@@ -40,7 +40,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/MIWIFI-NANO.dts b/target/linux/ramips/dts/MIWIFI-NANO.dts
index 6aa300a..2baf5ba 100644
--- a/target/linux/ramips/dts/MIWIFI-NANO.dts
+++ b/target/linux/ramips/dts/MIWIFI-NANO.dts
@@ -42,7 +42,7 @@ 
 		};
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/MLW221.dts b/target/linux/ramips/dts/MLW221.dts
index e7b57f5..4d62453 100644
--- a/target/linux/ramips/dts/MLW221.dts
+++ b/target/linux/ramips/dts/MLW221.dts
@@ -30,7 +30,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/MLWG2.dts b/target/linux/ramips/dts/MLWG2.dts
index 83c1a89..004333c 100644
--- a/target/linux/ramips/dts/MLWG2.dts
+++ b/target/linux/ramips/dts/MLWG2.dts
@@ -30,7 +30,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/MOFI3500-3GN.dts b/target/linux/ramips/dts/MOFI3500-3GN.dts
index 24c9eb7..9f53267 100644
--- a/target/linux/ramips/dts/MOFI3500-3GN.dts
+++ b/target/linux/ramips/dts/MOFI3500-3GN.dts
@@ -79,7 +79,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/MPRA1.dts b/target/linux/ramips/dts/MPRA1.dts
index cb6b49e..484471a 100644
--- a/target/linux/ramips/dts/MPRA1.dts
+++ b/target/linux/ramips/dts/MPRA1.dts
@@ -30,7 +30,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/MPRA2.dts b/target/linux/ramips/dts/MPRA2.dts
index 22c0456..35e06f8 100644
--- a/target/linux/ramips/dts/MPRA2.dts
+++ b/target/linux/ramips/dts/MPRA2.dts
@@ -30,7 +30,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/MR-102N.dts b/target/linux/ramips/dts/MR-102N.dts
index c431ff1..2963842 100644
--- a/target/linux/ramips/dts/MR-102N.dts
+++ b/target/linux/ramips/dts/MR-102N.dts
@@ -84,7 +84,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/MT7620a.dts b/target/linux/ramips/dts/MT7620a.dts
index be96fa9..9166fdc 100644
--- a/target/linux/ramips/dts/MT7620a.dts
+++ b/target/linux/ramips/dts/MT7620a.dts
@@ -9,7 +9,7 @@ 
 	compatible = "ralink,mt7620a-eval-board", "ralink,mt7620a-soc";
 	model = "Ralink MT7620a + MT7610e evaluation board";
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/MT7620a_MT7610e.dts b/target/linux/ramips/dts/MT7620a_MT7610e.dts
index 972b48a..f90ba85 100644
--- a/target/linux/ramips/dts/MT7620a_MT7610e.dts
+++ b/target/linux/ramips/dts/MT7620a_MT7610e.dts
@@ -9,7 +9,7 @@ 
 	compatible = "ralink,mt7620a-eval-board", "ralink,mt7620a-soc";
 	model = "Ralink MT7620A evaluation board";
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/MT7620a_V22SG.dts b/target/linux/ramips/dts/MT7620a_V22SG.dts
index 4a88445..d2863ee 100644
--- a/target/linux/ramips/dts/MT7620a_V22SG.dts
+++ b/target/linux/ramips/dts/MT7620a_V22SG.dts
@@ -9,7 +9,7 @@ 
 	compatible = "ralink,mt7620a-eval-board", "ralink,mt7620a-soc";
 	model = "Ralink MT7620a V22SG High Power evaluation board";
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/MZK-750DHP.dts b/target/linux/ramips/dts/MZK-750DHP.dts
index f4376d7..ef6c062 100644
--- a/target/linux/ramips/dts/MZK-750DHP.dts
+++ b/target/linux/ramips/dts/MZK-750DHP.dts
@@ -35,7 +35,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/MZK-DP150N.dts b/target/linux/ramips/dts/MZK-DP150N.dts
index ea3fc8a..6c5cd70 100644
--- a/target/linux/ramips/dts/MZK-DP150N.dts
+++ b/target/linux/ramips/dts/MZK-DP150N.dts
@@ -25,7 +25,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/MZK-EX300NP.dts b/target/linux/ramips/dts/MZK-EX300NP.dts
index 49046fd..87c23d7 100644
--- a/target/linux/ramips/dts/MZK-EX300NP.dts
+++ b/target/linux/ramips/dts/MZK-EX300NP.dts
@@ -50,7 +50,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/MZK-EX750NP.dts b/target/linux/ramips/dts/MZK-EX750NP.dts
index 08e3472..c5258f3 100644
--- a/target/linux/ramips/dts/MZK-EX750NP.dts
+++ b/target/linux/ramips/dts/MZK-EX750NP.dts
@@ -55,7 +55,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/MZK-W300NH2.dts b/target/linux/ramips/dts/MZK-W300NH2.dts
index a001598..0493699 100644
--- a/target/linux/ramips/dts/MZK-W300NH2.dts
+++ b/target/linux/ramips/dts/MZK-W300NH2.dts
@@ -78,7 +78,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/MicroWRT.dts b/target/linux/ramips/dts/MicroWRT.dts
index 051ff8a..a010a9c 100644
--- a/target/linux/ramips/dts/MicroWRT.dts
+++ b/target/linux/ramips/dts/MicroWRT.dts
@@ -13,7 +13,7 @@ 
 		bootargs = "console=ttyS0,115200";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/NA930.dts b/target/linux/ramips/dts/NA930.dts
index 43fea56..b9b803a 100644
--- a/target/linux/ramips/dts/NA930.dts
+++ b/target/linux/ramips/dts/NA930.dts
@@ -54,7 +54,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/NBG-419N.dts b/target/linux/ramips/dts/NBG-419N.dts
index 2f9c48c..27ac6aa 100644
--- a/target/linux/ramips/dts/NBG-419N.dts
+++ b/target/linux/ramips/dts/NBG-419N.dts
@@ -67,7 +67,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/NBG-419N2.dts b/target/linux/ramips/dts/NBG-419N2.dts
index 58361fa..e092d5b 100644
--- a/target/linux/ramips/dts/NBG-419N2.dts
+++ b/target/linux/ramips/dts/NBG-419N2.dts
@@ -78,7 +78,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 		reset {
diff --git a/target/linux/ramips/dts/NW718.dts b/target/linux/ramips/dts/NW718.dts
index 6db2e23..f495a65 100644
--- a/target/linux/ramips/dts/NW718.dts
+++ b/target/linux/ramips/dts/NW718.dts
@@ -37,7 +37,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/Newifi-D1.dts b/target/linux/ramips/dts/Newifi-D1.dts
index 37383fd..85dc98d 100644
--- a/target/linux/ramips/dts/Newifi-D1.dts
+++ b/target/linux/ramips/dts/Newifi-D1.dts
@@ -45,7 +45,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/Newifi-D2.dts b/target/linux/ramips/dts/Newifi-D2.dts
index 4477012..d1c5146 100644
--- a/target/linux/ramips/dts/Newifi-D2.dts
+++ b/target/linux/ramips/dts/Newifi-D2.dts
@@ -66,7 +66,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/OMEGA2.dtsi b/target/linux/ramips/dts/OMEGA2.dtsi
index adde7fc..32dc1a6 100644
--- a/target/linux/ramips/dts/OMEGA2.dtsi
+++ b/target/linux/ramips/dts/OMEGA2.dtsi
@@ -25,7 +25,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/OY-0001.dts b/target/linux/ramips/dts/OY-0001.dts
index cc656d4..207e9e4 100644
--- a/target/linux/ramips/dts/OY-0001.dts
+++ b/target/linux/ramips/dts/OY-0001.dts
@@ -34,7 +34,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/PBR-D1.dts b/target/linux/ramips/dts/PBR-D1.dts
index 5fe72bb..2812adf 100644
--- a/target/linux/ramips/dts/PBR-D1.dts
+++ b/target/linux/ramips/dts/PBR-D1.dts
@@ -46,7 +46,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/PBR-M1.dts b/target/linux/ramips/dts/PBR-M1.dts
index 8a915f3..585fea9 100644
--- a/target/linux/ramips/dts/PBR-M1.dts
+++ b/target/linux/ramips/dts/PBR-M1.dts
@@ -67,7 +67,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/PSG1208.dts b/target/linux/ramips/dts/PSG1208.dts
index de8d11a..6436a15 100644
--- a/target/linux/ramips/dts/PSG1208.dts
+++ b/target/linux/ramips/dts/PSG1208.dts
@@ -30,7 +30,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/PSG1218.dtsi b/target/linux/ramips/dts/PSG1218.dtsi
index 23f1dd7..33eabb6 100644
--- a/target/linux/ramips/dts/PSG1218.dtsi
+++ b/target/linux/ramips/dts/PSG1218.dtsi
@@ -6,7 +6,7 @@ 
 / {
 	compatible = "phicomm,psg1218", "ralink,mt7620a-soc";
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/PSR-680W.dts b/target/linux/ramips/dts/PSR-680W.dts
index cdda066..c0eeed7 100644
--- a/target/linux/ramips/dts/PSR-680W.dts
+++ b/target/linux/ramips/dts/PSR-680W.dts
@@ -66,7 +66,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/PWH2004.dts b/target/linux/ramips/dts/PWH2004.dts
index 885589a..34f7182 100644
--- a/target/linux/ramips/dts/PWH2004.dts
+++ b/target/linux/ramips/dts/PWH2004.dts
@@ -67,7 +67,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/PX-4885.dtsi b/target/linux/ramips/dts/PX-4885.dtsi
index cbfd2d0..af09a61 100644
--- a/target/linux/ramips/dts/PX-4885.dtsi
+++ b/target/linux/ramips/dts/PX-4885.dtsi
@@ -13,7 +13,7 @@ 
 		led-upgrade = &led_wifi;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/R6120.dts b/target/linux/ramips/dts/R6120.dts
index 052933b..092c3e1 100644
--- a/target/linux/ramips/dts/R6120.dts
+++ b/target/linux/ramips/dts/R6120.dts
@@ -21,7 +21,7 @@ 
 		reg = <0x0 0x4000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/R6220.dts b/target/linux/ramips/dts/R6220.dts
index f9b27da..dd029d7 100644
--- a/target/linux/ramips/dts/R6220.dts
+++ b/target/linux/ramips/dts/R6220.dts
@@ -56,7 +56,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/R6350.dts b/target/linux/ramips/dts/R6350.dts
index b3f5281..92ab552 100644
--- a/target/linux/ramips/dts/R6350.dts
+++ b/target/linux/ramips/dts/R6350.dts
@@ -52,7 +52,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/RB750Gr3.dts b/target/linux/ramips/dts/RB750Gr3.dts
index 6b18cce..4fe4475 100644
--- a/target/linux/ramips/dts/RB750Gr3.dts
+++ b/target/linux/ramips/dts/RB750Gr3.dts
@@ -39,7 +39,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/RBM11G.dts b/target/linux/ramips/dts/RBM11G.dts
index 4c01316..f7832bb 100644
--- a/target/linux/ramips/dts/RBM11G.dts
+++ b/target/linux/ramips/dts/RBM11G.dts
@@ -59,7 +59,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 		res {
diff --git a/target/linux/ramips/dts/RBM33G.dts b/target/linux/ramips/dts/RBM33G.dts
index 08c5ab1..dac0019 100644
--- a/target/linux/ramips/dts/RBM33G.dts
+++ b/target/linux/ramips/dts/RBM33G.dts
@@ -34,7 +34,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/RE350.dts b/target/linux/ramips/dts/RE350.dts
index 38218b6..2b5c8f9 100644
--- a/target/linux/ramips/dts/RE350.dts
+++ b/target/linux/ramips/dts/RE350.dts
@@ -64,7 +64,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/RE6500.dts b/target/linux/ramips/dts/RE6500.dts
index 830dfe2..9bac57e 100644
--- a/target/linux/ramips/dts/RE6500.dts
+++ b/target/linux/ramips/dts/RE6500.dts
@@ -39,7 +39,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/RP-N53.dts b/target/linux/ramips/dts/RP-N53.dts
index d73e7d1..3798740 100644
--- a/target/linux/ramips/dts/RP-N53.dts
+++ b/target/linux/ramips/dts/RP-N53.dts
@@ -9,7 +9,7 @@ 
 	compatible = "asus,rp-n53", "ralink,mt7620a-soc";
 	model = "Asus RP-N53";
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/RT-AC51U.dts b/target/linux/ramips/dts/RT-AC51U.dts
index b54e5b8..1fdbc94 100644
--- a/target/linux/ramips/dts/RT-AC51U.dts
+++ b/target/linux/ramips/dts/RT-AC51U.dts
@@ -37,7 +37,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/RT-G32-B1.dts b/target/linux/ramips/dts/RT-G32-B1.dts
index 581941c..8f0544e 100644
--- a/target/linux/ramips/dts/RT-G32-B1.dts
+++ b/target/linux/ramips/dts/RT-G32-B1.dts
@@ -9,7 +9,7 @@ 
 	compatible = "asus,rt-g32-b1", "ralink,rt3050-soc";
 	model = "Asus RT-G32 B1";
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/RT-N10-PLUS.dts b/target/linux/ramips/dts/RT-N10-PLUS.dts
index eaf32ec..c4b154b 100644
--- a/target/linux/ramips/dts/RT-N10-PLUS.dts
+++ b/target/linux/ramips/dts/RT-N10-PLUS.dts
@@ -62,7 +62,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/RT-N12-PLUS.dts b/target/linux/ramips/dts/RT-N12-PLUS.dts
index 401e403..6b72927 100644
--- a/target/linux/ramips/dts/RT-N12-PLUS.dts
+++ b/target/linux/ramips/dts/RT-N12-PLUS.dts
@@ -44,7 +44,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/RT-N13U.dts b/target/linux/ramips/dts/RT-N13U.dts
index f4a8720..47b329d 100644
--- a/target/linux/ramips/dts/RT-N13U.dts
+++ b/target/linux/ramips/dts/RT-N13U.dts
@@ -67,7 +67,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <10>;
 
diff --git a/target/linux/ramips/dts/RT-N14U.dts b/target/linux/ramips/dts/RT-N14U.dts
index 10ae9c0..654c6e3 100644
--- a/target/linux/ramips/dts/RT-N14U.dts
+++ b/target/linux/ramips/dts/RT-N14U.dts
@@ -47,7 +47,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/RT-N15.dts b/target/linux/ramips/dts/RT-N15.dts
index 3cc929d..dd32ffd 100644
--- a/target/linux/ramips/dts/RT-N15.dts
+++ b/target/linux/ramips/dts/RT-N15.dts
@@ -61,7 +61,7 @@ 
 		gpio-sck = <&gpio0 2 GPIO_ACTIVE_HIGH>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <100>;
 
diff --git a/target/linux/ramips/dts/RT-N56U.dts b/target/linux/ramips/dts/RT-N56U.dts
index 39f6488..8a416a8 100644
--- a/target/linux/ramips/dts/RT-N56U.dts
+++ b/target/linux/ramips/dts/RT-N56U.dts
@@ -59,7 +59,7 @@ 
 		realtek,extif1 = <1 0 1 1 1 1 1 1 2>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <100>;
 
diff --git a/target/linux/ramips/dts/RUT5XX.dts b/target/linux/ramips/dts/RUT5XX.dts
index a7654c6..cbecc92 100644
--- a/target/linux/ramips/dts/RUT5XX.dts
+++ b/target/linux/ramips/dts/RUT5XX.dts
@@ -25,7 +25,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/SAP-G3200U3.dts b/target/linux/ramips/dts/SAP-G3200U3.dts
index 1b20789..1313abf 100644
--- a/target/linux/ramips/dts/SAP-G3200U3.dts
+++ b/target/linux/ramips/dts/SAP-G3200U3.dts
@@ -29,7 +29,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/SK-WB8.dts b/target/linux/ramips/dts/SK-WB8.dts
index 8f85c70..74bcf88 100644
--- a/target/linux/ramips/dts/SK-WB8.dts
+++ b/target/linux/ramips/dts/SK-WB8.dts
@@ -40,7 +40,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 		wps {
diff --git a/target/linux/ramips/dts/SKW92A.dts b/target/linux/ramips/dts/SKW92A.dts
index 5aaf3ce..45b028a 100644
--- a/target/linux/ramips/dts/SKW92A.dts
+++ b/target/linux/ramips/dts/SKW92A.dts
@@ -38,7 +38,7 @@ 
 		};
 	};
 
-	gpio-keys {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/SL-R7205.dts b/target/linux/ramips/dts/SL-R7205.dts
index 7c3d53a..116216e 100644
--- a/target/linux/ramips/dts/SL-R7205.dts
+++ b/target/linux/ramips/dts/SL-R7205.dts
@@ -62,7 +62,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/TEW-638APB-V2.dts b/target/linux/ramips/dts/TEW-638APB-V2.dts
index bacdb0b..90aa29c 100644
--- a/target/linux/ramips/dts/TEW-638APB-V2.dts
+++ b/target/linux/ramips/dts/TEW-638APB-V2.dts
@@ -53,7 +53,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/TEW-691GR.dts b/target/linux/ramips/dts/TEW-691GR.dts
index 8fee29b..713bbb4 100644
--- a/target/linux/ramips/dts/TEW-691GR.dts
+++ b/target/linux/ramips/dts/TEW-691GR.dts
@@ -52,7 +52,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <100>;
 
diff --git a/target/linux/ramips/dts/TEW-692GR.dts b/target/linux/ramips/dts/TEW-692GR.dts
index 37b841c..5396341 100644
--- a/target/linux/ramips/dts/TEW-692GR.dts
+++ b/target/linux/ramips/dts/TEW-692GR.dts
@@ -52,7 +52,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <100>;
 
diff --git a/target/linux/ramips/dts/TEW-714TRU.dts b/target/linux/ramips/dts/TEW-714TRU.dts
index 4969aee..fd6ae03 100644
--- a/target/linux/ramips/dts/TEW-714TRU.dts
+++ b/target/linux/ramips/dts/TEW-714TRU.dts
@@ -25,7 +25,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/TINY-AC.dts b/target/linux/ramips/dts/TINY-AC.dts
index d5a2321..f8bc964 100644
--- a/target/linux/ramips/dts/TINY-AC.dts
+++ b/target/linux/ramips/dts/TINY-AC.dts
@@ -29,7 +29,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/TL-MR3020V3.dts b/target/linux/ramips/dts/TL-MR3020V3.dts
index aa9bcaf..4a5e789 100644
--- a/target/linux/ramips/dts/TL-MR3020V3.dts
+++ b/target/linux/ramips/dts/TL-MR3020V3.dts
@@ -25,7 +25,7 @@ 
 		reg = <0x0 0x4000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/TL-MR3420V5.dts b/target/linux/ramips/dts/TL-MR3420V5.dts
index 80436b8..078fa3b 100644
--- a/target/linux/ramips/dts/TL-MR3420V5.dts
+++ b/target/linux/ramips/dts/TL-MR3420V5.dts
@@ -16,7 +16,7 @@ 
 		led-upgrade = &led_power;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/TL-WA801NDV5.dts b/target/linux/ramips/dts/TL-WA801NDV5.dts
index ad91776..d8ee2bb 100644
--- a/target/linux/ramips/dts/TL-WA801NDV5.dts
+++ b/target/linux/ramips/dts/TL-WA801NDV5.dts
@@ -16,7 +16,7 @@ 
 		led-upgrade = &led_power;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/TL-WR840NV4.dts b/target/linux/ramips/dts/TL-WR840NV4.dts
index df892a0..3800ae2 100644
--- a/target/linux/ramips/dts/TL-WR840NV4.dts
+++ b/target/linux/ramips/dts/TL-WR840NV4.dts
@@ -16,7 +16,7 @@ 
 		led-upgrade = &led_power;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/TL-WR840NV5.dts b/target/linux/ramips/dts/TL-WR840NV5.dts
index 2d9b7e5..ba73418 100644
--- a/target/linux/ramips/dts/TL-WR840NV5.dts
+++ b/target/linux/ramips/dts/TL-WR840NV5.dts
@@ -25,7 +25,7 @@ 
 		reg = <0x0 0x4000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/TL-WR841NV13.dts b/target/linux/ramips/dts/TL-WR841NV13.dts
index a9a01fe..a17e060 100644
--- a/target/linux/ramips/dts/TL-WR841NV13.dts
+++ b/target/linux/ramips/dts/TL-WR841NV13.dts
@@ -16,7 +16,7 @@ 
 		led-upgrade = &led_power;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/TL-WR842NV5.dts b/target/linux/ramips/dts/TL-WR842NV5.dts
index 9d1e399..2e4b6e6 100644
--- a/target/linux/ramips/dts/TL-WR842NV5.dts
+++ b/target/linux/ramips/dts/TL-WR842NV5.dts
@@ -16,7 +16,7 @@ 
 		led-upgrade = &led_power;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/TL-WR902ACV3.dts b/target/linux/ramips/dts/TL-WR902ACV3.dts
index b786041..1323a87 100644
--- a/target/linux/ramips/dts/TL-WR902ACV3.dts
+++ b/target/linux/ramips/dts/TL-WR902ACV3.dts
@@ -16,7 +16,7 @@ 
 		led-upgrade = &led_power;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/Timecloud.dts b/target/linux/ramips/dts/Timecloud.dts
index 188aef2..cfc187b 100644
--- a/target/linux/ramips/dts/Timecloud.dts
+++ b/target/linux/ramips/dts/Timecloud.dts
@@ -39,7 +39,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/U25AWF-H1.dts b/target/linux/ramips/dts/U25AWF-H1.dts
index d4caa8a..d15debe 100644
--- a/target/linux/ramips/dts/U25AWF-H1.dts
+++ b/target/linux/ramips/dts/U25AWF-H1.dts
@@ -16,7 +16,7 @@ 
 		led-upgrade = &led_wifi;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/U35WF.dts b/target/linux/ramips/dts/U35WF.dts
index 854c968..b179882 100644
--- a/target/linux/ramips/dts/U35WF.dts
+++ b/target/linux/ramips/dts/U35WF.dts
@@ -16,7 +16,7 @@ 
 		led-upgrade = &led_wifi;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/U7621-06.dtsi b/target/linux/ramips/dts/U7621-06.dtsi
index 2bfd4d7..d63f8d7 100644
--- a/target/linux/ramips/dts/U7621-06.dtsi
+++ b/target/linux/ramips/dts/U7621-06.dtsi
@@ -62,7 +62,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/U7628-01.dtsi b/target/linux/ramips/dts/U7628-01.dtsi
index 3ba6b8e..190be72 100644
--- a/target/linux/ramips/dts/U7628-01.dtsi
+++ b/target/linux/ramips/dts/U7628-01.dtsi
@@ -51,7 +51,7 @@ 
 		bootargs = "console=ttyS0,115200";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 		reset {
diff --git a/target/linux/ramips/dts/UBNT-ER-e50.dtsi b/target/linux/ramips/dts/UBNT-ER-e50.dtsi
index b3949a3..d709ef6 100644
--- a/target/linux/ramips/dts/UBNT-ER-e50.dtsi
+++ b/target/linux/ramips/dts/UBNT-ER-e50.dtsi
@@ -15,7 +15,7 @@ 
 		bootargs = "console=ttyS0,57600";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/UR-326N4G.dts b/target/linux/ramips/dts/UR-326N4G.dts
index 88cf964..17825ce 100644
--- a/target/linux/ramips/dts/UR-326N4G.dts
+++ b/target/linux/ramips/dts/UR-326N4G.dts
@@ -82,7 +82,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/UR-336UN.dts b/target/linux/ramips/dts/UR-336UN.dts
index 2ee1a8b..96128f5 100644
--- a/target/linux/ramips/dts/UR-336UN.dts
+++ b/target/linux/ramips/dts/UR-336UN.dts
@@ -82,7 +82,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/V11STFE.dts b/target/linux/ramips/dts/V11STFE.dts
index a8a569a..244403e 100644
--- a/target/linux/ramips/dts/V11STFE.dts
+++ b/target/linux/ramips/dts/V11STFE.dts
@@ -52,7 +52,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <100>;
 
diff --git a/target/linux/ramips/dts/V22RW-2X2.dts b/target/linux/ramips/dts/V22RW-2X2.dts
index df0fad3..e17df22 100644
--- a/target/linux/ramips/dts/V22RW-2X2.dts
+++ b/target/linux/ramips/dts/V22RW-2X2.dts
@@ -67,7 +67,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/VAR11N-300.dts b/target/linux/ramips/dts/VAR11N-300.dts
index 1b93231..c3fc664 100644
--- a/target/linux/ramips/dts/VAR11N-300.dts
+++ b/target/linux/ramips/dts/VAR11N-300.dts
@@ -25,7 +25,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/VR500.dts b/target/linux/ramips/dts/VR500.dts
index 3538ef7..262a604 100644
--- a/target/linux/ramips/dts/VR500.dts
+++ b/target/linux/ramips/dts/VR500.dts
@@ -34,7 +34,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/W06.dts b/target/linux/ramips/dts/W06.dts
index 8c3bbe4..8d196a3 100644
--- a/target/linux/ramips/dts/W06.dts
+++ b/target/linux/ramips/dts/W06.dts
@@ -33,7 +33,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/W150M.dts b/target/linux/ramips/dts/W150M.dts
index 77e8355..32f07cc 100644
--- a/target/linux/ramips/dts/W150M.dts
+++ b/target/linux/ramips/dts/W150M.dts
@@ -87,7 +87,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/W2914NSV2.dtsi b/target/linux/ramips/dts/W2914NSV2.dtsi
index 3324733..d8ddf10 100644
--- a/target/linux/ramips/dts/W2914NSV2.dtsi
+++ b/target/linux/ramips/dts/W2914NSV2.dtsi
@@ -10,7 +10,7 @@ 
 		bootargs = "console=ttyS0,57600";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/W306R_V20.dts b/target/linux/ramips/dts/W306R_V20.dts
index 2e1fd77..abf61f6 100644
--- a/target/linux/ramips/dts/W306R_V20.dts
+++ b/target/linux/ramips/dts/W306R_V20.dts
@@ -67,7 +67,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/W502U.dts b/target/linux/ramips/dts/W502U.dts
index 0de66af..b31465a 100644
--- a/target/linux/ramips/dts/W502U.dts
+++ b/target/linux/ramips/dts/W502U.dts
@@ -73,7 +73,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WCR-1166DS.dts b/target/linux/ramips/dts/WCR-1166DS.dts
index ca715c8..0391d52 100644
--- a/target/linux/ramips/dts/WCR-1166DS.dts
+++ b/target/linux/ramips/dts/WCR-1166DS.dts
@@ -16,7 +16,7 @@ 
 		led-upgrade = &led_power;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WCR150GN.dts b/target/linux/ramips/dts/WCR150GN.dts
index 90298bf..1c87e8d 100644
--- a/target/linux/ramips/dts/WCR150GN.dts
+++ b/target/linux/ramips/dts/WCR150GN.dts
@@ -69,7 +69,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WD03.dts b/target/linux/ramips/dts/WD03.dts
index c685aea..e13e4bd 100644
--- a/target/linux/ramips/dts/WD03.dts
+++ b/target/linux/ramips/dts/WD03.dts
@@ -28,7 +28,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WE1026-5G.dtsi b/target/linux/ramips/dts/WE1026-5G.dtsi
index e6c4b8c..deff56a 100644
--- a/target/linux/ramips/dts/WE1026-5G.dtsi
+++ b/target/linux/ramips/dts/WE1026-5G.dtsi
@@ -63,7 +63,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 		reset {
diff --git a/target/linux/ramips/dts/WF-2881.dts b/target/linux/ramips/dts/WF-2881.dts
index aeff06b..e699ed6 100644
--- a/target/linux/ramips/dts/WF-2881.dts
+++ b/target/linux/ramips/dts/WF-2881.dts
@@ -41,7 +41,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WHR-1166D.dts b/target/linux/ramips/dts/WHR-1166D.dts
index ddfa768..4015287 100644
--- a/target/linux/ramips/dts/WHR-1166D.dts
+++ b/target/linux/ramips/dts/WHR-1166D.dts
@@ -55,7 +55,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WHR-300HP2.dts b/target/linux/ramips/dts/WHR-300HP2.dts
index efcd65d..2e26b90 100644
--- a/target/linux/ramips/dts/WHR-300HP2.dts
+++ b/target/linux/ramips/dts/WHR-300HP2.dts
@@ -55,7 +55,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WHR-600D.dts b/target/linux/ramips/dts/WHR-600D.dts
index c96bd68..9ae3ac4 100644
--- a/target/linux/ramips/dts/WHR-600D.dts
+++ b/target/linux/ramips/dts/WHR-600D.dts
@@ -55,7 +55,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WHR-G300N.dts b/target/linux/ramips/dts/WHR-G300N.dts
index f975606..0966b60 100644
--- a/target/linux/ramips/dts/WHR-G300N.dts
+++ b/target/linux/ramips/dts/WHR-G300N.dts
@@ -78,7 +78,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WIDORA-NEO.dtsi b/target/linux/ramips/dts/WIDORA-NEO.dtsi
index 4d2ebb2..9b5eb06 100644
--- a/target/linux/ramips/dts/WIDORA-NEO.dtsi
+++ b/target/linux/ramips/dts/WIDORA-NEO.dtsi
@@ -32,7 +32,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WITI.dtsi b/target/linux/ramips/dts/WITI.dtsi
index 9e1e62f..86ac035 100644
--- a/target/linux/ramips/dts/WITI.dtsi
+++ b/target/linux/ramips/dts/WITI.dtsi
@@ -24,7 +24,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WIZFI630A.dts b/target/linux/ramips/dts/WIZFI630A.dts
index 45c080b..c55b09c 100644
--- a/target/linux/ramips/dts/WIZFI630A.dts
+++ b/target/linux/ramips/dts/WIZFI630A.dts
@@ -44,7 +44,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WL-330N.dts b/target/linux/ramips/dts/WL-330N.dts
index e747d60..557892a 100644
--- a/target/linux/ramips/dts/WL-330N.dts
+++ b/target/linux/ramips/dts/WL-330N.dts
@@ -30,7 +30,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WL-330N3G.dts b/target/linux/ramips/dts/WL-330N3G.dts
index c562d95..62494b7 100644
--- a/target/linux/ramips/dts/WL-330N3G.dts
+++ b/target/linux/ramips/dts/WL-330N3G.dts
@@ -35,7 +35,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WL-351.dts b/target/linux/ramips/dts/WL-351.dts
index aefb4c7..f7f97ba 100644
--- a/target/linux/ramips/dts/WL-351.dts
+++ b/target/linux/ramips/dts/WL-351.dts
@@ -72,7 +72,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WL-WN570HA1.dts b/target/linux/ramips/dts/WL-WN570HA1.dts
index 14ca115..095e0a4 100644
--- a/target/linux/ramips/dts/WL-WN570HA1.dts
+++ b/target/linux/ramips/dts/WL-WN570HA1.dts
@@ -17,7 +17,7 @@ 
 		reg = <0x0 0x4000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WL-WN575A3.dts b/target/linux/ramips/dts/WL-WN575A3.dts
index deeb7bb..bdf9d03 100644
--- a/target/linux/ramips/dts/WL-WN575A3.dts
+++ b/target/linux/ramips/dts/WL-WN575A3.dts
@@ -17,7 +17,7 @@ 
 		reg = <0x0 0x4000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WLI-TX4-AG300N.dts b/target/linux/ramips/dts/WLI-TX4-AG300N.dts
index 4a55a92..ed47679 100644
--- a/target/linux/ramips/dts/WLI-TX4-AG300N.dts
+++ b/target/linux/ramips/dts/WLI-TX4-AG300N.dts
@@ -55,7 +55,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <100>;
 
diff --git a/target/linux/ramips/dts/WLR-6000.dts b/target/linux/ramips/dts/WLR-6000.dts
index 2eeb474..c347b27 100644
--- a/target/linux/ramips/dts/WLR-6000.dts
+++ b/target/linux/ramips/dts/WLR-6000.dts
@@ -16,7 +16,7 @@ 
 		led-upgrade = &led_power;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WMR-300.dts b/target/linux/ramips/dts/WMR-300.dts
index 3b45511..9d50bc0 100644
--- a/target/linux/ramips/dts/WMR-300.dts
+++ b/target/linux/ramips/dts/WMR-300.dts
@@ -35,7 +35,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WN-AX1167GR.dts b/target/linux/ramips/dts/WN-AX1167GR.dts
index 5163af1..b571ae7 100644
--- a/target/linux/ramips/dts/WN-AX1167GR.dts
+++ b/target/linux/ramips/dts/WN-AX1167GR.dts
@@ -39,7 +39,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WN-GX300GR.dts b/target/linux/ramips/dts/WN-GX300GR.dts
index 2fcfc96..17158b9 100644
--- a/target/linux/ramips/dts/WN-GX300GR.dts
+++ b/target/linux/ramips/dts/WN-GX300GR.dts
@@ -39,7 +39,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WN3000RPV3.dts b/target/linux/ramips/dts/WN3000RPV3.dts
index b22ce02..0800b1b 100644
--- a/target/linux/ramips/dts/WN3000RPV3.dts
+++ b/target/linux/ramips/dts/WN3000RPV3.dts
@@ -72,7 +72,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WNCE2001.dts b/target/linux/ramips/dts/WNCE2001.dts
index 0a57820..b2e9cf9 100644
--- a/target/linux/ramips/dts/WNCE2001.dts
+++ b/target/linux/ramips/dts/WNCE2001.dts
@@ -44,7 +44,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WNDR3700V5.dts b/target/linux/ramips/dts/WNDR3700V5.dts
index 92e7944..e894e46 100644
--- a/target/linux/ramips/dts/WNDR3700V5.dts
+++ b/target/linux/ramips/dts/WNDR3700V5.dts
@@ -39,7 +39,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WR1200JS.dts b/target/linux/ramips/dts/WR1200JS.dts
index 950a516..15ffa3b 100644
--- a/target/linux/ramips/dts/WR1200JS.dts
+++ b/target/linux/ramips/dts/WR1200JS.dts
@@ -44,7 +44,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WR1201.dts b/target/linux/ramips/dts/WR1201.dts
index be20717..30f4fe6 100644
--- a/target/linux/ramips/dts/WR1201.dts
+++ b/target/linux/ramips/dts/WR1201.dts
@@ -51,7 +51,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WR512-3GN.dtsi b/target/linux/ramips/dts/WR512-3GN.dtsi
index f0612ab..e14c366 100644
--- a/target/linux/ramips/dts/WR512-3GN.dtsi
+++ b/target/linux/ramips/dts/WR512-3GN.dtsi
@@ -42,7 +42,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WR6202.dts b/target/linux/ramips/dts/WR6202.dts
index b1030f5..b5072aa 100644
--- a/target/linux/ramips/dts/WR6202.dts
+++ b/target/linux/ramips/dts/WR6202.dts
@@ -27,7 +27,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WRC-1167GHBK2-S.dts b/target/linux/ramips/dts/WRC-1167GHBK2-S.dts
index 4f04270..4966d89 100644
--- a/target/linux/ramips/dts/WRC-1167GHBK2-S.dts
+++ b/target/linux/ramips/dts/WRC-1167GHBK2-S.dts
@@ -59,7 +59,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WRH-300CR.dts b/target/linux/ramips/dts/WRH-300CR.dts
index 828200b..6a1de6e 100644
--- a/target/linux/ramips/dts/WRH-300CR.dts
+++ b/target/linux/ramips/dts/WRH-300CR.dts
@@ -35,7 +35,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WRTNODE2.dtsi b/target/linux/ramips/dts/WRTNODE2.dtsi
index 6758d27..0613028 100644
--- a/target/linux/ramips/dts/WRTNODE2.dtsi
+++ b/target/linux/ramips/dts/WRTNODE2.dtsi
@@ -10,7 +10,7 @@ 
 		bootargs = "console=ttyS0,115200";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WSR-1166.dts b/target/linux/ramips/dts/WSR-1166.dts
index bb05745..bd7ddd3 100644
--- a/target/linux/ramips/dts/WSR-1166.dts
+++ b/target/linux/ramips/dts/WSR-1166.dts
@@ -69,7 +69,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WSR-600.dts b/target/linux/ramips/dts/WSR-600.dts
index 7eb75b9..ce7c7d6 100644
--- a/target/linux/ramips/dts/WSR-600.dts
+++ b/target/linux/ramips/dts/WSR-600.dts
@@ -69,7 +69,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WT1520.dtsi b/target/linux/ramips/dts/WT1520.dtsi
index 1a38387..28d498b 100644
--- a/target/linux/ramips/dts/WT1520.dtsi
+++ b/target/linux/ramips/dts/WT1520.dtsi
@@ -11,7 +11,7 @@ 
 		reg = <0x0 0x2000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WT3020.dtsi b/target/linux/ramips/dts/WT3020.dtsi
index 67ded65..ea03d74 100644
--- a/target/linux/ramips/dts/WT3020.dtsi
+++ b/target/linux/ramips/dts/WT3020.dtsi
@@ -13,7 +13,7 @@ 
 		led-upgrade = &led_power;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/WZR-AGL300NH.dts b/target/linux/ramips/dts/WZR-AGL300NH.dts
index ba42d25..8f7dc9b 100644
--- a/target/linux/ramips/dts/WZR-AGL300NH.dts
+++ b/target/linux/ramips/dts/WZR-AGL300NH.dts
@@ -61,7 +61,7 @@ 
 		gpio-sck = <&gpio0 2 GPIO_ACTIVE_HIGH>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <100>;
 
diff --git a/target/linux/ramips/dts/X5.dts b/target/linux/ramips/dts/X5.dts
index 2cb53fa..1f97f10 100644
--- a/target/linux/ramips/dts/X5.dts
+++ b/target/linux/ramips/dts/X5.dts
@@ -40,7 +40,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/X8.dts b/target/linux/ramips/dts/X8.dts
index 8edf4f7..94f24ce 100644
--- a/target/linux/ramips/dts/X8.dts
+++ b/target/linux/ramips/dts/X8.dts
@@ -25,7 +25,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/XDXRN502J.dts b/target/linux/ramips/dts/XDXRN502J.dts
index 7b33fcb..4d2d482 100644
--- a/target/linux/ramips/dts/XDXRN502J.dts
+++ b/target/linux/ramips/dts/XDXRN502J.dts
@@ -67,7 +67,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/Y1.dtsi b/target/linux/ramips/dts/Y1.dtsi
index 9d171ad..5d6c992 100644
--- a/target/linux/ramips/dts/Y1.dtsi
+++ b/target/linux/ramips/dts/Y1.dtsi
@@ -10,7 +10,7 @@ 
 		bootargs = "console=ttyS0,115200";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/YOUKU-YK1.dts b/target/linux/ramips/dts/YOUKU-YK1.dts
index 82540fb..1562b73 100644
--- a/target/linux/ramips/dts/YOUKU-YK1.dts
+++ b/target/linux/ramips/dts/YOUKU-YK1.dts
@@ -38,7 +38,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 		reset {
diff --git a/target/linux/ramips/dts/ZBT-APE522II.dts b/target/linux/ramips/dts/ZBT-APE522II.dts
index 231c1fd..edb6da0 100644
--- a/target/linux/ramips/dts/ZBT-APE522II.dts
+++ b/target/linux/ramips/dts/ZBT-APE522II.dts
@@ -42,7 +42,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/ZBT-CPE102.dts b/target/linux/ramips/dts/ZBT-CPE102.dts
index fce33e0..2a5d7fe 100644
--- a/target/linux/ramips/dts/ZBT-CPE102.dts
+++ b/target/linux/ramips/dts/ZBT-CPE102.dts
@@ -38,7 +38,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/ZBT-WA05.dts b/target/linux/ramips/dts/ZBT-WA05.dts
index 4179894..30577b2 100644
--- a/target/linux/ramips/dts/ZBT-WA05.dts
+++ b/target/linux/ramips/dts/ZBT-WA05.dts
@@ -41,7 +41,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/ZBT-WE1226.dts b/target/linux/ramips/dts/ZBT-WE1226.dts
index 1a1a986..7c72744 100644
--- a/target/linux/ramips/dts/ZBT-WE1226.dts
+++ b/target/linux/ramips/dts/ZBT-WE1226.dts
@@ -24,7 +24,7 @@ 
 		reg = <0x0 0x4000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/ZBT-WE1326.dts b/target/linux/ramips/dts/ZBT-WE1326.dts
index 8b13114..e3c8f22 100644
--- a/target/linux/ramips/dts/ZBT-WE1326.dts
+++ b/target/linux/ramips/dts/ZBT-WE1326.dts
@@ -18,7 +18,7 @@ 
 		reg = <0x0 0x1c000000>, <0x20000000 0x4000000>;
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/ZBT-WE2026.dts b/target/linux/ramips/dts/ZBT-WE2026.dts
index 30ed4f7..15951f0 100644
--- a/target/linux/ramips/dts/ZBT-WE2026.dts
+++ b/target/linux/ramips/dts/ZBT-WE2026.dts
@@ -34,7 +34,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/ZBT-WE3526.dts b/target/linux/ramips/dts/ZBT-WE3526.dts
index ed86249..7d94938 100644
--- a/target/linux/ramips/dts/ZBT-WE3526.dts
+++ b/target/linux/ramips/dts/ZBT-WE3526.dts
@@ -24,7 +24,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/ZBT-WE826.dtsi b/target/linux/ramips/dts/ZBT-WE826.dtsi
index 4fa81b7..e0033eb 100644
--- a/target/linux/ramips/dts/ZBT-WE826.dtsi
+++ b/target/linux/ramips/dts/ZBT-WE826.dtsi
@@ -35,7 +35,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 		reset {
diff --git a/target/linux/ramips/dts/ZBT-WG2626.dts b/target/linux/ramips/dts/ZBT-WG2626.dts
index 938a144..9832e2d 100644
--- a/target/linux/ramips/dts/ZBT-WG2626.dts
+++ b/target/linux/ramips/dts/ZBT-WG2626.dts
@@ -31,7 +31,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/ZBT-WG3526.dtsi b/target/linux/ramips/dts/ZBT-WG3526.dtsi
index 13443e0..dd823ad 100644
--- a/target/linux/ramips/dts/ZBT-WG3526.dtsi
+++ b/target/linux/ramips/dts/ZBT-WG3526.dtsi
@@ -28,7 +28,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/ZBT-WR8305RT.dts b/target/linux/ramips/dts/ZBT-WR8305RT.dts
index eafe778..d64f76a 100644
--- a/target/linux/ramips/dts/ZBT-WR8305RT.dts
+++ b/target/linux/ramips/dts/ZBT-WR8305RT.dts
@@ -37,7 +37,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/ZL5900V2.dts b/target/linux/ramips/dts/ZL5900V2.dts
index 026a524..a898e90 100644
--- a/target/linux/ramips/dts/ZL5900V2.dts
+++ b/target/linux/ramips/dts/ZL5900V2.dts
@@ -30,7 +30,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/ZTE-Q7.dts b/target/linux/ramips/dts/ZTE-Q7.dts
index 51f9122..27980d6 100644
--- a/target/linux/ramips/dts/ZTE-Q7.dts
+++ b/target/linux/ramips/dts/ZTE-Q7.dts
@@ -30,7 +30,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/elecom_wrc-gst.dtsi b/target/linux/ramips/dts/elecom_wrc-gst.dtsi
index eb06b04..fb653d2 100644
--- a/target/linux/ramips/dts/elecom_wrc-gst.dtsi
+++ b/target/linux/ramips/dts/elecom_wrc-gst.dtsi
@@ -47,7 +47,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/ki_rb.dts b/target/linux/ramips/dts/ki_rb.dts
index 818b4f8..038a56c 100644
--- a/target/linux/ramips/dts/ki_rb.dts
+++ b/target/linux/ramips/dts/ki_rb.dts
@@ -25,7 +25,7 @@ 
 		bootargs = "console=ttyS0,57600n8";
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/kn.dts b/target/linux/ramips/dts/kn.dts
index 3619aae..5394eee 100644
--- a/target/linux/ramips/dts/kn.dts
+++ b/target/linux/ramips/dts/kn.dts
@@ -74,7 +74,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys-polled";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/kn_rc.dts b/target/linux/ramips/dts/kn_rc.dts
index 90f740c..46f73ec 100644
--- a/target/linux/ramips/dts/kn_rc.dts
+++ b/target/linux/ramips/dts/kn_rc.dts
@@ -42,7 +42,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/kn_rf.dts b/target/linux/ramips/dts/kn_rf.dts
index aaa98e8..869587c 100644
--- a/target/linux/ramips/dts/kn_rf.dts
+++ b/target/linux/ramips/dts/kn_rf.dts
@@ -42,7 +42,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys";
 		poll-interval = <20>;
 
diff --git a/target/linux/ramips/dts/kng_rc.dts b/target/linux/ramips/dts/kng_rc.dts
index e8b1522..a21c0fb 100644
--- a/target/linux/ramips/dts/kng_rc.dts
+++ b/target/linux/ramips/dts/kng_rc.dts
@@ -47,7 +47,7 @@ 
 		};
 	};
 
-	gpio-keys-polled {
+	keys {
 		compatible = "gpio-keys";
 		poll-interval = <20>;