From 8e294af41b7b535307f92f805f0a163a620616e1 Mon Sep 17 00:00:00 2001 From: John Audia Date: Tue, 22 Oct 2024 15:59:20 -0400 Subject: [PATCH 01/12] kernel: bump 6.6 to 6.6.58 Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.58 All patches automatically rebased. Build system: x86/64 Build-tested: x86/64/AMD Cezanne, flogic/glinet_gl-mt6000, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3 Run-tested: x86/64/AMD Cezanne, flogic/glinet_gl-mt6000, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3 Signed-off-by: John Audia Link: https://github.com/openwrt/openwrt/pull/16758 Signed-off-by: Hauke Mehrtens --- include/kernel-6.6 | 4 +-- ...-net-macb-Also-set-DMA-coherent-mask.patch | 26 +++++++++---------- .../780-usb-net-MeigLink_modem_support.patch | 4 +-- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/include/kernel-6.6 b/include/kernel-6.6 index a5048a4e6f46a8..df3464ab4118fa 100644 --- a/include/kernel-6.6 +++ b/include/kernel-6.6 @@ -1,2 +1,2 @@ -LINUX_VERSION-6.6 = .57 -LINUX_KERNEL_HASH-6.6.57 = 66ce426ef96f99b8e1ef7ac72e780c730ef8b970f7aa5708501c4274d7abb7b3 +LINUX_VERSION-6.6 = .58 +LINUX_KERNEL_HASH-6.6.58 = e7df81e588d70fab5ec3ec3bb04ac53d51f0860fc3b1ec45e0a4167a026899db diff --git a/target/linux/bcm27xx/patches-6.6/950-0518-net-macb-Also-set-DMA-coherent-mask.patch b/target/linux/bcm27xx/patches-6.6/950-0518-net-macb-Also-set-DMA-coherent-mask.patch index 508aaad932c3d1..cbfab3e4e6c12d 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0518-net-macb-Also-set-DMA-coherent-mask.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0518-net-macb-Also-set-DMA-coherent-mask.patch @@ -191,7 +191,7 @@ Signed-off-by: Jonathan Bell static void macb_init_buffers(struct macb *bp) { struct macb_queue *queue; -@@ -969,6 +985,7 @@ static int macb_mii_init(struct macb *bp +@@ -977,6 +993,7 @@ static int macb_mii_init(struct macb *bp bp->mii_bus->write = &macb_mdio_write_c22; bp->mii_bus->read_c45 = &macb_mdio_read_c45; bp->mii_bus->write_c45 = &macb_mdio_write_c45; @@ -199,7 +199,7 @@ Signed-off-by: Jonathan Bell snprintf(bp->mii_bus->id, MII_BUS_ID_SIZE, "%s-%x", bp->pdev->name, bp->pdev->id); bp->mii_bus->priv = bp; -@@ -1640,6 +1657,11 @@ static int macb_rx(struct macb_queue *qu +@@ -1648,6 +1665,11 @@ static int macb_rx(struct macb_queue *qu macb_init_rx_ring(queue); queue_writel(queue, RBQP, queue->rx_ring_dma); @@ -211,7 +211,7 @@ Signed-off-by: Jonathan Bell macb_writel(bp, NCR, ctrl | MACB_BIT(RE)); -@@ -1940,8 +1962,9 @@ static irqreturn_t macb_interrupt(int ir +@@ -1948,8 +1970,9 @@ static irqreturn_t macb_interrupt(int ir queue_writel(queue, ISR, MACB_BIT(TCOMP) | MACB_BIT(TXUBR)); @@ -222,7 +222,7 @@ Signed-off-by: Jonathan Bell wmb(); // ensure softirq can see update } -@@ -2394,6 +2417,11 @@ static netdev_tx_t macb_start_xmit(struc +@@ -2402,6 +2425,11 @@ static netdev_tx_t macb_start_xmit(struc skb_tx_timestamp(skb); spin_lock_irq(&bp->lock); @@ -234,7 +234,7 @@ Signed-off-by: Jonathan Bell macb_writel(bp, NCR, macb_readl(bp, NCR) | MACB_BIT(TSTART)); spin_unlock_irq(&bp->lock); -@@ -2768,6 +2796,37 @@ static void macb_configure_dma(struct ma +@@ -2776,6 +2804,37 @@ static void macb_configure_dma(struct ma } } @@ -272,7 +272,7 @@ Signed-off-by: Jonathan Bell static void macb_init_hw(struct macb *bp) { u32 config; -@@ -2796,6 +2855,11 @@ static void macb_init_hw(struct macb *bp +@@ -2804,6 +2863,11 @@ static void macb_init_hw(struct macb *bp if (bp->caps & MACB_CAPS_JUMBO) bp->rx_frm_len_mask = MACB_RX_JFRMLEN_MASK; @@ -284,7 +284,7 @@ Signed-off-by: Jonathan Bell macb_configure_dma(bp); /* Enable RX partial store and forward and set watermark */ -@@ -3157,6 +3221,52 @@ static void gem_get_ethtool_strings(stru +@@ -3165,6 +3229,52 @@ static void gem_get_ethtool_strings(stru } } @@ -337,7 +337,7 @@ Signed-off-by: Jonathan Bell static struct net_device_stats *macb_get_stats(struct net_device *dev) { struct macb *bp = netdev_priv(dev); -@@ -3749,6 +3859,8 @@ static const struct ethtool_ops macb_eth +@@ -3757,6 +3867,8 @@ static const struct ethtool_ops macb_eth }; static const struct ethtool_ops gem_ethtool_ops = { @@ -346,7 +346,7 @@ Signed-off-by: Jonathan Bell .get_regs_len = macb_get_regs_len, .get_regs = macb_get_regs, .get_wol = macb_get_wol, -@@ -3758,6 +3870,8 @@ static const struct ethtool_ops gem_etht +@@ -3766,6 +3878,8 @@ static const struct ethtool_ops gem_etht .get_ethtool_stats = gem_get_ethtool_stats, .get_strings = gem_get_ethtool_strings, .get_sset_count = gem_get_sset_count, @@ -355,7 +355,7 @@ Signed-off-by: Jonathan Bell .get_link_ksettings = macb_get_link_ksettings, .set_link_ksettings = macb_set_link_ksettings, .get_ringparam = macb_get_ringparam, -@@ -5054,6 +5168,11 @@ static int macb_probe(struct platform_de +@@ -5062,6 +5176,11 @@ static int macb_probe(struct platform_de } } } @@ -367,7 +367,7 @@ Signed-off-by: Jonathan Bell spin_lock_init(&bp->lock); /* setup capabilities */ -@@ -5109,6 +5228,21 @@ static int macb_probe(struct platform_de +@@ -5117,6 +5236,21 @@ static int macb_probe(struct platform_de else bp->phy_interface = interface; @@ -389,7 +389,7 @@ Signed-off-by: Jonathan Bell /* IP specific init */ err = init(pdev); if (err) -@@ -5185,6 +5319,19 @@ static int macb_remove(struct platform_d +@@ -5193,6 +5327,19 @@ static int macb_remove(struct platform_d return 0; } @@ -409,7 +409,7 @@ Signed-off-by: Jonathan Bell static int __maybe_unused macb_suspend(struct device *dev) { struct net_device *netdev = dev_get_drvdata(dev); -@@ -5399,6 +5546,7 @@ static const struct dev_pm_ops macb_pm_o +@@ -5407,6 +5554,7 @@ static const struct dev_pm_ops macb_pm_o static struct platform_driver macb_driver = { .probe = macb_probe, .remove = macb_remove, diff --git a/target/linux/generic/hack-6.6/780-usb-net-MeigLink_modem_support.patch b/target/linux/generic/hack-6.6/780-usb-net-MeigLink_modem_support.patch index 73a27ef6e2e7ec..e80dfbeb0f3926 100644 --- a/target/linux/generic/hack-6.6/780-usb-net-MeigLink_modem_support.patch +++ b/target/linux/generic/hack-6.6/780-usb-net-MeigLink_modem_support.patch @@ -43,7 +43,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support #define QUECTEL_VENDOR_ID 0x2c7c /* These Quectel products use Quectel's vendor ID */ -@@ -1158,6 +1163,11 @@ static const struct usb_device_id option +@@ -1159,6 +1164,11 @@ static const struct usb_device_id option { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x0023)}, /* ONYX 3G device */ { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x9000), /* SIMCom SIM5218 */ .driver_info = NCTRL(0) | NCTRL(1) | NCTRL(2) | NCTRL(3) | RSVD(4) }, @@ -55,7 +55,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support /* Quectel products using Qualcomm vendor ID */ { USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC15)}, { USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC20), -@@ -1199,6 +1209,11 @@ static const struct usb_device_id option +@@ -1200,6 +1210,11 @@ static const struct usb_device_id option .driver_info = ZLP }, { USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96), .driver_info = RSVD(4) }, From dfc8e8d09af2eddfbea9aa3b9897a8074db6e17c Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Thu, 17 Oct 2024 16:48:20 -0700 Subject: [PATCH 02/12] apm821xx: move CONFIG_GENERIC_PHY up It's shared by both subtargets. Signed-off-by: Rosen Penev Link: https://github.com/openwrt/openwrt/pull/16754 Signed-off-by: Hauke Mehrtens --- target/linux/apm821xx/config-6.6 | 1 + target/linux/apm821xx/nand/config-default | 1 - target/linux/apm821xx/sata/config-default | 1 - 3 files changed, 1 insertion(+), 2 deletions(-) diff --git a/target/linux/apm821xx/config-6.6 b/target/linux/apm821xx/config-6.6 index 23342e78aa8478..33e586632cd762 100644 --- a/target/linux/apm821xx/config-6.6 +++ b/target/linux/apm821xx/config-6.6 @@ -100,6 +100,7 @@ CONFIG_GENERIC_IRQ_SHOW_LEVEL=y CONFIG_GENERIC_ISA_DMA=y CONFIG_GENERIC_MSI_IRQ=y CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_PHY=y CONFIG_GENERIC_SMP_IDLE_THREAD=y CONFIG_GENERIC_STRNCPY_FROM_USER=y CONFIG_GENERIC_STRNLEN_USER=y diff --git a/target/linux/apm821xx/nand/config-default b/target/linux/apm821xx/nand/config-default index 220ee3b9c0ffd6..6c425553b4a43b 100644 --- a/target/linux/apm821xx/nand/config-default +++ b/target/linux/apm821xx/nand/config-default @@ -2,7 +2,6 @@ CONFIG_AT803X_PHY=y CONFIG_BCH=y CONFIG_CRYPTO_HASH_INFO=y CONFIG_CRYPTO_ZSTD=y -CONFIG_GENERIC_PHY=y CONFIG_GRO_CELLS=y CONFIG_HWMON=y CONFIG_MTD_NAND_CORE=y diff --git a/target/linux/apm821xx/sata/config-default b/target/linux/apm821xx/sata/config-default index c12f01f87d8798..fdd5bf8bbd7602 100644 --- a/target/linux/apm821xx/sata/config-default +++ b/target/linux/apm821xx/sata/config-default @@ -15,7 +15,6 @@ CONFIG_EXT4_FS=y CONFIG_F2FS_FS=y CONFIG_FREEZER=y CONFIG_FW_CACHE=y -CONFIG_GENERIC_PHY=y CONFIG_GPIO_74XX_MMIO=y CONFIG_GPIO_GENERIC=y CONFIG_GPIO_GENERIC_PLATFORM=y From 4175828482f988921fdd4678ea7c89d069e1c145 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Thu, 17 Oct 2024 16:27:02 -0700 Subject: [PATCH 03/12] mpc85xx: move CONFIG_MTD_SPLIT_FIRMWARE up It's shared by all targets. Unlike the other shared symbols, it's not removed by kernel_oldconfig. Signed-off-by: Rosen Penev Link: https://github.com/openwrt/openwrt/pull/16756 Signed-off-by: Hauke Mehrtens --- target/linux/mpc85xx/config-6.6 | 1 + target/linux/mpc85xx/p1010/config-default | 1 - target/linux/mpc85xx/p1020/config-default | 1 - target/linux/mpc85xx/p2020/config-default | 1 - 4 files changed, 1 insertion(+), 3 deletions(-) diff --git a/target/linux/mpc85xx/config-6.6 b/target/linux/mpc85xx/config-6.6 index ef08a51979a1f3..14d5650fb50746 100644 --- a/target/linux/mpc85xx/config-6.6 +++ b/target/linux/mpc85xx/config-6.6 @@ -165,6 +165,7 @@ CONFIG_MTD_NAND_ECC=y CONFIG_MTD_NAND_ECC_SW_HAMMING=y CONFIG_MTD_RAW_NAND=y CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_SPLIT_FIRMWARE=y # CONFIG_MVME2500 is not set CONFIG_NEED_PER_CPU_KM=y CONFIG_NEED_SG_DMA_LENGTH=y diff --git a/target/linux/mpc85xx/p1010/config-default b/target/linux/mpc85xx/p1010/config-default index 1cd84b52cadb91..5a17e38f5c737b 100644 --- a/target/linux/mpc85xx/p1010/config-default +++ b/target/linux/mpc85xx/p1010/config-default @@ -8,7 +8,6 @@ CONFIG_MEMORY=y CONFIG_MTD_CFI=y CONFIG_MTD_NAND_FSL_IFC=y CONFIG_MTD_PHYSMAP=y -CONFIG_MTD_SPLIT_FIRMWARE=y CONFIG_MTD_SPLIT_TPLINK_FW=y CONFIG_MTD_SPLIT_UIMAGE_FW=y CONFIG_MTD_UBI=y diff --git a/target/linux/mpc85xx/p1020/config-default b/target/linux/mpc85xx/p1020/config-default index 49574cd6539071..66710a9aceb8f0 100644 --- a/target/linux/mpc85xx/p1020/config-default +++ b/target/linux/mpc85xx/p1020/config-default @@ -27,7 +27,6 @@ CONFIG_MSM460=y CONFIG_MTD_CFI=y CONFIG_MTD_NAND_FSL_ELBC=y CONFIG_MTD_PHYSMAP=y -CONFIG_MTD_SPLIT_FIRMWARE=y CONFIG_MTD_SPLIT_FIT_FW=y CONFIG_MTD_SPLIT_UIMAGE_FW=y CONFIG_MTD_UBI=y diff --git a/target/linux/mpc85xx/p2020/config-default b/target/linux/mpc85xx/p2020/config-default index 01774cd6d68c89..ff8c8cb9393445 100644 --- a/target/linux/mpc85xx/p2020/config-default +++ b/target/linux/mpc85xx/p2020/config-default @@ -15,7 +15,6 @@ CONFIG_MPC85xx_RDB=y CONFIG_MTD_CFI=y CONFIG_MTD_NAND_FSL_ELBC=y CONFIG_MTD_PHYSMAP=y -CONFIG_MTD_SPLIT_FIRMWARE=y CONFIG_MTD_SPLIT_FIT_FW=y CONFIG_MUTEX_SPIN_ON_OWNER=y CONFIG_NEED_DMA_MAP_STATE=y From abeaf8df5c8ad486d2beb110d87cb511fb5cd831 Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Thu, 24 Oct 2024 12:45:36 +0200 Subject: [PATCH 04/12] include/package-pack: remove whitespace for Description info for APK Remove whitespace for Description info for .apk creation Fixes: b6bbc76c0b2a ("include/package-pack: set missing Description on .apk creation") Signed-off-by: Christian Marangi --- include/package-pack.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/package-pack.mk b/include/package-pack.mk index a6ba9ca37cde42..9a284e05d464f7 100644 --- a/include/package-pack.mk +++ b/include/package-pack.mk @@ -339,7 +339,7 @@ else $(FAKEROOT) $(STAGING_DIR_HOST)/bin/apk mkpkg \ --info "name:$(1)$$(ABIV_$(1))" \ --info "version:$(VERSION)" \ - --info "description: $$(strip $$(Package/$(1)/description))" \ + --info "description:$$(strip $$(Package/$(1)/description))" \ --info "arch:$(PKGARCH)" \ --info "license:$(LICENSE)" \ --info "origin:$(SOURCE)" \ From 6835ff8cbcc826ce64b073872e740a7399cb0b47 Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Thu, 24 Oct 2024 12:46:47 +0200 Subject: [PATCH 05/12] include/package-pack: Set missing Maintainer and URL for APK Set missing Maintainer and URL info for .apk creation. Fixes: d788ab376f85 ("build: add APK package build capabilities") Signed-off-by: Christian Marangi --- include/package-pack.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/package-pack.mk b/include/package-pack.mk index 9a284e05d464f7..9991050c14c765 100644 --- a/include/package-pack.mk +++ b/include/package-pack.mk @@ -343,6 +343,8 @@ else --info "arch:$(PKGARCH)" \ --info "license:$(LICENSE)" \ --info "origin:$(SOURCE)" \ + --info "url:$(URL)" \ + --info "maintainer:$(MAINTAINER)" \ --info "provides:$$(foreach prov,$$(filter-out $(1)$$(ABIV_$(1)),$(PROVIDES)$$(if $$(ABIV_$(1)), \ $(1) $(foreach provide,$(PROVIDES),$(provide)$$(ABIV_$(1))))),$$(prov)=$(VERSION) )" \ --script "post-install:$$(ADIR_$(1))/post-install" \ From 27657050d02f13d1e737293ac7ad08686b4c6fd3 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Thu, 24 Oct 2024 00:03:13 +0200 Subject: [PATCH 06/12] mbedtls: update to 3.6.2 Fixes the following security problem: * CVE-2024-49195: Fix a buffer underrun in mbedtls_pk_write_key_der() when called on an opaque key, MBEDTLS_USE_PSA_CRYPTO is enabled, and the output buffer is smaller than the actual output. Fix a related buffer underrun in mbedtls_pk_write_key_pem() when called on an opaque RSA key, MBEDTLS_USE_PSA_CRYPTO is enabled and MBEDTLS_MPI_MAX_SIZE is smaller than needed for a 4096-bit RSA key. Link: https://github.com/openwrt/openwrt/pull/16768 Signed-off-by: Hauke Mehrtens --- package/libs/mbedtls/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/libs/mbedtls/Makefile b/package/libs/mbedtls/Makefile index 19d8c273034ed8..2efdf86cd207f9 100644 --- a/package/libs/mbedtls/Makefile +++ b/package/libs/mbedtls/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mbedtls -PKG_VERSION:=3.6.1 +PKG_VERSION:=3.6.2 PKG_RELEASE:=1 PKG_BUILD_FLAGS:=no-mips16 gc-sections no-lto PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL=https://github.com/Mbed-TLS/$(PKG_NAME)/releases/download/$(PKG_NAME)-$(PKG_VERSION) -PKG_HASH:=fc8bef0991b43629b7e5319de6f34f13359011105e08e3e16eed3a9fe6ffd3a3 +PKG_HASH:=8b54fb9bcf4d5a7078028e0520acddefb7900b3e66fec7f7175bb5b7d85ccdca PKG_LICENSE:=GPL-2.0-or-later PKG_LICENSE_FILES:=LICENSE From 2b2abdbb75fed15332011a3e4bd4764fc433c0bf Mon Sep 17 00:00:00 2001 From: Shiji Yang Date: Wed, 23 Oct 2024 21:56:23 +0800 Subject: [PATCH 07/12] ramips: ralink-gpio: use irqchip helpers to register driver The gpiolib has already introduced a general GPIO irqchip framework to initialize the GPIO irqchip[1]. This patch will make use of it to simplify the legacy Ralink GPIO driver codes. This patch also includes some code readability improvements. [1] 1425052097b5 ("gpio: add IRQ chip helpers in gpiolib") Signed-off-by: Shiji Yang Link: https://github.com/openwrt/openwrt/pull/16764 Signed-off-by: Robert Marko --- target/linux/ramips/mt7620/config-6.6 | 3 +- target/linux/ramips/mt7621/config-6.6 | 1 - target/linux/ramips/mt76x8/config-6.6 | 2 +- ...DT-Add-documentation-for-gpio-ralink.patch | 14 +- ...alink-add-gpio-driver-for-ralink-SoC.patch | 194 +++++++----------- ...support-for-GPIO-as-interrupt-contro.patch | 43 ---- target/linux/ramips/rt288x/config-6.6 | 2 + target/linux/ramips/rt305x/config-6.6 | 3 +- target/linux/ramips/rt3883/config-6.6 | 3 +- 9 files changed, 95 insertions(+), 170 deletions(-) delete mode 100644 target/linux/ramips/patches-6.6/803-gpio-ralink-Add-support-for-GPIO-as-interrupt-contro.patch diff --git a/target/linux/ramips/mt7620/config-6.6 b/target/linux/ramips/mt7620/config-6.6 index 606fc51eefc8b7..2c95b9c960ad00 100644 --- a/target/linux/ramips/mt7620/config-6.6 +++ b/target/linux/ramips/mt7620/config-6.6 @@ -54,6 +54,7 @@ CONFIG_EARLY_PRINTK=y CONFIG_ETHERNET_PACKET_MANGLE=y CONFIG_EXCLUSIVE_SYSTEM_RAM=y CONFIG_FIXED_PHY=y +CONFIG_FORCE_NR_CPUS=y CONFIG_FS_IOMAP=y CONFIG_FUNCTION_ALIGNMENT=0 CONFIG_FWNODE_MDIO=y @@ -81,6 +82,7 @@ CONFIG_GENERIC_SCHED_CLOCK=y CONFIG_GENERIC_SMP_IDLE_THREAD=y CONFIG_GENERIC_TIME_VSYSCALL=y CONFIG_GLOB=y +CONFIG_GPIOLIB_IRQCHIP=y CONFIG_GPIO_CDEV=y CONFIG_GPIO_GENERIC=y # CONFIG_GPIO_MT7621 is not set @@ -181,7 +183,6 @@ CONFIG_PINCTRL_MTK_MTMIPS=y CONFIG_PREEMPT_NONE_BUILD=y CONFIG_PTP_1588_CLOCK_OPTIONAL=y CONFIG_RALINK=y -# CONFIG_RALINK_GDMA is not set CONFIG_RALINK_WDT=y CONFIG_RANDSTRUCT_NONE=y CONFIG_RATIONAL=y diff --git a/target/linux/ramips/mt7621/config-6.6 b/target/linux/ramips/mt7621/config-6.6 index 5e10f03ac18af2..d1ca85aebd42bf 100644 --- a/target/linux/ramips/mt7621/config-6.6 +++ b/target/linux/ramips/mt7621/config-6.6 @@ -92,7 +92,6 @@ CONFIG_GPIOLIB_IRQCHIP=y CONFIG_GPIO_CDEV=y CONFIG_GPIO_GENERIC=y CONFIG_GPIO_MT7621=y -# CONFIG_GPIO_RALINK is not set CONFIG_GPIO_WATCHDOG=y # CONFIG_GPIO_WATCHDOG_ARCH_INITCALL is not set CONFIG_GRO_CELLS=y diff --git a/target/linux/ramips/mt76x8/config-6.6 b/target/linux/ramips/mt76x8/config-6.6 index b9dc8525df90d6..bf57a7a3302d03 100644 --- a/target/linux/ramips/mt76x8/config-6.6 +++ b/target/linux/ramips/mt76x8/config-6.6 @@ -52,6 +52,7 @@ CONFIG_DTC=y CONFIG_EARLY_PRINTK=y CONFIG_EXCLUSIVE_SYSTEM_RAM=y CONFIG_FIXED_PHY=y +CONFIG_FORCE_NR_CPUS=y CONFIG_FS_IOMAP=y CONFIG_FUNCTION_ALIGNMENT=0 CONFIG_FWNODE_MDIO=y @@ -175,7 +176,6 @@ CONFIG_PINCTRL_MTK_MTMIPS=y CONFIG_PREEMPT_NONE_BUILD=y CONFIG_PTP_1588_CLOCK_OPTIONAL=y CONFIG_RALINK=y -# CONFIG_RALINK_GDMA is not set # CONFIG_RALINK_WDT is not set CONFIG_RANDSTRUCT_NONE=y CONFIG_RATIONAL=y diff --git a/target/linux/ramips/patches-6.6/801-DT-Add-documentation-for-gpio-ralink.patch b/target/linux/ramips/patches-6.6/801-DT-Add-documentation-for-gpio-ralink.patch index fdb07f84f719c5..d4db7c1b4f5fde 100644 --- a/target/linux/ramips/patches-6.6/801-DT-Add-documentation-for-gpio-ralink.patch +++ b/target/linux/ramips/patches-6.6/801-DT-Add-documentation-for-gpio-ralink.patch @@ -1,18 +1,18 @@ From: John Crispin Date: Sun, 28 Jul 2013 19:45:30 +0200 -Subject: [PATCH 1/3] DT: Add documentation for gpio-ralink +Subject: [PATCH 1/2] DT: Add documentation for gpio-ralink Describe gpio-ralink binding. Signed-off-by: John Crispin --- - .../devicetree/bindings/gpio/gpio-ralink.txt | 36 +++++++++++++++++++ - 1 file changed, 36 insertions(+) + .../devicetree/bindings/gpio/gpio-ralink.txt | 42 +++++++++++++++++++ + 1 file changed, 42 insertions(+) create mode 100644 Documentation/devicetree/bindings/gpio/gpio-ralink.txt --- /dev/null +++ b/Documentation/devicetree/bindings/gpio/gpio-ralink.txt -@@ -0,0 +1,36 @@ +@@ -0,0 +1,42 @@ +Ralink SoC GPIO controller bindings + +Required properties: @@ -29,6 +29,9 @@ Signed-off-by: John Crispin +- ralink,register-map : The register layout depends on the GPIO bank and actual + SoC type. Register offsets need to be in this order. + [ INT, EDGE, RENA, FENA, DATA, DIR, POL, SET, RESET, TOGGLE ] ++- interrupt-controller : marks this as an interrupt controller ++- #interrupt-cells : a standard two-cell interrupt flag, see ++ interrupt-controller/interrupts.txt + +Example: + @@ -40,6 +43,9 @@ Signed-off-by: John Crispin + + reg = <0x600 0x34>; + ++ interrupt-controller; ++ #interrupt-cells = <2>; ++ + interrupt-parent = <&intc>; + interrupts = <6>; + diff --git a/target/linux/ramips/patches-6.6/802-GPIO-MIPS-ralink-add-gpio-driver-for-ralink-SoC.patch b/target/linux/ramips/patches-6.6/802-GPIO-MIPS-ralink-add-gpio-driver-for-ralink-SoC.patch index 2930c57f403778..23c9ce32d069ab 100644 --- a/target/linux/ramips/patches-6.6/802-GPIO-MIPS-ralink-add-gpio-driver-for-ralink-SoC.patch +++ b/target/linux/ramips/patches-6.6/802-GPIO-MIPS-ralink-add-gpio-driver-for-ralink-SoC.patch @@ -1,34 +1,35 @@ From: John Crispin Date: Mon, 4 Aug 2014 20:36:29 +0200 -Subject: [PATCH 2/3] GPIO: MIPS: ralink: add gpio driver for ralink SoC +Subject: [PATCH 2/2] GPIO: MIPS: ralink: add gpio driver for ralink SoC Add gpio driver for Ralink SoC. This driver makes the gpio core on RT2880, RT305x, rt3352, rt3662, rt3883, rt5350 and mt7620 work. Signed-off-by: John Crispin --- - drivers/gpio/Kconfig | 7 + + drivers/gpio/Kconfig | 8 ++ drivers/gpio/Makefile | 1 + - drivers/gpio/gpio-ralink.c | 273 +++++++++++++++++++++++++++++++++++++ - 3 files changed, 281 insertions(+) + drivers/gpio/gpio-ralink.c | 230 +++++++++++++++++++++++++++++++++++++ + 3 files changed, 239 insertions(+) create mode 100644 drivers/gpio/gpio-ralink.c --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig -@@ -594,6 +594,13 @@ config GPIO_SNPS_CREG - where only several fields in register belong to GPIO lines and - each GPIO line owns a field with different length and on/off value. +@@ -509,6 +509,14 @@ config GPIO_PXA + help + Say yes here to support the PXA GPIO device. +config GPIO_RALINK + bool "Ralink GPIO Support" -+ depends on RALINK ++ depends on SOC_RT288X || SOC_RT305X || SOC_RT3883 || SOC_MT7620 + select GPIO_GENERIC ++ select GPIOLIB_IRQCHIP + help + Say yes here to support the Ralink SoC GPIO device + - config GPIO_SPEAR_SPICS - bool "ST SPEAr13xx SPI Chip Select as GPIO support" - depends on PLAT_SPEAR + config GPIO_RCAR + tristate "Renesas R-Car and RZ/G GPIO support" + depends on ARCH_RENESAS || COMPILE_TEST --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile @@ -130,6 +130,7 @@ obj-$(CONFIG_GPIO_PISOSR) += gpio-pisos @@ -41,7 +42,7 @@ Signed-off-by: John Crispin obj-$(CONFIG_GPIO_RCAR) += gpio-rcar.o --- /dev/null +++ b/drivers/gpio/gpio-ralink.c -@@ -0,0 +1,273 @@ +@@ -0,0 +1,230 @@ +/* + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published @@ -51,14 +52,13 @@ Signed-off-by: John Crispin + * Copyright (C) 2013 John Crispin + */ + -+#include -+#include ++#include +#include -+#include -+#include -+#include -+#include +#include ++#include ++#include ++#include ++#include + +enum ralink_gpio_reg { + GPIO_REG_INT = 0, @@ -80,27 +80,12 @@ Signed-off-by: John Crispin + + spinlock_t lock; + void __iomem *membase; -+ struct irq_domain *domain; -+ int irq; ++ int gpio_irq; + + u32 rising; + u32 falling; +}; + -+#define MAP_MAX 4 -+static struct irq_domain *irq_map[MAP_MAX]; -+static int irq_map_count; -+static atomic_t irq_refcount = ATOMIC_INIT(0); -+ -+static inline struct ralink_gpio_chip *to_ralink_gpio(struct gpio_chip *chip) -+{ -+ struct ralink_gpio_chip *rg; -+ -+ rg = container_of(chip, struct ralink_gpio_chip, chip); -+ -+ return rg; -+} -+ +static inline void rt_gpio_w32(struct ralink_gpio_chip *rg, u8 reg, u32 val) +{ + iowrite32(val, rg->membase + rg->regs[reg]); @@ -111,44 +96,31 @@ Signed-off-by: John Crispin + return ioread32(rg->membase + rg->regs[reg]); +} + -+static int ralink_gpio_to_irq(struct gpio_chip *chip, unsigned pin) -+{ -+ struct ralink_gpio_chip *rg = to_ralink_gpio(chip); -+ -+ if (rg->irq < 1) -+ return -1; -+ -+ return irq_create_mapping(rg->domain, pin); -+} -+ -+static void ralink_gpio_irq_handler(struct irq_desc *desc) -+{ -+ int i; -+ -+ for (i = 0; i < irq_map_count; i++) { -+ struct irq_domain *domain = irq_map[i]; -+ struct ralink_gpio_chip *rg; -+ unsigned long pending; -+ int bit; -+ -+ rg = (struct ralink_gpio_chip *) domain->host_data; -+ pending = rt_gpio_r32(rg, GPIO_REG_INT); -+ -+ for_each_set_bit(bit, &pending, rg->chip.ngpio) { -+ u32 map = irq_find_mapping(domain, bit); -+ generic_handle_irq(map); -+ rt_gpio_w32(rg, GPIO_REG_INT, BIT(bit)); -+ } ++static irqreturn_t ralink_gpio_irq_handler(int irq, void *data) ++{ ++ struct gpio_chip *gc = data; ++ struct ralink_gpio_chip *rg = gpiochip_get_data(gc); ++ irqreturn_t ret = IRQ_NONE; ++ unsigned long pending; ++ int bit; ++ ++ pending = rt_gpio_r32(rg, GPIO_REG_INT); ++ for_each_set_bit(bit, &pending, rg->chip.ngpio) { ++ generic_handle_domain_irq(gc->irq.domain, bit); ++ rt_gpio_w32(rg, GPIO_REG_INT, BIT(bit)); ++ ret |= IRQ_HANDLED; + } ++ ++ return ret; +} + +static void ralink_gpio_irq_unmask(struct irq_data *d) +{ -+ struct ralink_gpio_chip *rg; ++ struct gpio_chip *gc = irq_data_get_irq_chip_data(d); ++ struct ralink_gpio_chip *rg = gpiochip_get_data(gc); + unsigned long flags; + u32 rise, fall; + -+ rg = (struct ralink_gpio_chip *) d->domain->host_data; + rise = rt_gpio_r32(rg, GPIO_REG_RENA); + fall = rt_gpio_r32(rg, GPIO_REG_FENA); + @@ -160,11 +132,11 @@ Signed-off-by: John Crispin + +static void ralink_gpio_irq_mask(struct irq_data *d) +{ -+ struct ralink_gpio_chip *rg; ++ struct gpio_chip *gc = irq_data_get_irq_chip_data(d); ++ struct ralink_gpio_chip *rg = gpiochip_get_data(gc); + unsigned long flags; + u32 rise, fall; + -+ rg = (struct ralink_gpio_chip *) d->domain->host_data; + rise = rt_gpio_r32(rg, GPIO_REG_RENA); + fall = rt_gpio_r32(rg, GPIO_REG_FENA); + @@ -176,11 +148,10 @@ Signed-off-by: John Crispin + +static int ralink_gpio_irq_type(struct irq_data *d, unsigned int type) +{ -+ struct ralink_gpio_chip *rg; ++ struct gpio_chip *gc = irq_data_get_irq_chip_data(d); ++ struct ralink_gpio_chip *rg = gpiochip_get_data(gc); + u32 mask = BIT(d->hwirq); + -+ rg = (struct ralink_gpio_chip *) d->domain->host_data; -+ + if (type == IRQ_TYPE_PROBE) { + if ((rg->rising | rg->falling) & mask) + return 0; @@ -202,55 +173,15 @@ Signed-off-by: John Crispin +} + +static struct irq_chip ralink_gpio_irq_chip = { -+ .name = "GPIO", ++ .name = "gpio-ralink", + .irq_unmask = ralink_gpio_irq_unmask, + .irq_mask = ralink_gpio_irq_mask, + .irq_mask_ack = ralink_gpio_irq_mask, + .irq_set_type = ralink_gpio_irq_type, ++ .flags = IRQCHIP_IMMUTABLE, ++ GPIOCHIP_IRQ_RESOURCE_HELPERS, +}; + -+static int gpio_map(struct irq_domain *d, unsigned int irq, irq_hw_number_t hw) -+{ -+ irq_set_chip_and_handler(irq, &ralink_gpio_irq_chip, handle_level_irq); -+ irq_set_handler_data(irq, d); -+ -+ return 0; -+} -+ -+static const struct irq_domain_ops irq_domain_ops = { -+ .xlate = irq_domain_xlate_onecell, -+ .map = gpio_map, -+}; -+ -+static void ralink_gpio_irq_init(struct device_node *np, -+ struct ralink_gpio_chip *rg) -+{ -+ if (irq_map_count >= MAP_MAX) -+ return; -+ -+ rg->irq = irq_of_parse_and_map(np, 0); -+ if (!rg->irq) -+ return; -+ -+ rg->domain = irq_domain_add_linear(np, rg->chip.ngpio, -+ &irq_domain_ops, rg); -+ if (!rg->domain) { -+ dev_err(rg->chip.parent, "irq_domain_add_linear failed\n"); -+ return; -+ } -+ -+ irq_map[irq_map_count++] = rg->domain; -+ -+ rt_gpio_w32(rg, GPIO_REG_RENA, 0x0); -+ rt_gpio_w32(rg, GPIO_REG_FENA, 0x0); -+ -+ if (!atomic_read(&irq_refcount)) -+ irq_set_chained_handler(rg->irq, ralink_gpio_irq_handler); -+ atomic_inc(&irq_refcount); -+ -+ dev_info(rg->chip.parent, "registering %d irq handlers\n", rg->chip.ngpio); -+} -+ +static int ralink_gpio_probe(struct platform_device *pdev) +{ + struct device *dev = &pdev->dev; @@ -282,14 +213,42 @@ Signed-off-by: John Crispin + NULL, 0); + if (ret) + return dev_err_probe(dev, ret, "bgpio_init() failed\n"); -+ rg->chip.request = gpiochip_generic_request; -+ rg->chip.to_irq = ralink_gpio_to_irq; -+ rg->chip.free = gpiochip_generic_free; + + /* set polarity to low for all lines */ + rt_gpio_w32(rg, GPIO_REG_POL, 0); + -+ ralink_gpio_irq_init(np, rg); ++ rg->gpio_irq = platform_get_irq(pdev, 0); ++ if (rg->gpio_irq < 0) ++ return rg->gpio_irq; ++ ++ if (rg->gpio_irq) { ++ struct gpio_irq_chip *girq; ++ ++ /* ++ * Directly request the irq here instead of passing ++ * a flow-handler because the irq is shared. ++ */ ++ ret = devm_request_irq(dev, rg->gpio_irq, ++ ralink_gpio_irq_handler, IRQF_SHARED, ++ NULL, &rg->chip); ++ if (ret) { ++ dev_err(dev, "Error requesting IRQ %d: %d\n", ++ rg->gpio_irq, ret); ++ return ret; ++ } ++ ++ girq = &rg->chip.irq; ++ gpio_irq_chip_set_chip(girq, &ralink_gpio_irq_chip); ++ /* This will let us handle the parent IRQ in the driver */ ++ girq->parent_handler = NULL; ++ girq->num_parents = 0; ++ girq->parents = NULL; ++ girq->default_type = IRQ_TYPE_NONE; ++ girq->handler = handle_simple_irq; ++ ++ rt_gpio_w32(rg, GPIO_REG_RENA, 0); ++ rt_gpio_w32(rg, GPIO_REG_FENA, 0); ++ } + + return devm_gpiochip_add_data(dev, &rg->chip, rg); +} @@ -303,8 +262,7 @@ Signed-off-by: John Crispin +static struct platform_driver ralink_gpio_driver = { + .probe = ralink_gpio_probe, + .driver = { -+ .name = "rt2880_gpio", -+ .owner = THIS_MODULE, ++ .name = "ralink_gpio", + .of_match_table = ralink_gpio_match, + }, +}; diff --git a/target/linux/ramips/patches-6.6/803-gpio-ralink-Add-support-for-GPIO-as-interrupt-contro.patch b/target/linux/ramips/patches-6.6/803-gpio-ralink-Add-support-for-GPIO-as-interrupt-contro.patch deleted file mode 100644 index 54dadc735dbc40..00000000000000 --- a/target/linux/ramips/patches-6.6/803-gpio-ralink-Add-support-for-GPIO-as-interrupt-contro.patch +++ /dev/null @@ -1,43 +0,0 @@ -From: Daniel Santos -Date: Sun, 4 Nov 2018 20:24:32 -0600 -Subject: [PATCH 3/3] gpio-ralink: Add support for GPIO as interrupt-controller - -Signed-off-by: Daniel Santos ---- - Documentation/devicetree/bindings/gpio/gpio-ralink.txt | 6 ++++++ - drivers/gpio/gpio-ralink.c | 2 +- - 2 files changed, 7 insertions(+), 1 deletion(-) - ---- a/Documentation/devicetree/bindings/gpio/gpio-ralink.txt -+++ b/Documentation/devicetree/bindings/gpio/gpio-ralink.txt -@@ -14,6 +14,9 @@ Required properties: - - ralink,register-map : The register layout depends on the GPIO bank and actual - SoC type. Register offsets need to be in this order. - [ INT, EDGE, RENA, FENA, DATA, DIR, POL, SET, RESET, TOGGLE ] -+- interrupt-controller : marks this as an interrupt controller -+- #interrupt-cells : a standard two-cell interrupt flag, see -+ interrupt-controller/interrupts.txt - - Example: - -@@ -25,6 +28,9 @@ Example: - - reg = <0x600 0x34>; - -+ interrupt-controller; -+ #interrupt-cells = <2>; -+ - interrupt-parent = <&intc>; - interrupts = <6>; - ---- a/drivers/gpio/gpio-ralink.c -+++ b/drivers/gpio/gpio-ralink.c -@@ -174,7 +174,7 @@ static int gpio_map(struct irq_domain *d - } - - static const struct irq_domain_ops irq_domain_ops = { -- .xlate = irq_domain_xlate_onecell, -+ .xlate = irq_domain_xlate_twocell, - .map = gpio_map, - }; - diff --git a/target/linux/ramips/rt288x/config-6.6 b/target/linux/ramips/rt288x/config-6.6 index 3a6657fdfe0422..986bd1ef3ef3e9 100644 --- a/target/linux/ramips/rt288x/config-6.6 +++ b/target/linux/ramips/rt288x/config-6.6 @@ -45,6 +45,7 @@ CONFIG_DTC=y CONFIG_EARLY_PRINTK=y CONFIG_EXCLUSIVE_SYSTEM_RAM=y CONFIG_FIXED_PHY=y +CONFIG_FORCE_NR_CPUS=y CONFIG_FS_IOMAP=y CONFIG_FUNCTION_ALIGNMENT=0 CONFIG_FWNODE_MDIO=y @@ -72,6 +73,7 @@ CONFIG_GENERIC_SCHED_CLOCK=y CONFIG_GENERIC_SMP_IDLE_THREAD=y CONFIG_GENERIC_TIME_VSYSCALL=y CONFIG_GLOB=y +CONFIG_GPIOLIB_IRQCHIP=y CONFIG_GPIO_CDEV=y CONFIG_GPIO_GENERIC=y CONFIG_GPIO_RALINK=y diff --git a/target/linux/ramips/rt305x/config-6.6 b/target/linux/ramips/rt305x/config-6.6 index 69070730ad6485..9b34b94cff6154 100644 --- a/target/linux/ramips/rt305x/config-6.6 +++ b/target/linux/ramips/rt305x/config-6.6 @@ -48,6 +48,7 @@ CONFIG_DTC=y CONFIG_EARLY_PRINTK=y CONFIG_EXCLUSIVE_SYSTEM_RAM=y CONFIG_FIXED_PHY=y +CONFIG_FORCE_NR_CPUS=y CONFIG_FS_IOMAP=y CONFIG_FUNCTION_ALIGNMENT=0 CONFIG_FWNODE_MDIO=y @@ -75,6 +76,7 @@ CONFIG_GENERIC_SCHED_CLOCK=y CONFIG_GENERIC_SMP_IDLE_THREAD=y CONFIG_GENERIC_TIME_VSYSCALL=y CONFIG_GLOB=y +CONFIG_GPIOLIB_IRQCHIP=y CONFIG_GPIO_CDEV=y CONFIG_GPIO_GENERIC=y CONFIG_GPIO_RALINK=y @@ -160,7 +162,6 @@ CONFIG_PINCTRL_RT305X=y CONFIG_PREEMPT_NONE_BUILD=y CONFIG_PTP_1588_CLOCK_OPTIONAL=y CONFIG_RALINK=y -# CONFIG_RALINK_GDMA is not set # CONFIG_RALINK_ILL_ACC is not set CONFIG_RALINK_WDT=y CONFIG_RANDSTRUCT_NONE=y diff --git a/target/linux/ramips/rt3883/config-6.6 b/target/linux/ramips/rt3883/config-6.6 index 55dd19406e53e8..7b3f6916ac2ce7 100644 --- a/target/linux/ramips/rt3883/config-6.6 +++ b/target/linux/ramips/rt3883/config-6.6 @@ -48,6 +48,7 @@ CONFIG_EARLY_PRINTK=y CONFIG_ETHERNET_PACKET_MANGLE=y CONFIG_EXCLUSIVE_SYSTEM_RAM=y CONFIG_FIXED_PHY=y +CONFIG_FORCE_NR_CPUS=y CONFIG_FS_IOMAP=y CONFIG_FUNCTION_ALIGNMENT=0 CONFIG_FWNODE_MDIO=y @@ -75,6 +76,7 @@ CONFIG_GENERIC_SCHED_CLOCK=y CONFIG_GENERIC_SMP_IDLE_THREAD=y CONFIG_GENERIC_TIME_VSYSCALL=y CONFIG_GLOB=y +CONFIG_GPIOLIB_IRQCHIP=y CONFIG_GPIO_CDEV=y CONFIG_GPIO_GENERIC=y CONFIG_GPIO_RALINK=y @@ -160,7 +162,6 @@ CONFIG_PINCTRL_RT3883=y CONFIG_PREEMPT_NONE_BUILD=y CONFIG_PTP_1588_CLOCK_OPTIONAL=y CONFIG_RALINK=y -# CONFIG_RALINK_GDMA is not set CONFIG_RALINK_WDT=y CONFIG_RANDSTRUCT_NONE=y CONFIG_RATIONAL=y From 0d4616b838ab01c267701b3288e55e5a4d649601 Mon Sep 17 00:00:00 2001 From: Shiji Yang Date: Wed, 23 Oct 2024 23:09:57 +0800 Subject: [PATCH 08/12] ramips: dts: add the missing interrupt properties for GPIO nodes The Ralink GPIO driver supports irqchip function. Hence we need to add "interrupt-parent" and "interrupt-controller" properties to make sure it works properly. It is worth noting that all GPIO devices share the same interrupt line. Signed-off-by: Shiji Yang Link: https://github.com/openwrt/openwrt/pull/16764 Signed-off-by: Robert Marko --- target/linux/ramips/dts/mt7620a.dtsi | 8 ++++++++ target/linux/ramips/dts/mt7620n.dtsi | 8 ++++++++ target/linux/ramips/dts/rt2880.dtsi | 15 +++++++++++++++ target/linux/ramips/dts/rt3050.dtsi | 18 +++++++++++++++--- target/linux/ramips/dts/rt3352.dtsi | 18 +++++++++++++++--- target/linux/ramips/dts/rt3883.dtsi | 23 ++++++++++++++++++++--- target/linux/ramips/dts/rt5350.dtsi | 4 ++++ 7 files changed, 85 insertions(+), 9 deletions(-) diff --git a/target/linux/ramips/dts/mt7620a.dtsi b/target/linux/ramips/dts/mt7620a.dtsi index 0e925b4dcce1b0..bcc7f4be3fa967 100644 --- a/target/linux/ramips/dts/mt7620a.dtsi +++ b/target/linux/ramips/dts/mt7620a.dtsi @@ -140,6 +140,8 @@ interrupt-parent = <&intc>; interrupts = <6>; + interrupt-controller; + #interrupt-cells = <2>; gpio-controller; #gpio-cells = <2>; @@ -156,6 +158,8 @@ interrupt-parent = <&intc>; interrupts = <6>; + interrupt-controller; + #interrupt-cells = <2>; gpio-controller; #gpio-cells = <2>; @@ -174,6 +178,8 @@ interrupt-parent = <&intc>; interrupts = <6>; + interrupt-controller; + #interrupt-cells = <2>; gpio-controller; #gpio-cells = <2>; @@ -192,6 +198,8 @@ interrupt-parent = <&intc>; interrupts = <6>; + interrupt-controller; + #interrupt-cells = <2>; gpio-controller; #gpio-cells = <2>; diff --git a/target/linux/ramips/dts/mt7620n.dtsi b/target/linux/ramips/dts/mt7620n.dtsi index eafa7c16bb17bb..b284119961418a 100644 --- a/target/linux/ramips/dts/mt7620n.dtsi +++ b/target/linux/ramips/dts/mt7620n.dtsi @@ -95,6 +95,8 @@ interrupt-parent = <&intc>; interrupts = <6>; + interrupt-controller; + #interrupt-cells = <2>; gpio-controller; #gpio-cells = <2>; @@ -111,6 +113,8 @@ interrupt-parent = <&intc>; interrupts = <6>; + interrupt-controller; + #interrupt-cells = <2>; gpio-controller; #gpio-cells = <2>; @@ -129,6 +133,8 @@ interrupt-parent = <&intc>; interrupts = <6>; + interrupt-controller; + #interrupt-cells = <2>; gpio-controller; #gpio-cells = <2>; @@ -147,6 +153,8 @@ interrupt-parent = <&intc>; interrupts = <6>; + interrupt-controller; + #interrupt-cells = <2>; gpio-controller; #gpio-cells = <2>; diff --git a/target/linux/ramips/dts/rt2880.dtsi b/target/linux/ramips/dts/rt2880.dtsi index 15f5eac625a2af..fc289d5779c8bc 100644 --- a/target/linux/ramips/dts/rt2880.dtsi +++ b/target/linux/ramips/dts/rt2880.dtsi @@ -87,6 +87,11 @@ gpio-controller; #gpio-cells = <2>; + interrupt-parent = <&intc>; + interrupts = <6>; + interrupt-controller; + #interrupt-cells = <2>; + ngpios = <24>; ralink,register-map = [ 00 04 08 0c 20 24 28 2c @@ -100,6 +105,11 @@ gpio-controller; #gpio-cells = <2>; + interrupt-parent = <&intc>; + interrupts = <6>; + interrupt-controller; + #interrupt-cells = <2>; + ngpios = <16>; ralink,register-map = [ 00 04 08 0c 10 14 18 1c @@ -115,6 +125,11 @@ gpio-controller; #gpio-cells = <2>; + interrupt-parent = <&intc>; + interrupts = <6>; + interrupt-controller; + #interrupt-cells = <2>; + ngpios = <32>; ralink,register-map = [ 00 04 08 0c 10 14 18 1c diff --git a/target/linux/ramips/dts/rt3050.dtsi b/target/linux/ramips/dts/rt3050.dtsi index 886f6b7de13125..8a2304f7b969cf 100644 --- a/target/linux/ramips/dts/rt3050.dtsi +++ b/target/linux/ramips/dts/rt3050.dtsi @@ -111,13 +111,15 @@ gpio-controller; #gpio-cells = <2>; + interrupt-parent = <&intc>; + interrupts = <6>; + interrupt-controller; + #interrupt-cells = <2>; + ngpios = <24>; ralink,register-map = [ 00 04 08 0c 20 24 28 2c 30 34 ]; - - interrupt-parent = <&intc>; - interrupts = <6>; }; gpio1: gpio@638 { @@ -127,6 +129,11 @@ gpio-controller; #gpio-cells = <2>; + interrupt-parent = <&intc>; + interrupts = <6>; + interrupt-controller; + #interrupt-cells = <2>; + ngpios = <16>; ralink,register-map = [ 00 04 08 0c 10 14 18 1c @@ -142,6 +149,11 @@ gpio-controller; #gpio-cells = <2>; + interrupt-parent = <&intc>; + interrupts = <6>; + interrupt-controller; + #interrupt-cells = <2>; + ngpios = <12>; ralink,register-map = [ 00 04 08 0c 10 14 18 1c diff --git a/target/linux/ramips/dts/rt3352.dtsi b/target/linux/ramips/dts/rt3352.dtsi index ceef29259c5f44..6713a04fcc8afe 100644 --- a/target/linux/ramips/dts/rt3352.dtsi +++ b/target/linux/ramips/dts/rt3352.dtsi @@ -112,13 +112,15 @@ gpio-controller; #gpio-cells = <2>; + interrupt-parent = <&intc>; + interrupts = <6>; + interrupt-controller; + #interrupt-cells = <2>; + ngpios = <24>; ralink,register-map = [ 00 04 08 0c 20 24 28 2c 30 34 ]; - - interrupt-parent = <&intc>; - interrupts = <6>; }; gpio1: gpio@638 { @@ -128,6 +130,11 @@ gpio-controller; #gpio-cells = <2>; + interrupt-parent = <&intc>; + interrupts = <6>; + interrupt-controller; + #interrupt-cells = <2>; + ngpios = <16>; ralink,register-map = [ 00 04 08 0c 10 14 18 1c @@ -143,6 +150,11 @@ gpio-controller; #gpio-cells = <2>; + interrupt-parent = <&intc>; + interrupts = <6>; + interrupt-controller; + #interrupt-cells = <2>; + ngpios = <6>; ralink,register-map = [ 00 04 08 0c 10 14 18 1c diff --git a/target/linux/ramips/dts/rt3883.dtsi b/target/linux/ramips/dts/rt3883.dtsi index 30c09167855f88..509d1c21e84d36 100644 --- a/target/linux/ramips/dts/rt3883.dtsi +++ b/target/linux/ramips/dts/rt3883.dtsi @@ -109,12 +109,14 @@ compatible = "ralink,rt2880-gpio"; reg = <0x600 0x34>; - interrupt-parent = <&intc>; - interrupts = <6>; - gpio-controller; #gpio-cells = <2>; + interrupt-parent = <&intc>; + interrupts = <6>; + interrupt-controller; + #interrupt-cells = <2>; + ngpios = <24>; ralink,register-map = [ 00 04 08 0c 20 24 28 2c @@ -128,6 +130,11 @@ gpio-controller; #gpio-cells = <2>; + interrupt-parent = <&intc>; + interrupts = <6>; + interrupt-controller; + #interrupt-cells = <2>; + ngpios = <16>; ralink,register-map = [ 00 04 08 0c 10 14 18 1c @@ -143,6 +150,11 @@ gpio-controller; #gpio-cells = <2>; + interrupt-parent = <&intc>; + interrupts = <6>; + interrupt-controller; + #interrupt-cells = <2>; + ngpios = <32>; ralink,register-map = [ 00 04 08 0c 10 14 18 1c @@ -158,6 +170,11 @@ gpio-controller; #gpio-cells = <2>; + interrupt-parent = <&intc>; + interrupts = <6>; + interrupt-controller; + #interrupt-cells = <2>; + ngpios = <24>; ralink,register-map = [ 00 04 08 0c 10 14 18 1c diff --git a/target/linux/ramips/dts/rt5350.dtsi b/target/linux/ramips/dts/rt5350.dtsi index cb6f3ff232eb04..677931ec146fad 100644 --- a/target/linux/ramips/dts/rt5350.dtsi +++ b/target/linux/ramips/dts/rt5350.dtsi @@ -111,6 +111,8 @@ interrupt-parent = <&intc>; interrupts = <6>; + interrupt-controller; + #interrupt-cells = <2>; gpio-controller; #gpio-cells = <2>; @@ -127,6 +129,8 @@ interrupt-parent = <&intc>; interrupts = <6>; + interrupt-controller; + #interrupt-cells = <2>; gpio-controller; #gpio-cells = <2>; From 7cc53ef09b9b22e5cfa73a900544ef87b5bbbb8a Mon Sep 17 00:00:00 2001 From: Shiji Yang Date: Thu, 24 Oct 2024 00:07:53 +0800 Subject: [PATCH 09/12] ramips: mt76x8: convert Minew G1-C to interrupt-driven gpio-keys All other MT76x8 devices have already been migrated to gpio-keys. Signed-off-by: Shiji Yang Link: https://github.com/openwrt/openwrt/pull/16764 Signed-off-by: Robert Marko --- target/linux/ramips/dts/mt7628an_minew_g1-c.dts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/target/linux/ramips/dts/mt7628an_minew_g1-c.dts b/target/linux/ramips/dts/mt7628an_minew_g1-c.dts index 603bc09fa6ee6c..2ee0618a532f64 100644 --- a/target/linux/ramips/dts/mt7628an_minew_g1-c.dts +++ b/target/linux/ramips/dts/mt7628an_minew_g1-c.dts @@ -17,8 +17,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; From a3819e23bed714917d2f2e24b8be71b635d4207c Mon Sep 17 00:00:00 2001 From: Shiji Yang Date: Thu, 24 Oct 2024 00:08:25 +0800 Subject: [PATCH 10/12] ramips: rt2880: convert devices to interrupt-driven gpio-keys This converts all RT2880 devices to use interrupt based gpio-keys instead of gpio-keys-polled. The poll-interval will be removed. Signed-off-by: Shiji Yang Link: https://github.com/openwrt/openwrt/pull/16764 Signed-off-by: Robert Marko --- target/linux/ramips/dts/rt2880_airlink101_ar670w.dts | 3 +-- target/linux/ramips/dts/rt2880_airlink101_ar725w.dts | 3 +-- target/linux/ramips/dts/rt2880_asus_rt-n15.dts | 3 +-- target/linux/ramips/dts/rt2880_belkin_f5d8235-v1.dts | 3 +-- target/linux/ramips/dts/rt2880_buffalo_wli-tx4-ag300n.dts | 3 +-- target/linux/ramips/dts/rt2880_buffalo_wzr-agl300nh.dts | 3 +-- target/linux/ramips/dts/rt2880_dlink_dap-1522-a1.dts | 3 +-- target/linux/ramips/dts/rt2880_ralink_v11st-fe.dts | 3 +-- 8 files changed, 8 insertions(+), 16 deletions(-) diff --git a/target/linux/ramips/dts/rt2880_airlink101_ar670w.dts b/target/linux/ramips/dts/rt2880_airlink101_ar670w.dts index 7ff3b370b55c93..a1f5e74d091e67 100644 --- a/target/linux/ramips/dts/rt2880_airlink101_ar670w.dts +++ b/target/linux/ramips/dts/rt2880_airlink101_ar670w.dts @@ -76,8 +76,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <100>; + compatible = "gpio-keys"; wps { label = "wps"; diff --git a/target/linux/ramips/dts/rt2880_airlink101_ar725w.dts b/target/linux/ramips/dts/rt2880_airlink101_ar725w.dts index 95a4b495eba684..056011dbe89945 100644 --- a/target/linux/ramips/dts/rt2880_airlink101_ar725w.dts +++ b/target/linux/ramips/dts/rt2880_airlink101_ar725w.dts @@ -87,8 +87,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <100>; + compatible = "gpio-keys"; wps { label = "wps"; diff --git a/target/linux/ramips/dts/rt2880_asus_rt-n15.dts b/target/linux/ramips/dts/rt2880_asus_rt-n15.dts index 3e34f891653494..7306c458ff2947 100644 --- a/target/linux/ramips/dts/rt2880_asus_rt-n15.dts +++ b/target/linux/ramips/dts/rt2880_asus_rt-n15.dts @@ -75,8 +75,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <100>; + compatible = "gpio-keys"; wps { label = "wps"; diff --git a/target/linux/ramips/dts/rt2880_belkin_f5d8235-v1.dts b/target/linux/ramips/dts/rt2880_belkin_f5d8235-v1.dts index 86e4964a99dd95..014dca2c486103 100644 --- a/target/linux/ramips/dts/rt2880_belkin_f5d8235-v1.dts +++ b/target/linux/ramips/dts/rt2880_belkin_f5d8235-v1.dts @@ -113,8 +113,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <100>; + compatible = "gpio-keys"; wps { label = "wps"; diff --git a/target/linux/ramips/dts/rt2880_buffalo_wli-tx4-ag300n.dts b/target/linux/ramips/dts/rt2880_buffalo_wli-tx4-ag300n.dts index b89e0865841de2..203023f186144d 100644 --- a/target/linux/ramips/dts/rt2880_buffalo_wli-tx4-ag300n.dts +++ b/target/linux/ramips/dts/rt2880_buffalo_wli-tx4-ag300n.dts @@ -69,8 +69,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <100>; + compatible = "gpio-keys"; wps { label = "wps"; diff --git a/target/linux/ramips/dts/rt2880_buffalo_wzr-agl300nh.dts b/target/linux/ramips/dts/rt2880_buffalo_wzr-agl300nh.dts index e86486dce65fdf..dee4c6b981f0fb 100644 --- a/target/linux/ramips/dts/rt2880_buffalo_wzr-agl300nh.dts +++ b/target/linux/ramips/dts/rt2880_buffalo_wzr-agl300nh.dts @@ -74,8 +74,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <100>; + compatible = "gpio-keys"; wps { label = "wps"; diff --git a/target/linux/ramips/dts/rt2880_dlink_dap-1522-a1.dts b/target/linux/ramips/dts/rt2880_dlink_dap-1522-a1.dts index 3fdbdf681eacfc..05f6edce2abef5 100644 --- a/target/linux/ramips/dts/rt2880_dlink_dap-1522-a1.dts +++ b/target/linux/ramips/dts/rt2880_dlink_dap-1522-a1.dts @@ -67,8 +67,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <100>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt2880_ralink_v11st-fe.dts b/target/linux/ramips/dts/rt2880_ralink_v11st-fe.dts index 695db15a550045..d93479e07ead2b 100644 --- a/target/linux/ramips/dts/rt2880_ralink_v11st-fe.dts +++ b/target/linux/ramips/dts/rt2880_ralink_v11st-fe.dts @@ -62,8 +62,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <100>; + compatible = "gpio-keys"; wps { label = "wps"; From 0bcb64041af1a37231df1fc2742da52600ea704f Mon Sep 17 00:00:00 2001 From: Shiji Yang Date: Thu, 24 Oct 2024 00:09:19 +0800 Subject: [PATCH 11/12] ramips: rt305x: convert devices to interrupt-driven gpio-keys This converts all RT305x and RT5350 devices to use interrupt based gpio-keys instead of gpio-keys-polled. The poll-interval will be removed. Signed-off-by: Shiji Yang Link: https://github.com/openwrt/openwrt/pull/16764 Signed-off-by: Robert Marko --- target/linux/ramips/dts/rt3050_allnet_all0256n.dtsi | 3 +-- target/linux/ramips/dts/rt3050_alphanetworks_asl26555.dtsi | 3 +-- target/linux/ramips/dts/rt3050_asus_rt-g32-b1.dts | 3 +-- target/linux/ramips/dts/rt3050_asus_rt-n10-plus.dts | 3 +-- target/linux/ramips/dts/rt3050_asus_wl-330n.dts | 3 +-- target/linux/ramips/dts/rt3050_asus_wl-330n3g.dts | 3 +-- target/linux/ramips/dts/rt3050_dlink_dcs-930.dts | 3 +-- target/linux/ramips/dts/rt3050_dlink_dir-300-b1.dts | 3 +-- target/linux/ramips/dts/rt3050_dlink_dir-600-b1.dts | 3 +-- target/linux/ramips/dts/rt3050_dlink_dir-615-d.dts | 3 +-- target/linux/ramips/dts/rt3050_dlink_dir-620-a1.dts | 3 +-- target/linux/ramips/dts/rt3050_edimax_3g-6200n.dts | 3 +-- target/linux/ramips/dts/rt3050_edimax_3g-6200nl.dts | 3 +-- target/linux/ramips/dts/rt3050_huawei_d105.dts | 3 +-- target/linux/ramips/dts/rt3050_jcg_jhr-n805r.dts | 3 +-- target/linux/ramips/dts/rt3050_netcore_nw718.dts | 3 +-- target/linux/ramips/dts/rt3050_sparklan_wcr-150gn.dts | 3 +-- target/linux/ramips/dts/rt3050_teltonika_rut5xx.dts | 3 +-- target/linux/ramips/dts/rt3050_tenda_w150m.dts | 3 +-- target/linux/ramips/dts/rt3050_trendnet_tew-638apb-v2.dts | 3 +-- target/linux/ramips/dts/rt3052_accton_wr6202.dts | 3 +-- target/linux/ramips/dts/rt3052_alfa-network_w502u.dts | 3 +-- target/linux/ramips/dts/rt3052_argus_atp-52b.dts | 3 +-- target/linux/ramips/dts/rt3052_asiarf_awapn2403.dts | 3 +-- target/linux/ramips/dts/rt3052_asus_rt-n13u.dts | 3 +-- target/linux/ramips/dts/rt3052_aximcom_mr-102n.dts | 3 +-- target/linux/ramips/dts/rt3052_aztech_hw550-3g.dts | 3 +-- target/linux/ramips/dts/rt3052_buffalo_whr-g300n.dts | 3 +-- target/linux/ramips/dts/rt3052_dlink_dap-1350.dts | 3 +-- target/linux/ramips/dts/rt3052_engenius_esr-9753.dts | 3 +-- target/linux/ramips/dts/rt3052_fon_fonera-20n.dts | 3 +-- target/linux/ramips/dts/rt3052_hauppauge_broadway.dts | 3 +-- target/linux/ramips/dts/rt3052_huawei_hg255d.dts | 3 +-- target/linux/ramips/dts/rt3052_jcg_jhr-n825r.dts | 3 +-- target/linux/ramips/dts/rt3052_jcg_jhr-n926r.dts | 3 +-- target/linux/ramips/dts/rt3052_mofinetwork_mofi3500-3gn.dts | 3 +-- target/linux/ramips/dts/rt3052_netgear_wnce2001.dts | 3 +-- target/linux/ramips/dts/rt3052_nexaira_bc2.dts | 3 +-- target/linux/ramips/dts/rt3052_omnima_miniembwifi.dts | 3 +-- target/linux/ramips/dts/rt3052_petatel_psr-680w.dts | 3 +-- target/linux/ramips/dts/rt3052_planex_mzk-w300nh2.dts | 3 +-- target/linux/ramips/dts/rt3052_poray_ip2202.dts | 3 +-- target/linux/ramips/dts/rt3052_prolink_pwh2004.dts | 3 +-- target/linux/ramips/dts/rt3052_ralink_v22rw-2x2.dts | 3 +-- target/linux/ramips/dts/rt3052_sitecom_wl-351.dts | 3 +-- target/linux/ramips/dts/rt3052_skyline_sl-r7205.dts | 3 +-- target/linux/ramips/dts/rt3052_tenda_3g300m.dts | 3 +-- target/linux/ramips/dts/rt3052_tenda_w306r-v2.dts | 3 +-- target/linux/ramips/dts/rt3052_unbranded_wr512-3gn.dtsi | 3 +-- target/linux/ramips/dts/rt3052_unbranded_xdx-rn502j.dts | 3 +-- target/linux/ramips/dts/rt3052_upvel_ur-326n4g.dts | 3 +-- target/linux/ramips/dts/rt3052_upvel_ur-336un.dts | 3 +-- target/linux/ramips/dts/rt3052_zyxel_keenetic.dts | 3 +-- target/linux/ramips/dts/rt3052_zyxel_nbg-419n.dts | 3 +-- target/linux/ramips/dts/rt3352_dlink_dir-615-h1.dts | 3 +-- target/linux/ramips/dts/rt3352_dlink_dir-620-d1.dts | 3 +-- target/linux/ramips/dts/rt3352_zte_mf283plus.dts | 3 +-- target/linux/ramips/dts/rt3352_zyxel_nbg-419n-v2.dts | 3 +-- target/linux/ramips/dts/rt5350_7links_px-4885.dtsi | 3 +-- target/linux/ramips/dts/rt5350_airlive_air3gii.dts | 3 +-- target/linux/ramips/dts/rt5350_asiarf_awm002-evb.dtsi | 3 +-- target/linux/ramips/dts/rt5350_belkin_f7c027.dts | 3 +-- target/linux/ramips/dts/rt5350_dlink_dcs-930l-b1.dts | 3 +-- target/linux/ramips/dts/rt5350_dlink_dir-300-b7.dts | 3 +-- target/linux/ramips/dts/rt5350_dlink_dir-320-b1.dts | 3 +-- target/linux/ramips/dts/rt5350_dlink_dir-610-a1.dts | 3 +-- target/linux/ramips/dts/rt5350_dlink_dwr-512-b.dts | 3 +-- target/linux/ramips/dts/rt5350_hame_mpr-a1.dts | 3 +-- target/linux/ramips/dts/rt5350_hame_mpr-a2.dts | 3 +-- target/linux/ramips/dts/rt5350_hilink_hlk-rm04.dts | 3 +-- target/linux/ramips/dts/rt5350_hootoo_ht-tm02.dts | 3 +-- target/linux/ramips/dts/rt5350_intenso_memory2move.dts | 3 +-- target/linux/ramips/dts/rt5350_nexx_wt1520.dtsi | 3 +-- target/linux/ramips/dts/rt5350_omnima_miniembplug.dts | 3 +-- target/linux/ramips/dts/rt5350_planex_mzk-dp150n.dts | 3 +-- target/linux/ramips/dts/rt5350_poray_m3.dts | 3 +-- target/linux/ramips/dts/rt5350_poray_m4.dtsi | 3 +-- target/linux/ramips/dts/rt5350_poray_x5.dts | 3 +-- target/linux/ramips/dts/rt5350_poray_x8.dts | 3 +-- target/linux/ramips/dts/rt5350_tenda_3g150b.dts | 3 +-- target/linux/ramips/dts/rt5350_trendnet_tew-714tru.dts | 3 +-- target/linux/ramips/dts/rt5350_unbranded_a5-v11.dts | 3 +-- target/linux/ramips/dts/rt5350_wiznet_wizfi630a.dts | 3 +-- target/linux/ramips/dts/rt5350_zorlik_zl5900v2.dts | 3 +-- target/linux/ramips/dts/rt5350_zyxel_keenetic-start.dts | 3 +-- 85 files changed, 85 insertions(+), 170 deletions(-) diff --git a/target/linux/ramips/dts/rt3050_allnet_all0256n.dtsi b/target/linux/ramips/dts/rt3050_allnet_all0256n.dtsi index 3be20dd2f4ddff..1183cade6a6220 100644 --- a/target/linux/ramips/dts/rt3050_allnet_all0256n.dtsi +++ b/target/linux/ramips/dts/rt3050_allnet_all0256n.dtsi @@ -26,8 +26,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3050_alphanetworks_asl26555.dtsi b/target/linux/ramips/dts/rt3050_alphanetworks_asl26555.dtsi index 74e3edd4edcebc..a987ee49b6670b 100644 --- a/target/linux/ramips/dts/rt3050_alphanetworks_asl26555.dtsi +++ b/target/linux/ramips/dts/rt3050_alphanetworks_asl26555.dtsi @@ -15,8 +15,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3050_asus_rt-g32-b1.dts b/target/linux/ramips/dts/rt3050_asus_rt-g32-b1.dts index 5d980ebf8a58b1..22138a47c32eef 100644 --- a/target/linux/ramips/dts/rt3050_asus_rt-g32-b1.dts +++ b/target/linux/ramips/dts/rt3050_asus_rt-g32-b1.dts @@ -8,8 +8,7 @@ model = "Asus RT-G32 B1"; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3050_asus_rt-n10-plus.dts b/target/linux/ramips/dts/rt3050_asus_rt-n10-plus.dts index 85414a284ebf65..96f82a17a62617 100644 --- a/target/linux/ramips/dts/rt3050_asus_rt-n10-plus.dts +++ b/target/linux/ramips/dts/rt3050_asus_rt-n10-plus.dts @@ -77,8 +77,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3050_asus_wl-330n.dts b/target/linux/ramips/dts/rt3050_asus_wl-330n.dts index e9349f6a39ea3b..1263f588a05a41 100644 --- a/target/linux/ramips/dts/rt3050_asus_wl-330n.dts +++ b/target/linux/ramips/dts/rt3050_asus_wl-330n.dts @@ -31,8 +31,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3050_asus_wl-330n3g.dts b/target/linux/ramips/dts/rt3050_asus_wl-330n3g.dts index eb47913fb25488..6461e709ebc434 100644 --- a/target/linux/ramips/dts/rt3050_asus_wl-330n3g.dts +++ b/target/linux/ramips/dts/rt3050_asus_wl-330n3g.dts @@ -36,8 +36,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3050_dlink_dcs-930.dts b/target/linux/ramips/dts/rt3050_dlink_dcs-930.dts index 32ecbb47b8619b..eb1c0526653bb4 100644 --- a/target/linux/ramips/dts/rt3050_dlink_dcs-930.dts +++ b/target/linux/ramips/dts/rt3050_dlink_dcs-930.dts @@ -88,8 +88,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; wps { label = "wps"; diff --git a/target/linux/ramips/dts/rt3050_dlink_dir-300-b1.dts b/target/linux/ramips/dts/rt3050_dlink_dir-300-b1.dts index 47264478b243fa..c538afe67607e8 100644 --- a/target/linux/ramips/dts/rt3050_dlink_dir-300-b1.dts +++ b/target/linux/ramips/dts/rt3050_dlink_dir-300-b1.dts @@ -67,8 +67,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3050_dlink_dir-600-b1.dts b/target/linux/ramips/dts/rt3050_dlink_dir-600-b1.dts index 13badc71391c77..ce7f182aa56eae 100644 --- a/target/linux/ramips/dts/rt3050_dlink_dir-600-b1.dts +++ b/target/linux/ramips/dts/rt3050_dlink_dir-600-b1.dts @@ -67,8 +67,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3050_dlink_dir-615-d.dts b/target/linux/ramips/dts/rt3050_dlink_dir-615-d.dts index 4df6d442196d55..92cd28b784320d 100644 --- a/target/linux/ramips/dts/rt3050_dlink_dir-615-d.dts +++ b/target/linux/ramips/dts/rt3050_dlink_dir-615-d.dts @@ -64,8 +64,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3050_dlink_dir-620-a1.dts b/target/linux/ramips/dts/rt3050_dlink_dir-620-a1.dts index f159580972a0e2..13e5d640a8adbb 100644 --- a/target/linux/ramips/dts/rt3050_dlink_dir-620-a1.dts +++ b/target/linux/ramips/dts/rt3050_dlink_dir-620-a1.dts @@ -67,8 +67,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3050_edimax_3g-6200n.dts b/target/linux/ramips/dts/rt3050_edimax_3g-6200n.dts index 128f84de1ffc4e..56ef8b7e6dd999 100644 --- a/target/linux/ramips/dts/rt3050_edimax_3g-6200n.dts +++ b/target/linux/ramips/dts/rt3050_edimax_3g-6200n.dts @@ -99,8 +99,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3050_edimax_3g-6200nl.dts b/target/linux/ramips/dts/rt3050_edimax_3g-6200nl.dts index 5277f9b5237573..448c18ccd5560b 100644 --- a/target/linux/ramips/dts/rt3050_edimax_3g-6200nl.dts +++ b/target/linux/ramips/dts/rt3050_edimax_3g-6200nl.dts @@ -91,8 +91,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3050_huawei_d105.dts b/target/linux/ramips/dts/rt3050_huawei_d105.dts index 6a26e0d513cf8c..948cf84a793ffe 100644 --- a/target/linux/ramips/dts/rt3050_huawei_d105.dts +++ b/target/linux/ramips/dts/rt3050_huawei_d105.dts @@ -85,8 +85,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3050_jcg_jhr-n805r.dts b/target/linux/ramips/dts/rt3050_jcg_jhr-n805r.dts index 3c54a38f28cf86..96adde07ed2d4c 100644 --- a/target/linux/ramips/dts/rt3050_jcg_jhr-n805r.dts +++ b/target/linux/ramips/dts/rt3050_jcg_jhr-n805r.dts @@ -24,8 +24,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3050_netcore_nw718.dts b/target/linux/ramips/dts/rt3050_netcore_nw718.dts index 83b79d5e77b3a3..3af5f62e0ac253 100644 --- a/target/linux/ramips/dts/rt3050_netcore_nw718.dts +++ b/target/linux/ramips/dts/rt3050_netcore_nw718.dts @@ -40,8 +40,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3050_sparklan_wcr-150gn.dts b/target/linux/ramips/dts/rt3050_sparklan_wcr-150gn.dts index 4b4c5e18ee07ce..5428f791cfca3f 100644 --- a/target/linux/ramips/dts/rt3050_sparklan_wcr-150gn.dts +++ b/target/linux/ramips/dts/rt3050_sparklan_wcr-150gn.dts @@ -84,8 +84,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; wps { label = "wps"; diff --git a/target/linux/ramips/dts/rt3050_teltonika_rut5xx.dts b/target/linux/ramips/dts/rt3050_teltonika_rut5xx.dts index 691e5d621d31cb..2f7e195554cae1 100644 --- a/target/linux/ramips/dts/rt3050_teltonika_rut5xx.dts +++ b/target/linux/ramips/dts/rt3050_teltonika_rut5xx.dts @@ -26,8 +26,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3050_tenda_w150m.dts b/target/linux/ramips/dts/rt3050_tenda_w150m.dts index f76661b500184c..8ebfb4f1a07491 100644 --- a/target/linux/ramips/dts/rt3050_tenda_w150m.dts +++ b/target/linux/ramips/dts/rt3050_tenda_w150m.dts @@ -100,8 +100,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3050_trendnet_tew-638apb-v2.dts b/target/linux/ramips/dts/rt3050_trendnet_tew-638apb-v2.dts index 990c3eb4cea6ce..9f72ddd7c1acd7 100644 --- a/target/linux/ramips/dts/rt3050_trendnet_tew-638apb-v2.dts +++ b/target/linux/ramips/dts/rt3050_trendnet_tew-638apb-v2.dts @@ -67,8 +67,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3052_accton_wr6202.dts b/target/linux/ramips/dts/rt3052_accton_wr6202.dts index f3a31ad6ca24e4..685f5961774269 100644 --- a/target/linux/ramips/dts/rt3052_accton_wr6202.dts +++ b/target/linux/ramips/dts/rt3052_accton_wr6202.dts @@ -28,8 +28,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3052_alfa-network_w502u.dts b/target/linux/ramips/dts/rt3052_alfa-network_w502u.dts index 609fd9b2f44f3e..71493faa55d3f7 100644 --- a/target/linux/ramips/dts/rt3052_alfa-network_w502u.dts +++ b/target/linux/ramips/dts/rt3052_alfa-network_w502u.dts @@ -89,8 +89,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3052_argus_atp-52b.dts b/target/linux/ramips/dts/rt3052_argus_atp-52b.dts index 5cee0dfcfd7204..01ca2a1c725d4b 100644 --- a/target/linux/ramips/dts/rt3052_argus_atp-52b.dts +++ b/target/linux/ramips/dts/rt3052_argus_atp-52b.dts @@ -78,8 +78,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; wps { label = "wps"; diff --git a/target/linux/ramips/dts/rt3052_asiarf_awapn2403.dts b/target/linux/ramips/dts/rt3052_asiarf_awapn2403.dts index ec794b8eab4caa..107cbf180410e3 100644 --- a/target/linux/ramips/dts/rt3052_asiarf_awapn2403.dts +++ b/target/linux/ramips/dts/rt3052_asiarf_awapn2403.dts @@ -26,8 +26,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3052_asus_rt-n13u.dts b/target/linux/ramips/dts/rt3052_asus_rt-n13u.dts index 4f0d9e620773ce..bcd05e3f19644f 100644 --- a/target/linux/ramips/dts/rt3052_asus_rt-n13u.dts +++ b/target/linux/ramips/dts/rt3052_asus_rt-n13u.dts @@ -82,8 +82,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <10>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3052_aximcom_mr-102n.dts b/target/linux/ramips/dts/rt3052_aximcom_mr-102n.dts index f0d4122517c292..60164724bd29e9 100644 --- a/target/linux/ramips/dts/rt3052_aximcom_mr-102n.dts +++ b/target/linux/ramips/dts/rt3052_aximcom_mr-102n.dts @@ -101,8 +101,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3052_aztech_hw550-3g.dts b/target/linux/ramips/dts/rt3052_aztech_hw550-3g.dts index 8f9a62bba2a4b7..b75ecb0495871f 100644 --- a/target/linux/ramips/dts/rt3052_aztech_hw550-3g.dts +++ b/target/linux/ramips/dts/rt3052_aztech_hw550-3g.dts @@ -96,8 +96,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3052_buffalo_whr-g300n.dts b/target/linux/ramips/dts/rt3052_buffalo_whr-g300n.dts index c7d4b626951175..811db0b1c15966 100644 --- a/target/linux/ramips/dts/rt3052_buffalo_whr-g300n.dts +++ b/target/linux/ramips/dts/rt3052_buffalo_whr-g300n.dts @@ -90,8 +90,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3052_dlink_dap-1350.dts b/target/linux/ramips/dts/rt3052_dlink_dap-1350.dts index 581da5acbb8b69..b4c2adbe03608e 100644 --- a/target/linux/ramips/dts/rt3052_dlink_dap-1350.dts +++ b/target/linux/ramips/dts/rt3052_dlink_dap-1350.dts @@ -99,8 +99,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3052_engenius_esr-9753.dts b/target/linux/ramips/dts/rt3052_engenius_esr-9753.dts index 8f040bf893d12b..653b3d55902ec5 100644 --- a/target/linux/ramips/dts/rt3052_engenius_esr-9753.dts +++ b/target/linux/ramips/dts/rt3052_engenius_esr-9753.dts @@ -83,8 +83,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3052_fon_fonera-20n.dts b/target/linux/ramips/dts/rt3052_fon_fonera-20n.dts index 8f612fbc1c310e..7b7546a9972c05 100644 --- a/target/linux/ramips/dts/rt3052_fon_fonera-20n.dts +++ b/target/linux/ramips/dts/rt3052_fon_fonera-20n.dts @@ -90,8 +90,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3052_hauppauge_broadway.dts b/target/linux/ramips/dts/rt3052_hauppauge_broadway.dts index 698d8fbc1eb534..da800105260772 100644 --- a/target/linux/ramips/dts/rt3052_hauppauge_broadway.dts +++ b/target/linux/ramips/dts/rt3052_hauppauge_broadway.dts @@ -75,8 +75,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; factory { label = "Factory Reset button"; diff --git a/target/linux/ramips/dts/rt3052_huawei_hg255d.dts b/target/linux/ramips/dts/rt3052_huawei_hg255d.dts index 7150a7f41af8b9..0aac571ee2ee53 100644 --- a/target/linux/ramips/dts/rt3052_huawei_hg255d.dts +++ b/target/linux/ramips/dts/rt3052_huawei_hg255d.dts @@ -113,8 +113,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <10>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3052_jcg_jhr-n825r.dts b/target/linux/ramips/dts/rt3052_jcg_jhr-n825r.dts index 75af528d303cba..2e73c4c8cb6e89 100644 --- a/target/linux/ramips/dts/rt3052_jcg_jhr-n825r.dts +++ b/target/linux/ramips/dts/rt3052_jcg_jhr-n825r.dts @@ -76,8 +76,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset_wps { label = "reset_wps"; gpios = <&gpio0 10 GPIO_ACTIVE_LOW>; diff --git a/target/linux/ramips/dts/rt3052_jcg_jhr-n926r.dts b/target/linux/ramips/dts/rt3052_jcg_jhr-n926r.dts index 8b50244e18c266..04605017d36c3e 100644 --- a/target/linux/ramips/dts/rt3052_jcg_jhr-n926r.dts +++ b/target/linux/ramips/dts/rt3052_jcg_jhr-n926r.dts @@ -117,8 +117,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset_wps { label = "reset_wps"; diff --git a/target/linux/ramips/dts/rt3052_mofinetwork_mofi3500-3gn.dts b/target/linux/ramips/dts/rt3052_mofinetwork_mofi3500-3gn.dts index 7e958c3a07fccd..58c62ac5a71b17 100644 --- a/target/linux/ramips/dts/rt3052_mofinetwork_mofi3500-3gn.dts +++ b/target/linux/ramips/dts/rt3052_mofinetwork_mofi3500-3gn.dts @@ -92,8 +92,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3052_netgear_wnce2001.dts b/target/linux/ramips/dts/rt3052_netgear_wnce2001.dts index 5406e1e263e3cb..dd498420018cf7 100644 --- a/target/linux/ramips/dts/rt3052_netgear_wnce2001.dts +++ b/target/linux/ramips/dts/rt3052_netgear_wnce2001.dts @@ -48,8 +48,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3052_nexaira_bc2.dts b/target/linux/ramips/dts/rt3052_nexaira_bc2.dts index e92ce3261dcb5d..ae6ab4d764ce11 100644 --- a/target/linux/ramips/dts/rt3052_nexaira_bc2.dts +++ b/target/linux/ramips/dts/rt3052_nexaira_bc2.dts @@ -72,8 +72,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3052_omnima_miniembwifi.dts b/target/linux/ramips/dts/rt3052_omnima_miniembwifi.dts index 8aed9e947f7813..41985ee3cb96af 100644 --- a/target/linux/ramips/dts/rt3052_omnima_miniembwifi.dts +++ b/target/linux/ramips/dts/rt3052_omnima_miniembwifi.dts @@ -32,8 +32,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3052_petatel_psr-680w.dts b/target/linux/ramips/dts/rt3052_petatel_psr-680w.dts index de2d9450ee08f4..cde7d7b17fcff1 100644 --- a/target/linux/ramips/dts/rt3052_petatel_psr-680w.dts +++ b/target/linux/ramips/dts/rt3052_petatel_psr-680w.dts @@ -81,8 +81,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3052_planex_mzk-w300nh2.dts b/target/linux/ramips/dts/rt3052_planex_mzk-w300nh2.dts index 88e2480f41d93c..b7aa08ea74cecd 100644 --- a/target/linux/ramips/dts/rt3052_planex_mzk-w300nh2.dts +++ b/target/linux/ramips/dts/rt3052_planex_mzk-w300nh2.dts @@ -95,8 +95,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; wps { label = "wps"; diff --git a/target/linux/ramips/dts/rt3052_poray_ip2202.dts b/target/linux/ramips/dts/rt3052_poray_ip2202.dts index e9273d65702767..77ac4e187dad15 100644 --- a/target/linux/ramips/dts/rt3052_poray_ip2202.dts +++ b/target/linux/ramips/dts/rt3052_poray_ip2202.dts @@ -76,8 +76,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3052_prolink_pwh2004.dts b/target/linux/ramips/dts/rt3052_prolink_pwh2004.dts index bb213c9f804548..5faf41cfc8d463 100644 --- a/target/linux/ramips/dts/rt3052_prolink_pwh2004.dts +++ b/target/linux/ramips/dts/rt3052_prolink_pwh2004.dts @@ -78,8 +78,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; wps { label = "wps"; diff --git a/target/linux/ramips/dts/rt3052_ralink_v22rw-2x2.dts b/target/linux/ramips/dts/rt3052_ralink_v22rw-2x2.dts index 179e738d4feb82..1fc71244559831 100644 --- a/target/linux/ramips/dts/rt3052_ralink_v22rw-2x2.dts +++ b/target/linux/ramips/dts/rt3052_ralink_v22rw-2x2.dts @@ -78,8 +78,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3052_sitecom_wl-351.dts b/target/linux/ramips/dts/rt3052_sitecom_wl-351.dts index f4dd87878293fd..d1d68f6a5c6d0f 100644 --- a/target/linux/ramips/dts/rt3052_sitecom_wl-351.dts +++ b/target/linux/ramips/dts/rt3052_sitecom_wl-351.dts @@ -87,8 +87,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3052_skyline_sl-r7205.dts b/target/linux/ramips/dts/rt3052_skyline_sl-r7205.dts index 2a1c576fe5452f..e55850bc2831bf 100644 --- a/target/linux/ramips/dts/rt3052_skyline_sl-r7205.dts +++ b/target/linux/ramips/dts/rt3052_skyline_sl-r7205.dts @@ -75,8 +75,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3052_tenda_3g300m.dts b/target/linux/ramips/dts/rt3052_tenda_3g300m.dts index 8620d4a1ad4800..a37d2a4ac6e1ed 100644 --- a/target/linux/ramips/dts/rt3052_tenda_3g300m.dts +++ b/target/linux/ramips/dts/rt3052_tenda_3g300m.dts @@ -51,8 +51,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3052_tenda_w306r-v2.dts b/target/linux/ramips/dts/rt3052_tenda_w306r-v2.dts index ddeaa94fc5f6a1..7e5ffc61e02568 100644 --- a/target/linux/ramips/dts/rt3052_tenda_w306r-v2.dts +++ b/target/linux/ramips/dts/rt3052_tenda_w306r-v2.dts @@ -82,8 +82,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "RESET/WPS"; diff --git a/target/linux/ramips/dts/rt3052_unbranded_wr512-3gn.dtsi b/target/linux/ramips/dts/rt3052_unbranded_wr512-3gn.dtsi index c18112fc01eb90..4e1560728ac482 100644 --- a/target/linux/ramips/dts/rt3052_unbranded_wr512-3gn.dtsi +++ b/target/linux/ramips/dts/rt3052_unbranded_wr512-3gn.dtsi @@ -45,8 +45,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset_wps { label = "reset_wps"; diff --git a/target/linux/ramips/dts/rt3052_unbranded_xdx-rn502j.dts b/target/linux/ramips/dts/rt3052_unbranded_xdx-rn502j.dts index af140fee1f51a9..074dd8cec9e243 100644 --- a/target/linux/ramips/dts/rt3052_unbranded_xdx-rn502j.dts +++ b/target/linux/ramips/dts/rt3052_unbranded_xdx-rn502j.dts @@ -82,8 +82,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3052_upvel_ur-326n4g.dts b/target/linux/ramips/dts/rt3052_upvel_ur-326n4g.dts index e22b946b085a6e..0118f02143c70a 100644 --- a/target/linux/ramips/dts/rt3052_upvel_ur-326n4g.dts +++ b/target/linux/ramips/dts/rt3052_upvel_ur-326n4g.dts @@ -97,8 +97,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset_wps { label = "reset_wps"; diff --git a/target/linux/ramips/dts/rt3052_upvel_ur-336un.dts b/target/linux/ramips/dts/rt3052_upvel_ur-336un.dts index 4a7dc5511c6102..58cc069c7e69bd 100644 --- a/target/linux/ramips/dts/rt3052_upvel_ur-336un.dts +++ b/target/linux/ramips/dts/rt3052_upvel_ur-336un.dts @@ -97,8 +97,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset_wps { label = "reset_wps"; diff --git a/target/linux/ramips/dts/rt3052_zyxel_keenetic.dts b/target/linux/ramips/dts/rt3052_zyxel_keenetic.dts index c7285150d98f37..454f865da7595f 100644 --- a/target/linux/ramips/dts/rt3052_zyxel_keenetic.dts +++ b/target/linux/ramips/dts/rt3052_zyxel_keenetic.dts @@ -91,8 +91,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3052_zyxel_nbg-419n.dts b/target/linux/ramips/dts/rt3052_zyxel_nbg-419n.dts index fc6cd21f3cedae..0c0add3a09b6bd 100644 --- a/target/linux/ramips/dts/rt3052_zyxel_nbg-419n.dts +++ b/target/linux/ramips/dts/rt3052_zyxel_nbg-419n.dts @@ -83,8 +83,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3352_dlink_dir-615-h1.dts b/target/linux/ramips/dts/rt3352_dlink_dir-615-h1.dts index 8ed29c8dee30fe..ef142ba6c5f2e5 100644 --- a/target/linux/ramips/dts/rt3352_dlink_dir-615-h1.dts +++ b/target/linux/ramips/dts/rt3352_dlink_dir-615-h1.dts @@ -52,8 +52,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3352_dlink_dir-620-d1.dts b/target/linux/ramips/dts/rt3352_dlink_dir-620-d1.dts index bd897a0d1a321a..3ee0ed9401a444 100644 --- a/target/linux/ramips/dts/rt3352_dlink_dir-620-d1.dts +++ b/target/linux/ramips/dts/rt3352_dlink_dir-620-d1.dts @@ -31,8 +31,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset_wps { label = "reset_wps"; diff --git a/target/linux/ramips/dts/rt3352_zte_mf283plus.dts b/target/linux/ramips/dts/rt3352_zte_mf283plus.dts index 1d0b14608a3d50..d35cf43095adcb 100644 --- a/target/linux/ramips/dts/rt3352_zte_mf283plus.dts +++ b/target/linux/ramips/dts/rt3352_zte_mf283plus.dts @@ -41,8 +41,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3352_zyxel_nbg-419n-v2.dts b/target/linux/ramips/dts/rt3352_zyxel_nbg-419n-v2.dts index ce776d46035ea1..5bb019bf073ebd 100644 --- a/target/linux/ramips/dts/rt3352_zyxel_nbg-419n-v2.dts +++ b/target/linux/ramips/dts/rt3352_zyxel_nbg-419n-v2.dts @@ -40,8 +40,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; gpios = <&gpio0 10 GPIO_ACTIVE_LOW>; diff --git a/target/linux/ramips/dts/rt5350_7links_px-4885.dtsi b/target/linux/ramips/dts/rt5350_7links_px-4885.dtsi index ba330112e1661a..c0a209f8097e1d 100644 --- a/target/linux/ramips/dts/rt5350_7links_px-4885.dtsi +++ b/target/linux/ramips/dts/rt5350_7links_px-4885.dtsi @@ -14,8 +14,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt5350_airlive_air3gii.dts b/target/linux/ramips/dts/rt5350_airlive_air3gii.dts index 5c64ef30e635e4..2f6a35056169da 100644 --- a/target/linux/ramips/dts/rt5350_airlive_air3gii.dts +++ b/target/linux/ramips/dts/rt5350_airlive_air3gii.dts @@ -26,8 +26,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; wps { label = "wps"; diff --git a/target/linux/ramips/dts/rt5350_asiarf_awm002-evb.dtsi b/target/linux/ramips/dts/rt5350_asiarf_awm002-evb.dtsi index eb5e25fa6eb3cc..abe60ddd6e92b7 100644 --- a/target/linux/ramips/dts/rt5350_asiarf_awm002-evb.dtsi +++ b/target/linux/ramips/dts/rt5350_asiarf_awm002-evb.dtsi @@ -30,8 +30,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset_wps { label = "reset_wps"; diff --git a/target/linux/ramips/dts/rt5350_belkin_f7c027.dts b/target/linux/ramips/dts/rt5350_belkin_f7c027.dts index 30eb833dd7ae8c..f8b0881e2ae22b 100644 --- a/target/linux/ramips/dts/rt5350_belkin_f7c027.dts +++ b/target/linux/ramips/dts/rt5350_belkin_f7c027.dts @@ -43,8 +43,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; top { label = "restore"; diff --git a/target/linux/ramips/dts/rt5350_dlink_dcs-930l-b1.dts b/target/linux/ramips/dts/rt5350_dlink_dcs-930l-b1.dts index 254b8353a88886..9abbbccc87cd13 100644 --- a/target/linux/ramips/dts/rt5350_dlink_dcs-930l-b1.dts +++ b/target/linux/ramips/dts/rt5350_dlink_dcs-930l-b1.dts @@ -32,8 +32,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt5350_dlink_dir-300-b7.dts b/target/linux/ramips/dts/rt5350_dlink_dir-300-b7.dts index 80740c5ae9c0ba..18c3cbdb14799a 100644 --- a/target/linux/ramips/dts/rt5350_dlink_dir-300-b7.dts +++ b/target/linux/ramips/dts/rt5350_dlink_dir-300-b7.dts @@ -32,8 +32,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt5350_dlink_dir-320-b1.dts b/target/linux/ramips/dts/rt5350_dlink_dir-320-b1.dts index 71ea2256c40703..4e6feab497ec05 100644 --- a/target/linux/ramips/dts/rt5350_dlink_dir-320-b1.dts +++ b/target/linux/ramips/dts/rt5350_dlink_dir-320-b1.dts @@ -38,8 +38,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt5350_dlink_dir-610-a1.dts b/target/linux/ramips/dts/rt5350_dlink_dir-610-a1.dts index 9a352d0ea5ad73..b11816870c2198 100644 --- a/target/linux/ramips/dts/rt5350_dlink_dir-610-a1.dts +++ b/target/linux/ramips/dts/rt5350_dlink_dir-610-a1.dts @@ -32,8 +32,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt5350_dlink_dwr-512-b.dts b/target/linux/ramips/dts/rt5350_dlink_dwr-512-b.dts index 56efcde9f5cd5a..0e3c4b9e35494d 100644 --- a/target/linux/ramips/dts/rt5350_dlink_dwr-512-b.dts +++ b/target/linux/ramips/dts/rt5350_dlink_dwr-512-b.dts @@ -16,8 +16,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; wps { label = "wps"; diff --git a/target/linux/ramips/dts/rt5350_hame_mpr-a1.dts b/target/linux/ramips/dts/rt5350_hame_mpr-a1.dts index a463bace6f2a9d..ab468512071f54 100644 --- a/target/linux/ramips/dts/rt5350_hame_mpr-a1.dts +++ b/target/linux/ramips/dts/rt5350_hame_mpr-a1.dts @@ -31,8 +31,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; wps { label = "reset"; diff --git a/target/linux/ramips/dts/rt5350_hame_mpr-a2.dts b/target/linux/ramips/dts/rt5350_hame_mpr-a2.dts index 557443a4c0764a..be33d39f7e9596 100644 --- a/target/linux/ramips/dts/rt5350_hame_mpr-a2.dts +++ b/target/linux/ramips/dts/rt5350_hame_mpr-a2.dts @@ -31,8 +31,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; wps { label = "reset"; diff --git a/target/linux/ramips/dts/rt5350_hilink_hlk-rm04.dts b/target/linux/ramips/dts/rt5350_hilink_hlk-rm04.dts index 6d7b1f08920f90..111e3e7e776cc8 100644 --- a/target/linux/ramips/dts/rt5350_hilink_hlk-rm04.dts +++ b/target/linux/ramips/dts/rt5350_hilink_hlk-rm04.dts @@ -31,8 +31,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; gpios = <&gpio0 0 GPIO_ACTIVE_LOW>; diff --git a/target/linux/ramips/dts/rt5350_hootoo_ht-tm02.dts b/target/linux/ramips/dts/rt5350_hootoo_ht-tm02.dts index 7d189338b73ab9..d65a8d8e926c5a 100644 --- a/target/linux/ramips/dts/rt5350_hootoo_ht-tm02.dts +++ b/target/linux/ramips/dts/rt5350_hootoo_ht-tm02.dts @@ -32,8 +32,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt5350_intenso_memory2move.dts b/target/linux/ramips/dts/rt5350_intenso_memory2move.dts index 68807159d81da6..5fe14669aff6f4 100644 --- a/target/linux/ramips/dts/rt5350_intenso_memory2move.dts +++ b/target/linux/ramips/dts/rt5350_intenso_memory2move.dts @@ -35,8 +35,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; power { label = "power"; diff --git a/target/linux/ramips/dts/rt5350_nexx_wt1520.dtsi b/target/linux/ramips/dts/rt5350_nexx_wt1520.dtsi index 4dbb324def2903..9c552c345058a3 100644 --- a/target/linux/ramips/dts/rt5350_nexx_wt1520.dtsi +++ b/target/linux/ramips/dts/rt5350_nexx_wt1520.dtsi @@ -7,8 +7,7 @@ compatible = "nexx,wt1520", "ralink,rt5350-soc"; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt5350_omnima_miniembplug.dts b/target/linux/ramips/dts/rt5350_omnima_miniembplug.dts index 2c09c12d79f824..10924bda953821 100644 --- a/target/linux/ramips/dts/rt5350_omnima_miniembplug.dts +++ b/target/linux/ramips/dts/rt5350_omnima_miniembplug.dts @@ -26,8 +26,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; wps { label = "wps"; diff --git a/target/linux/ramips/dts/rt5350_planex_mzk-dp150n.dts b/target/linux/ramips/dts/rt5350_planex_mzk-dp150n.dts index f6059f064550ad..5407c6812267ee 100644 --- a/target/linux/ramips/dts/rt5350_planex_mzk-dp150n.dts +++ b/target/linux/ramips/dts/rt5350_planex_mzk-dp150n.dts @@ -26,8 +26,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt5350_poray_m3.dts b/target/linux/ramips/dts/rt5350_poray_m3.dts index 489f218456abd5..92af77e54b979e 100644 --- a/target/linux/ramips/dts/rt5350_poray_m3.dts +++ b/target/linux/ramips/dts/rt5350_poray_m3.dts @@ -26,8 +26,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt5350_poray_m4.dtsi b/target/linux/ramips/dts/rt5350_poray_m4.dtsi index 74ce5235669696..3ae8e3c8181503 100644 --- a/target/linux/ramips/dts/rt5350_poray_m4.dtsi +++ b/target/linux/ramips/dts/rt5350_poray_m4.dtsi @@ -25,8 +25,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt5350_poray_x5.dts b/target/linux/ramips/dts/rt5350_poray_x5.dts index ac88c733644cfb..33321624c29a3f 100644 --- a/target/linux/ramips/dts/rt5350_poray_x5.dts +++ b/target/linux/ramips/dts/rt5350_poray_x5.dts @@ -41,8 +41,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; bat { label = "bat"; diff --git a/target/linux/ramips/dts/rt5350_poray_x8.dts b/target/linux/ramips/dts/rt5350_poray_x8.dts index 7930716dcfbc59..a398228b36167c 100644 --- a/target/linux/ramips/dts/rt5350_poray_x8.dts +++ b/target/linux/ramips/dts/rt5350_poray_x8.dts @@ -26,8 +26,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt5350_tenda_3g150b.dts b/target/linux/ramips/dts/rt5350_tenda_3g150b.dts index 407a18e7615bf3..64ba5b41d2ae55 100644 --- a/target/linux/ramips/dts/rt5350_tenda_3g150b.dts +++ b/target/linux/ramips/dts/rt5350_tenda_3g150b.dts @@ -31,8 +31,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt5350_trendnet_tew-714tru.dts b/target/linux/ramips/dts/rt5350_trendnet_tew-714tru.dts index 44612945a3458a..2a930c3e95cf22 100644 --- a/target/linux/ramips/dts/rt5350_trendnet_tew-714tru.dts +++ b/target/linux/ramips/dts/rt5350_trendnet_tew-714tru.dts @@ -26,8 +26,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt5350_unbranded_a5-v11.dts b/target/linux/ramips/dts/rt5350_unbranded_a5-v11.dts index c8b361842b702d..e4ae17bbbfe392 100644 --- a/target/linux/ramips/dts/rt5350_unbranded_a5-v11.dts +++ b/target/linux/ramips/dts/rt5350_unbranded_a5-v11.dts @@ -32,8 +32,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt5350_wiznet_wizfi630a.dts b/target/linux/ramips/dts/rt5350_wiznet_wizfi630a.dts index 2aff7445e8c598..600fb2814bc157 100644 --- a/target/linux/ramips/dts/rt5350_wiznet_wizfi630a.dts +++ b/target/linux/ramips/dts/rt5350_wiznet_wizfi630a.dts @@ -43,8 +43,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt5350_zorlik_zl5900v2.dts b/target/linux/ramips/dts/rt5350_zorlik_zl5900v2.dts index 488a4887b96533..3f35940528796d 100644 --- a/target/linux/ramips/dts/rt5350_zorlik_zl5900v2.dts +++ b/target/linux/ramips/dts/rt5350_zorlik_zl5900v2.dts @@ -32,8 +32,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt5350_zyxel_keenetic-start.dts b/target/linux/ramips/dts/rt5350_zyxel_keenetic-start.dts index 459350fade613f..68b34dc45a62f0 100644 --- a/target/linux/ramips/dts/rt5350_zyxel_keenetic-start.dts +++ b/target/linux/ramips/dts/rt5350_zyxel_keenetic-start.dts @@ -34,8 +34,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; From d7ed4c77b526a1b9e2b914b817a6816dffe11484 Mon Sep 17 00:00:00 2001 From: Shiji Yang Date: Thu, 24 Oct 2024 00:09:36 +0800 Subject: [PATCH 12/12] ramips: rt3883: convert devices to interrupt-driven gpio-keys This converts all RT3662 and RT3883 devices to use interrupt based gpio-keys instead of gpio-keys-polled. The poll-interval will be removed. Signed-off-by: Shiji Yang Link: https://github.com/openwrt/openwrt/pull/16764 Signed-off-by: Robert Marko --- target/linux/ramips/dts/rt3662_asus_rt-n56u.dts | 3 +-- target/linux/ramips/dts/rt3662_dlink_dir-645.dts | 3 +-- target/linux/ramips/dts/rt3662_edimax_br-6475nd.dts | 3 +-- target/linux/ramips/dts/rt3662_engenius_esr600h.dts | 3 +-- target/linux/ramips/dts/rt3662_omnima_hpm.dts | 3 +-- target/linux/ramips/dts/rt3883_belkin_f9k1109v1.dts | 3 +-- target/linux/ramips/dts/rt3883_sitecom_wlr-6000.dts | 3 +-- target/linux/ramips/dts/rt3883_trendnet_tew-691gr.dts | 3 +-- target/linux/ramips/dts/rt3883_trendnet_tew-692gr.dts | 3 +-- 9 files changed, 9 insertions(+), 18 deletions(-) diff --git a/target/linux/ramips/dts/rt3662_asus_rt-n56u.dts b/target/linux/ramips/dts/rt3662_asus_rt-n56u.dts index c381aa3e031750..825190c315a146 100644 --- a/target/linux/ramips/dts/rt3662_asus_rt-n56u.dts +++ b/target/linux/ramips/dts/rt3662_asus_rt-n56u.dts @@ -77,8 +77,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <100>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3662_dlink_dir-645.dts b/target/linux/ramips/dts/rt3662_dlink_dir-645.dts index 8cfa48e1959099..7597b7d867f6b6 100644 --- a/target/linux/ramips/dts/rt3662_dlink_dir-645.dts +++ b/target/linux/ramips/dts/rt3662_dlink_dir-645.dts @@ -23,8 +23,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <100>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3662_edimax_br-6475nd.dts b/target/linux/ramips/dts/rt3662_edimax_br-6475nd.dts index fbc795b24f6af1..832891f44ea0a2 100644 --- a/target/linux/ramips/dts/rt3662_edimax_br-6475nd.dts +++ b/target/linux/ramips/dts/rt3662_edimax_br-6475nd.dts @@ -17,8 +17,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <100>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3662_engenius_esr600h.dts b/target/linux/ramips/dts/rt3662_engenius_esr600h.dts index b539d2d4a7c59a..f7a7ba8a0ebaba 100644 --- a/target/linux/ramips/dts/rt3662_engenius_esr600h.dts +++ b/target/linux/ramips/dts/rt3662_engenius_esr600h.dts @@ -35,8 +35,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <100>; + compatible = "gpio-keys"; reset-wps { label = "reset-wps"; diff --git a/target/linux/ramips/dts/rt3662_omnima_hpm.dts b/target/linux/ramips/dts/rt3662_omnima_hpm.dts index 82d79dedb4789d..a6d5e4e8b35da4 100644 --- a/target/linux/ramips/dts/rt3662_omnima_hpm.dts +++ b/target/linux/ramips/dts/rt3662_omnima_hpm.dts @@ -20,8 +20,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <100>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3883_belkin_f9k1109v1.dts b/target/linux/ramips/dts/rt3883_belkin_f9k1109v1.dts index 5547ec0f483122..db1a536d2c8466 100644 --- a/target/linux/ramips/dts/rt3883_belkin_f9k1109v1.dts +++ b/target/linux/ramips/dts/rt3883_belkin_f9k1109v1.dts @@ -58,8 +58,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <100>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3883_sitecom_wlr-6000.dts b/target/linux/ramips/dts/rt3883_sitecom_wlr-6000.dts index 94a47b8735e292..5f2fea28d313ba 100644 --- a/target/linux/ramips/dts/rt3883_sitecom_wlr-6000.dts +++ b/target/linux/ramips/dts/rt3883_sitecom_wlr-6000.dts @@ -16,8 +16,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <20>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3883_trendnet_tew-691gr.dts b/target/linux/ramips/dts/rt3883_trendnet_tew-691gr.dts index d9ad78ba2b6161..3863021a4bd610 100644 --- a/target/linux/ramips/dts/rt3883_trendnet_tew-691gr.dts +++ b/target/linux/ramips/dts/rt3883_trendnet_tew-691gr.dts @@ -68,8 +68,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <100>; + compatible = "gpio-keys"; reset { label = "reset"; diff --git a/target/linux/ramips/dts/rt3883_trendnet_tew-692gr.dts b/target/linux/ramips/dts/rt3883_trendnet_tew-692gr.dts index c6a817aafcacf9..6bb01b8c6cc697 100644 --- a/target/linux/ramips/dts/rt3883_trendnet_tew-692gr.dts +++ b/target/linux/ramips/dts/rt3883_trendnet_tew-692gr.dts @@ -68,8 +68,7 @@ }; keys { - compatible = "gpio-keys-polled"; - poll-interval = <100>; + compatible = "gpio-keys"; reset { label = "reset";