From fbbc1e268343290a448f267f00aeea8e194ff555 Mon Sep 17 00:00:00 2001 From: Clayton Craft Date: Fri, 15 Apr 2022 22:59:46 -0700 Subject: [PATCH] linux-purism-librem5: upgrade to 5.17.2pureos1 (MR 3082) - Latest revision of the modem PM issue workaround patches from Purism - Rebased config on Purism's defconfig --- .../0004-usb-hub-reset-workarounds.patch | 30 ------ ...sb-quirks-hub_slow_reset-for-usb2642.patch | 42 ++++++++ ...i-increase-XHCI_MAX_REXIT_TIMEOUT_MS.patch | 37 +++++++ ...rk-to-skip-reset_resume-in-hub_activ.patch | 68 +++++++++++++ device/main/linux-purism-librem5/APKBUILD | 14 ++- .../config-purism-librem5.aarch64 | 97 +++++++++++-------- 6 files changed, 215 insertions(+), 73 deletions(-) delete mode 100644 device/main/linux-purism-librem5/0004-usb-hub-reset-workarounds.patch create mode 100644 device/main/linux-purism-librem5/0004-usb-quirks-hub_slow_reset-for-usb2642.patch create mode 100644 device/main/linux-purism-librem5/0005-usb-xhci-increase-XHCI_MAX_REXIT_TIMEOUT_MS.patch create mode 100644 device/main/linux-purism-librem5/0006-hack-usb-add-quirk-to-skip-reset_resume-in-hub_activ.patch diff --git a/device/main/linux-purism-librem5/0004-usb-hub-reset-workarounds.patch b/device/main/linux-purism-librem5/0004-usb-hub-reset-workarounds.patch deleted file mode 100644 index fe78ba9f6..000000000 --- a/device/main/linux-purism-librem5/0004-usb-hub-reset-workarounds.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 9c643517c34e8d9c2d176ace6349fb79ffbc8694 Mon Sep 17 00:00:00 2001 -From: Clayton Craft -Date: Mon, 14 Mar 2022 23:49:45 -0700 -Subject: [PATCH] usb hub reset workarounds - ---- - drivers/usb/core/quirks.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c -index d3c14b5ed4a1..1da62e5a744b 100644 ---- a/drivers/usb/core/quirks.c -+++ b/drivers/usb/core/quirks.c -@@ -208,7 +208,12 @@ static const struct usb_device_id usb_quirk_list[] = { - /* Creative SB Audigy 2 NX */ - { USB_DEVICE(0x041e, 0x3020), .driver_info = USB_QUIRK_RESET_RESUME }, - -- /* USB3503 */ -+ /* Microchip Hub USB2642 */ -+ { USB_DEVICE(0x0424, 0x2640), .driver_info = USB_QUIRK_HUB_SLOW_RESET }, -+ -+ /* Microchip Hub USB3503 */ -+ { USB_DEVICE(0x0424, 0x3503), .driver_info = USB_QUIRK_RESET_RESUME }, -+ - { USB_DEVICE(0x0424, 0x3503), .driver_info = USB_QUIRK_RESET_RESUME }, - - /* Microsoft Wireless Laser Mouse 6000 Receiver */ --- -2.35.1 - diff --git a/device/main/linux-purism-librem5/0004-usb-quirks-hub_slow_reset-for-usb2642.patch b/device/main/linux-purism-librem5/0004-usb-quirks-hub_slow_reset-for-usb2642.patch new file mode 100644 index 000000000..80f67595d --- /dev/null +++ b/device/main/linux-purism-librem5/0004-usb-quirks-hub_slow_reset-for-usb2642.patch @@ -0,0 +1,42 @@ +From 72d4768cac13950e9dfe566d00eaa0484ef90426 Mon Sep 17 00:00:00 2001 +From: Martin Kepplinger +Date: Thu, 10 Mar 2022 09:25:38 +0100 +Subject: [PATCH] usb: quirks: hub_slow_reset for usb2642 + +This reduces the cases where the host controller is dying after +"reset_resume" during runtime-resume has been being executed. + +Usually you'd see + +[ 1575.824244] usb 1-1.2: reset high-speed USB device number 4 using xhci-hcd +[ 1575.904083] usb 1-1.2: device descriptor read/64, error -71 +[ 1576.148256] usb 1-1.2: USB disconnect, device number 4 +(...) +[ 1653.948112] xhci-hcd xhci-hcd.4.auto: Port resume timed out, port 1-1: 0xfe3 +[ 1664.284277] xhci-hcd xhci-hcd.4.auto: xHCI host not responding to stop endpoint command. +[ 1664.284485] xhci-hcd xhci-hcd.4.auto: USBSTS: +[ 1664.292619] xhci-hcd xhci-hcd.4.auto: xHCI host controller not responding, assume dead +[ 1664.300906] xhci-hcd xhci-hcd.4.auto: HC died; cleaning up +--- + drivers/usb/core/quirks.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c +index d3c14b5ed4a1..f77a6399e1c8 100644 +--- a/drivers/usb/core/quirks.c ++++ b/drivers/usb/core/quirks.c +@@ -208,7 +208,10 @@ static const struct usb_device_id usb_quirk_list[] = { + /* Creative SB Audigy 2 NX */ + { USB_DEVICE(0x041e, 0x3020), .driver_info = USB_QUIRK_RESET_RESUME }, + +- /* USB3503 */ ++ /* Microchip Hub USB2642 */ ++ { USB_DEVICE(0x0424, 0x2640), .driver_info = USB_QUIRK_HUB_SLOW_RESET }, ++ ++ /* Microchip Hub USB3503 */ + { USB_DEVICE(0x0424, 0x3503), .driver_info = USB_QUIRK_RESET_RESUME }, + + /* Microsoft Wireless Laser Mouse 6000 Receiver */ +-- +2.35.1 + diff --git a/device/main/linux-purism-librem5/0005-usb-xhci-increase-XHCI_MAX_REXIT_TIMEOUT_MS.patch b/device/main/linux-purism-librem5/0005-usb-xhci-increase-XHCI_MAX_REXIT_TIMEOUT_MS.patch new file mode 100644 index 000000000..fc2823f31 --- /dev/null +++ b/device/main/linux-purism-librem5/0005-usb-xhci-increase-XHCI_MAX_REXIT_TIMEOUT_MS.patch @@ -0,0 +1,37 @@ +From dccac16a185098ce9e9e79c6674e7881f221f621 Mon Sep 17 00:00:00 2001 +From: Martin Kepplinger +Date: Fri, 18 Mar 2022 09:24:14 +0100 +Subject: [PATCH] usb: xhci: increase XHCI_MAX_REXIT_TIMEOUT_MS +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +40ms were suggested on the mainling lists even, see +https://lore.kernel.org/linux-usb/a66bd7ff8356cc0d97073ae41d128eabb74cc94d.camel@puri.sm/ + +simply trying to work around this: + +Mär 18 08:41:00.006534 pureos kernel: xhci-hcd xhci-hcd.4.auto: HC died; cleaning up +Mär 18 08:41:00.005594 pureos kernel: xhci-hcd xhci-hcd.4.auto: xHCI host controller not responding, as> +Mär 18 08:41:00.003925 pureos kernel: xhci-hcd xhci-hcd.4.auto: Abort failed to stop command ring: -110 +Mär 18 08:40:44.606136 pureos kernel: xhci-hcd xhci-hcd.4.auto: Port resume timed out, port 1-1: 0xfe3 +--- + drivers/usb/host/xhci.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h +index 5a75fe563123..ae96bc6632de 100644 +--- a/drivers/usb/host/xhci.h ++++ b/drivers/usb/host/xhci.h +@@ -1719,7 +1719,7 @@ struct xhci_bus_state { + * It can take up to 20 ms to transition from RExit to U0 on the + * Intel Lynx Point LP xHCI host. + */ +-#define XHCI_MAX_REXIT_TIMEOUT_MS 20 ++#define XHCI_MAX_REXIT_TIMEOUT_MS 40 + struct xhci_port_cap { + u32 *psi; /* array of protocol speed ID entries */ + u8 psi_count; +-- +2.35.1 + diff --git a/device/main/linux-purism-librem5/0006-hack-usb-add-quirk-to-skip-reset_resume-in-hub_activ.patch b/device/main/linux-purism-librem5/0006-hack-usb-add-quirk-to-skip-reset_resume-in-hub_activ.patch new file mode 100644 index 000000000..fbd0ae490 --- /dev/null +++ b/device/main/linux-purism-librem5/0006-hack-usb-add-quirk-to-skip-reset_resume-in-hub_activ.patch @@ -0,0 +1,68 @@ +From 901b46bf605a553a6edea4722028eed9cf07b23a Mon Sep 17 00:00:00 2001 +From: Martin Kepplinger +Date: Fri, 8 Apr 2022 10:45:56 +0200 +Subject: [PATCH] hack: usb: add quirk to skip reset_resume in hub_activate() + +For devices with AVOID_RESET_RESUME set, dont set reset_resume in +hub_activate() but (from hub_resume()) but let it be set later via +port_resume() only. + +This is a hacky workaround to improve stability when a permanently +connected device acts like it's disconnected from the hubs' port. + +Since we see this for the BM818 modem, enable the quirk there. +--- + drivers/usb/core/hub.c | 5 ++++- + drivers/usb/core/quirks.c | 4 ++++ + include/linux/usb/quirks.h | 6 ++++++ + 3 files changed, 14 insertions(+), 1 deletion(-) + +diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c +index ac6c5ccfe1cb..ee25ad4a91e9 100644 +--- a/drivers/usb/core/hub.c ++++ b/drivers/usb/core/hub.c +@@ -1232,7 +1232,10 @@ static void hub_activate(struct usb_hub *hub, enum hub_activation_type type) + + } else if (udev->persist_enabled) { + #ifdef CONFIG_PM +- udev->reset_resume = 1; ++ if (udev->quirks & USB_QUIRK_AVOID_RESET_RESUME) ++ dev_warn(&port_dev->dev, "QUIRK: skip setting reset_resume.\n"); ++ else ++ udev->reset_resume = 1; + #endif + /* Don't set the change_bits when the device + * was powered off. +diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c +index f77a6399e1c8..8eed0615949f 100644 +--- a/drivers/usb/core/quirks.c ++++ b/drivers/usb/core/quirks.c +@@ -487,6 +487,10 @@ static const struct usb_device_id usb_quirk_list[] = { + { USB_DEVICE(0x1c75, 0x0204), .driver_info = + USB_QUIRK_CONFIG_INTF_STRINGS }, + ++ /* Broadmobi 818 4G modem */ ++ { USB_DEVICE(0x2020, 0x2060), .driver_info = ++ USB_QUIRK_AVOID_RESET_RESUME }, ++ + /* Acer C120 LED Projector */ + { USB_DEVICE(0x1de1, 0xc102), .driver_info = USB_QUIRK_NO_LPM }, + +diff --git a/include/linux/usb/quirks.h b/include/linux/usb/quirks.h +index eeb7c2157c72..c2f358c5394a 100644 +--- a/include/linux/usb/quirks.h ++++ b/include/linux/usb/quirks.h +@@ -72,4 +72,10 @@ + /* device has endpoints that should be ignored */ + #define USB_QUIRK_ENDPOINT_IGNORE BIT(15) + ++/* ++ * Avoid resetting a port/device when it reports to be disconnected. Use ++ * this for permanently (on-board) connected devices only. ++ */ ++#define USB_QUIRK_AVOID_RESET_RESUME BIT(16) ++ + #endif /* __LINUX_USB_QUIRKS_H */ +-- +2.35.1 + diff --git a/device/main/linux-purism-librem5/APKBUILD b/device/main/linux-purism-librem5/APKBUILD index f04515d1d..79aff1806 100644 --- a/device/main/linux-purism-librem5/APKBUILD +++ b/device/main/linux-purism-librem5/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Clayton Craft # Co-Maintainer: Bhushan Shah pkgname=linux-purism-librem5 -pkgver=5.16.18 +pkgver=5.17.2 pkgrel=0 _purismrel=1 # . @@ -40,7 +40,9 @@ source=" 0001-bq25890_charger-enter-ship-mode-on-power-off.patch 0002-arm64-dts-imx8mq-librem5.dtsi-adjust-the-usdhc-bus-s.patch 0003-imx8mq-librem5-r3-Set-the-CPU-voltage-to-1.0V-when-r.patch - 0004-usb-hub-reset-workarounds.patch + 0004-usb-quirks-hub_slow_reset-for-usb2642.patch + 0005-usb-xhci-increase-XHCI_MAX_REXIT_TIMEOUT_MS.patch + 0006-hack-usb-add-quirk-to-skip-reset_resume-in-hub_activ.patch $_config " builddir="$srcdir/$_repository-pureos-$_purismver" @@ -80,10 +82,12 @@ dev() { INSTALL_HDR_PATH="$subpkgdir"/usr } sha512sums=" -d59c26eb5e8f4ecaf5fb97f5431e37eae7458bf791c545a4e01b14409487a254ff88a20e9fba90142944224ee23601647df1d3c4f1d9f21ec5852e30bdeb82e6 linux-purism-librem5-5.16.18pureos1.tar.gz +9de286055c41df840901640ec21b75de0676050dd46bfee72a7d3c3bc7880228e05fcffd62ac4de5953bf276b062e24261375bf09afa9d97ce0e7d857f0eb3d3 linux-purism-librem5-5.17.2pureos1.tar.gz 0e3caf6275247e31b874b94330dc4f991837a4b62f3c15a1f8ad39a7edd02ae499679bcd7ddc9463bb1c1a5073ea5980fa144a2ece804d72a6b2fc8c76c50766 0001-bq25890_charger-enter-ship-mode-on-power-off.patch 1dbf2adaf097bcce3ee179cd6b0f10d2ebefdc82191d34fffea8cb336c9dcbc66b717bf97a2e264b8068f178c0254f2b1281a09ae72d4825fd7b4a39916c0461 0002-arm64-dts-imx8mq-librem5.dtsi-adjust-the-usdhc-bus-s.patch c52f9e7e17f876697000a0c3b959a0d571ca506ba55ee5158e30ac00e148372097c88951a354190f669137a955405c87042a925c1bbe3cd91df40721650d45d3 0003-imx8mq-librem5-r3-Set-the-CPU-voltage-to-1.0V-when-r.patch -681f6687e37fe74d9eb74ba85b09b6a165a9b955834e1dcb9a489499ce3e224385b789e1c30e44aad470a51d40326e9f8910cec1795eccdecf4b72865872be36 0004-usb-hub-reset-workarounds.patch -944406eb210f6f020e440f50c166c347115a0e2439dc824fa66cf134cea7f4a5acc548db15d9f225dc59cadc39b6547e2662610ae36b3b9be0ca1078b165e8e4 config-purism-librem5.aarch64 +e449c1213fa49bbb5cb5c73b9a18f7506ac6e4305ebfc5bb2315a7a6cb5110d0138214dc0168a0078a8f98c2d442e117826b78d98a0ca7247b606c7119e3d6b2 0004-usb-quirks-hub_slow_reset-for-usb2642.patch +79f12e245d0f3ca962a559a1b3112855284c9315c031bf6e1f51c59309a9f588f4e86b6cbb121856e588e5d48d43f4ad1c5235049afa0d19fb638a0ce27c6896 0005-usb-xhci-increase-XHCI_MAX_REXIT_TIMEOUT_MS.patch +2f0c69e90c2270e517abccd97cc7ab2bbef0d69f5aae6004944f9a534e3983765a3f2b5b6e8779dc0ce44d2eada00b04f9b38a44e6fa630978d591ea83527155 0006-hack-usb-add-quirk-to-skip-reset_resume-in-hub_activ.patch +68a5a0e530df543a444ced60ecca6a07ed70824ea23fd89d01240426127a3017b97c06605876196199e9f1d9c035156825fad1ed84cfbf6db8dc8c25fbeb3a20 config-purism-librem5.aarch64 " diff --git a/device/main/linux-purism-librem5/config-purism-librem5.aarch64 b/device/main/linux-purism-librem5/config-purism-librem5.aarch64 index 62ed69caf..30f0324b9 100644 --- a/device/main/linux-purism-librem5/config-purism-librem5.aarch64 +++ b/device/main/linux-purism-librem5/config-purism-librem5.aarch64 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm64 5.16.18 Kernel Configuration +# Linux/arm64 5.16.19 Kernel Configuration # CONFIG_CC_VERSION_TEXT="aarch64-alpine-linux-musl-gcc (Alpine 11.2.1_git20220219) 11.2.1 20220219" CONFIG_CC_IS_GCC=y @@ -120,7 +120,7 @@ CONFIG_TASK_DELAY_ACCT=y CONFIG_TASK_XACCT=y CONFIG_TASK_IO_ACCOUNTING=y CONFIG_PSI=y -CONFIG_PSI_DEFAULT_DISABLED=y +# CONFIG_PSI_DEFAULT_DISABLED is not set # end of CPU/Task time and stats accounting CONFIG_CPU_ISOLATION=y @@ -362,7 +362,7 @@ CONFIG_ARM64_ERRATUM_1463225=y CONFIG_ARM64_ERRATUM_1542419=y CONFIG_ARM64_ERRATUM_1508412=y CONFIG_ARM64_ERRATUM_2051678=y -# CONFIG_ARM64_ERRATUM_2077057 is not set +CONFIG_ARM64_ERRATUM_2077057=y CONFIG_ARM64_WORKAROUND_TSB_FLUSH_FAILURE=y CONFIG_ARM64_ERRATUM_2054223=y CONFIG_ARM64_ERRATUM_2067961=y @@ -1319,7 +1319,14 @@ CONFIG_BRIDGE_NF_EBTABLES=m # CONFIG_BRIDGE_EBT_NFLOG is not set # CONFIG_BPFILTER is not set # CONFIG_IP_DCCP is not set -# CONFIG_IP_SCTP is not set +CONFIG_IP_SCTP=m +# CONFIG_SCTP_DBG_OBJCNT is not set +CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y +# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set +# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set +CONFIG_SCTP_COOKIE_HMAC_MD5=y +# CONFIG_SCTP_COOKIE_HMAC_SHA1 is not set +CONFIG_INET_SCTP_DIAG=m # CONFIG_RDS is not set # CONFIG_TIPC is not set # CONFIG_ATM is not set @@ -1519,7 +1526,11 @@ CONFIG_BT_HCIRSI=m # CONFIG_BT_VIRTIO is not set # end of Bluetooth device drivers -# CONFIG_AF_RXRPC is not set +CONFIG_AF_RXRPC=m +# CONFIG_AF_RXRPC_IPV6 is not set +# CONFIG_AF_RXRPC_INJECT_LOSS is not set +# CONFIG_AF_RXRPC_DEBUG is not set +# CONFIG_RXKAD is not set # CONFIG_AF_KCM is not set CONFIG_STREAM_PARSER=y # CONFIG_MCTP is not set @@ -1560,7 +1571,9 @@ CONFIG_NET_9P=y CONFIG_NET_9P_VIRTIO=y # CONFIG_NET_9P_DEBUG is not set # CONFIG_CAIF is not set -# CONFIG_CEPH_LIB is not set +CONFIG_CEPH_LIB=m +# CONFIG_CEPH_LIB_PRETTYDEBUG is not set +# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set # CONFIG_NFC is not set # CONFIG_PSAMPLE is not set # CONFIG_NET_IFE is not set @@ -2178,7 +2191,8 @@ CONFIG_ETHERNET=y # CONFIG_NET_VENDOR_AMD is not set # CONFIG_NET_VENDOR_AQUANTIA is not set # CONFIG_NET_VENDOR_ARC is not set -# CONFIG_NET_VENDOR_ASIX is not set +CONFIG_NET_VENDOR_ASIX=y +# CONFIG_SPI_AX88796C is not set # CONFIG_NET_VENDOR_ATHEROS is not set # CONFIG_NET_VENDOR_BROADCOM is not set # CONFIG_NET_VENDOR_BROCADE is not set @@ -2797,7 +2811,6 @@ CONFIG_HW_RANDOM=y # CONFIG_HW_RANDOM_TIMERIOMEM is not set # CONFIG_HW_RANDOM_BA431 is not set # CONFIG_HW_RANDOM_VIRTIO is not set -# CONFIG_HW_RANDOM_CAVIUM is not set # CONFIG_HW_RANDOM_CCTRNG is not set # CONFIG_HW_RANDOM_XIPHERA is not set CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=y @@ -4084,6 +4097,7 @@ CONFIG_SND_TIMER=m CONFIG_SND_PCM=m CONFIG_SND_DMAENGINE_PCM=m CONFIG_SND_HWDEP=m +CONFIG_SND_SEQ_DEVICE=m CONFIG_SND_RAWMIDI=m CONFIG_SND_JACK=y CONFIG_SND_JACK_INPUT_DEV=y @@ -4096,10 +4110,14 @@ CONFIG_SND_PROC_FS=y CONFIG_SND_VERBOSE_PROCFS=y # CONFIG_SND_VERBOSE_PRINTK is not set # CONFIG_SND_DEBUG is not set -# CONFIG_SND_SEQUENCER is not set +CONFIG_SND_SEQUENCER=m +CONFIG_SND_SEQ_DUMMY=m +CONFIG_SND_SEQ_MIDI_EVENT=m +CONFIG_SND_SEQ_MIDI=m CONFIG_SND_DRIVERS=y # CONFIG_SND_DUMMY is not set # CONFIG_SND_ALOOP is not set +# CONFIG_SND_VIRMIDI is not set # CONFIG_SND_MTPAV is not set # CONFIG_SND_SERIAL_U16550 is not set # CONFIG_SND_MPU401 is not set @@ -4447,8 +4465,8 @@ CONFIG_HID_COUGAR=m CONFIG_HID_MACALLY=m CONFIG_HID_PRODIKEYS=m CONFIG_HID_CMEDIA=m -# CONFIG_HID_CP2112 is not set -# CONFIG_HID_CREATIVE_SB0540 is not set +CONFIG_HID_CP2112=m +CONFIG_HID_CREATIVE_SB0540=m CONFIG_HID_CYPRESS=y CONFIG_HID_DRAGONRISE=m # CONFIG_DRAGONRISE_FF is not set @@ -4457,20 +4475,20 @@ CONFIG_HID_ELAN=m CONFIG_HID_ELECOM=m CONFIG_HID_ELO=m CONFIG_HID_EZKEY=y -# CONFIG_HID_FT260 is not set +CONFIG_HID_FT260=m CONFIG_HID_GEMBIRD=m CONFIG_HID_GFRM=m -# CONFIG_HID_GLORIOUS is not set +CONFIG_HID_GLORIOUS=m CONFIG_HID_HOLTEK=m # CONFIG_HOLTEK_FF is not set -# CONFIG_HID_VIVALDI is not set +CONFIG_HID_VIVALDI=m CONFIG_HID_GT683R=m CONFIG_HID_KEYTOUCH=m CONFIG_HID_KYE=m CONFIG_HID_UCLOGIC=m CONFIG_HID_WALTOP=m CONFIG_HID_VIEWSONIC=m -# CONFIG_HID_XIAOMI is not set +CONFIG_HID_XIAOMI=m CONFIG_HID_GYRATION=m CONFIG_HID_ICADE=m CONFIG_HID_ITE=y @@ -4481,12 +4499,12 @@ CONFIG_HID_LCPOWER=m CONFIG_HID_LED=m CONFIG_HID_LENOVO=m CONFIG_HID_LOGITECH=m -# CONFIG_HID_LOGITECH_DJ is not set +CONFIG_HID_LOGITECH_DJ=m CONFIG_HID_LOGITECH_HIDPP=m -# CONFIG_LOGITECH_FF is not set -# CONFIG_LOGIRUMBLEPAD2_FF is not set -# CONFIG_LOGIG940_FF is not set -# CONFIG_LOGIWHEELS_FF is not set +CONFIG_LOGITECH_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGIG940_FF=y +CONFIG_LOGIWHEELS_FF=y CONFIG_HID_MAGICMOUSE=m CONFIG_HID_MALTRON=m CONFIG_HID_MAYFLASH=m @@ -4494,7 +4512,8 @@ CONFIG_HID_REDRAGON=y CONFIG_HID_MICROSOFT=y CONFIG_HID_MONTEREY=y CONFIG_HID_MULTITOUCH=m -# CONFIG_HID_NINTENDO is not set +CONFIG_HID_NINTENDO=m +# CONFIG_NINTENDO_FF is not set CONFIG_HID_NTI=m CONFIG_HID_NTRIG=m CONFIG_HID_ORTEK=m @@ -4508,12 +4527,14 @@ CONFIG_HID_PICOLCD_BACKLIGHT=y CONFIG_HID_PICOLCD_LEDS=y CONFIG_HID_PICOLCD_CIR=y CONFIG_HID_PLANTRONICS=m +CONFIG_HID_PLAYSTATION=m +# CONFIG_PLAYSTATION_FF is not set CONFIG_HID_PRIMAX=m CONFIG_HID_RETRODE=m CONFIG_HID_ROCCAT=m CONFIG_HID_SAITEK=m CONFIG_HID_SAMSUNG=m -# CONFIG_HID_SEMITEK is not set +CONFIG_HID_SEMITEK=m CONFIG_HID_SONY=m # CONFIG_SONY_FF is not set CONFIG_HID_SPEEDLINK=m @@ -4541,7 +4562,7 @@ CONFIG_HID_ZYDACRON=m CONFIG_HID_SENSOR_HUB=m CONFIG_HID_SENSOR_CUSTOM_SENSOR=m CONFIG_HID_ALPS=m -# CONFIG_HID_MCP2221 is not set +CONFIG_HID_MCP2221=m # end of Special HID drivers # @@ -4952,7 +4973,7 @@ CONFIG_MMC_CQHCI=y CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=y CONFIG_LEDS_CLASS_FLASH=y -# CONFIG_LEDS_CLASS_MULTICOLOR is not set +CONFIG_LEDS_CLASS_MULTICOLOR=m # CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set # @@ -5034,7 +5055,7 @@ CONFIG_LEDS_TRIGGER_PANIC=y CONFIG_LEDS_TRIGGER_NETDEV=m CONFIG_LEDS_TRIGGER_PATTERN=y CONFIG_LEDS_TRIGGER_AUDIO=m -# CONFIG_LEDS_TRIGGER_TTY is not set +CONFIG_LEDS_TRIGGER_TTY=m # CONFIG_ACCESSIBILITY is not set # CONFIG_INFINIBAND is not set CONFIG_EDAC_SUPPORT=y @@ -5157,7 +5178,7 @@ CONFIG_RTC_DRV_SNVS=y # # HID Sensor RTC drivers # -# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set +CONFIG_RTC_DRV_HID_SENSOR_TIME=m # CONFIG_RTC_DRV_GOLDFISH is not set CONFIG_DMADEVICES=y # CONFIG_DMADEVICES_DEBUG is not set @@ -5559,7 +5580,7 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # CONFIG_DMARD10 is not set # CONFIG_FXLS8962AF_I2C is not set # CONFIG_FXLS8962AF_SPI is not set -# CONFIG_HID_SENSOR_ACCEL_3D is not set +CONFIG_HID_SENSOR_ACCEL_3D=m CONFIG_IIO_ST_ACCEL_3AXIS=m CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m @@ -5782,7 +5803,7 @@ CONFIG_IIO_ST_SENSORS_CORE=m # CONFIG_ADXRS450 is not set # CONFIG_BMG160 is not set # CONFIG_FXAS21002C is not set -# CONFIG_HID_SENSOR_GYRO_3D is not set +CONFIG_HID_SENSOR_GYRO_3D=m # CONFIG_MPU3050_I2C is not set CONFIG_IIO_ST_GYRO_3AXIS=m CONFIG_IIO_ST_GYRO_I2C_3AXIS=m @@ -5811,7 +5832,7 @@ CONFIG_IIO_ST_GYRO_SPI_3AXIS=m # CONFIG_DHT11 is not set # CONFIG_HDC100X is not set # CONFIG_HDC2010 is not set -# CONFIG_HID_SENSOR_HUMIDITY is not set +CONFIG_HID_SENSOR_HUMIDITY=m # CONFIG_HTS221 is not set # CONFIG_HTU21 is not set # CONFIG_SI7005 is not set @@ -5862,8 +5883,8 @@ CONFIG_IIO_ST_LSM6DSX_SPI=m # CONFIG_SENSORS_ISL29018 is not set # CONFIG_SENSORS_ISL29028 is not set # CONFIG_ISL29125 is not set -# CONFIG_HID_SENSOR_ALS is not set -# CONFIG_HID_SENSOR_PROX is not set +CONFIG_HID_SENSOR_ALS=m +CONFIG_HID_SENSOR_PROX=m # CONFIG_JSA1212 is not set # CONFIG_RPR0521 is not set # CONFIG_LTR501 is not set @@ -5902,7 +5923,7 @@ CONFIG_VCNL4000=m # CONFIG_BMC150_MAGN_I2C is not set # CONFIG_BMC150_MAGN_SPI is not set # CONFIG_MAG3110 is not set -# CONFIG_HID_SENSOR_MAGNETOMETER_3D is not set +CONFIG_HID_SENSOR_MAGNETOMETER_3D=m # CONFIG_MMC35240 is not set CONFIG_IIO_ST_MAGN_3AXIS=m CONFIG_IIO_ST_MAGN_I2C_3AXIS=m @@ -5923,8 +5944,8 @@ CONFIG_IIO_ST_MAGN_SPI_3AXIS=m # # Inclinometer sensors # -# CONFIG_HID_SENSOR_INCLINOMETER_3D is not set -# CONFIG_HID_SENSOR_DEVICE_ROTATION is not set +CONFIG_HID_SENSOR_INCLINOMETER_3D=m +CONFIG_HID_SENSOR_DEVICE_ROTATION=m # end of Inclinometer sensors # @@ -5937,7 +5958,7 @@ CONFIG_IIO_ST_MAGN_SPI_3AXIS=m # # Linear and angular position sensors # -# CONFIG_HID_SENSOR_CUSTOM_INTEL_HINGE is not set +CONFIG_HID_SENSOR_CUSTOM_INTEL_HINGE=m # end of Linear and angular position sensors # @@ -5969,7 +5990,7 @@ CONFIG_IIO_ST_MAGN_SPI_3AXIS=m # CONFIG_BMP280 is not set # CONFIG_DLHL60D is not set # CONFIG_DPS310 is not set -# CONFIG_HID_SENSOR_PRESS is not set +CONFIG_HID_SENSOR_PRESS=m # CONFIG_HP03 is not set # CONFIG_ICP10100 is not set # CONFIG_MPL115_I2C is not set @@ -6017,7 +6038,7 @@ CONFIG_IIO_ST_MAGN_SPI_3AXIS=m # # CONFIG_LTC2983 is not set # CONFIG_MAXIM_THERMOCOUPLE is not set -# CONFIG_HID_SENSOR_TEMP is not set +CONFIG_HID_SENSOR_TEMP=m # CONFIG_MLX90614 is not set # CONFIG_MLX90632 is not set # CONFIG_TMP006 is not set @@ -6246,7 +6267,7 @@ CONFIG_AUTOFS4_FS=y CONFIG_AUTOFS_FS=y CONFIG_FUSE_FS=m CONFIG_CUSE=m -# CONFIG_VIRTIO_FS is not set +CONFIG_VIRTIO_FS=m CONFIG_OVERLAY_FS=m # CONFIG_OVERLAY_FS_REDIRECT_DIR is not set CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y