From nobody Fri Sep 25 21:40:25 2026 Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 46E531A681B for ; Tue, 8 Sep 2026 11:18:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788866317; cv=none; b=n4tTL7/WU27TIjDgwfU9TQPgKB98Hz3FBIhfMtGQRVULHUWWGY74rPTKn18OU5eyUnYmHOa81AjPhIyJ2K1XaJvGPHnN3ddEn3wB2q0bAbS0ZYEh84f9Wwe9FgqB8/q2luTDXVy5kPpLU4ebUHHIzpu4pykrzNXFILmmnrWjeKg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788866317; c=relaxed/simple; bh=fIz/HrFxATsMpc2EUMqMUXZP+raGKK9br1Gr+ook9Bk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=gYNw1/yl5O7T9uwKAindOARoGLJ5FiwCi/4x5Kko8+B1PtgF9zyruahlQaBjukrilPvHbC39p2NGVwDaINQsVCKgixC88FL1XUCJMxy9aje6kRfu9QY6l6O+QAU/8xVSJXl1Q68ISqNenwxOdO9i8Ng6aB8s3vC9jcmsuXmI710= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=FcpMFY3n; arc=none smtp.client-ip=209.85.221.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="FcpMFY3n" Received: by mail-wr1-f42.google.com with SMTP id ffacd0b85a97d-484374f54d0so2871925f8f.3 for ; Tue, 08 Sep 2026 04:18:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788866306; x=1789471106; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=97Pr2TsyamP85AaCa0QMFuoJcjdpS6Zemfk+b51bDo8=; b=FcpMFY3n5d5vhf3uGf7u2FLZkjp38xHhS+tNl+BF1w8pkWrEVehjA2MYDXYJsdAOxh cYr4D/SWqQrEzSPepk8V85l0Xe78K0TteLZBTXX5PDTQ+69+WnIOmmkGSGegxKzch5xk B96e7Jzr/++ojF3GAFDXpZl8fAHmjE0SQMJwTUFxhaRc5WeIdXFfXb9mC1YUNP7QsL2I OUp1a75iaNciA1csrLmsO2rfOc1gwZoJ6OLOH8sK7BmyEMGCg8fm2GEBHXNErgOAo2BR GCBGmnW/Cw2YOLNsLAYHlEr+f8yXuhhPU+2VOjoESveOpWRQsVlFQF76b6yNS1Q5kGMZ mCoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788866306; x=1789471106; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=97Pr2TsyamP85AaCa0QMFuoJcjdpS6Zemfk+b51bDo8=; b=O7uJPdof2agrN3Tccy1WQIcxbwWWvsBiH/p+mnd/3tzNHvgED+pqWLHELn9VmhPvKN k/Gp+iSvlb+ZQS0uSA8B83HGNnzOBmTrcxJf1aPyk77Axz4olEFf08HbIat/Nowj+cpV iKXPnCNLAVw2DgyaOMATloNR6URVCWoHcYIuOzqE6ukeGP1a/zs1kLUPwFLle0JVNqf2 mouEHXuBEZQXHxgCw8zAJzuzUUof8pXerGmKQt5PEjZfT6sA+M+VkTO+0Ar0DrKqae6C d+1C1iuUzqckYgcGlaWzzaCuV5d8ikhO1dy8i+qU3DpbJR4jZ4ICYFpy/9vD5RoocfA8 lweA== X-Forwarded-Encrypted: i=1; AKwUvBwoS62hQXXD1MpT6FWC8Ps9n+r+4wkaf2YoyMBQ8kmwMB5sItYBhK9j3kqRml23oTtlX06MqujVBUc5Xqo=@vger.kernel.org X-Gm-Message-State: AFuF++nVfnDxSoEcJtx76DGo7PKb3lZ7szpuvHuxEoqK232y+mRy3xxt owevmbjsKLw2Fc1Q5jRJEx9/FAQqVtA/rHoS93gEkwfO/LWGu0vJBycG X-Gm-Gg: AYBFou36qxdL7l7XUMIwIi1SMr/RRsvloZ8yuj+eHh0/HHsmPw56AFjpQLaALHB3S9s /Cp1WUeBIiKoIBSGbdRub5JLHYi+ybdu/Umvm7lPv0tCMaZOl/mVlx69LsQ8UpFdCFeLlC/s2mY 3NXDxbAjsdMdXaC4IvE/qMrxRuKFrSCKYaEtGHM4vEDZ27vBaZQ0Z0E8RJ3wqo+YxzS2qbN+pwc i6qYyEUNpxrE+0OjtMiBzSHVWt0QBUyF0fe4kg9CNRTzJQ7Co8PyaGENkJtZwYs2e3kyaYEFb0t jyI4jifHoi3kWUX6hfi9zAdI7b3lNGUbGcVUXD+lA38H+qIakuNX7efhSh6haESpeYQYAxoKerQ w/tBI0ap7JTOjIxPLbxPyej6RWE5w5n2Atb9NwC4PHySoI5oD2/y0pI8zp0zNg6QJ5nwdSgcipm PWQPRE6i3KYdgQ8CicD5EAhn39gqQ7UIDNc5oG/m7kct2mOQGRRNDmQqAgmpQjVhoFuwM5jbYeD 02DkfCAivs9cr5NTS7YcnBupMy59SNhnElPkIUO4Al0 X-Received: by 2002:a05:6000:707:b0:485:8542:fee3 with SMTP id ffacd0b85a97d-4858708cab5mr62827597f8f.16.1788866305735; Tue, 08 Sep 2026 04:18:25 -0700 (PDT) Received: from localhost.localdomain (mob-31-26-103-238.net.vodafone.it. [31.26.103.238]) by smtp.googlemail.com with ESMTPSA id ffacd0b85a97d-4858d2693e8sm34422099f8f.3.2026.09.08.04.18.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Sep 2026 04:18:25 -0700 (PDT) From: Oleg Keri To: Jiri Kosina , Benjamin Tissoires , "Derek J. Clark" , Mark Pearson Cc: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 1/2] HID: i2c-hid: add reset quirk for Lenovo Yoga Slim 7x Gen 11 keyboard Date: Tue, 8 Sep 2026 13:18:11 +0200 Message-ID: <20260908111812.43837-2-okerixx@gmail.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260908111812.43837-1-okerixx@gmail.com> References: <20260908111812.43837-1-okerixx@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The ITE controller behind the keyboard of the Lenovo Yoga Slim 7x Gen 11 (048d:83db) carries out a reset but never raises the interrupt that acknowledges it. i2c_hid_finish_hwreset() therefore waits out its full one second timeout and logs "device did not ack reset within 1000 ms" on every probe and every resume, before the keyboard comes up regardless. Set I2C_HID_QUIRK_NO_IRQ_AFTER_RESET for it, as is already done for several other ITE parts, so the reset is followed by a fixed 100 ms sleep instead. Signed-off-by: Oleg Keri --- drivers/hid/hid-ids.h | 1 + drivers/hid/i2c-hid/i2c-hid-core.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index b3aca5aa9176..2e9d0fc41ed0 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -765,6 +765,7 @@ #define I2C_DEVICE_ID_ITE_LENOVO_LEGION_Y720 0x837a #define USB_DEVICE_ID_ITE_LENOVO_YOGA900 0x8396 #define I2C_DEVICE_ID_ITE_LENOVO_YOGA_SLIM_7X_KEYBOARD 0x8987 +#define I2C_DEVICE_ID_ITE_LENOVO_YOGA_SLIM_7X_G11_KEYBOARD 0x83db #define USB_DEVICE_ID_ITE8595 0x8595 #define USB_DEVICE_ID_ITE_MEDION_E1239T 0xce50 =20 diff --git a/drivers/hid/i2c-hid/i2c-hid-core.c b/drivers/hid/i2c-hid/i2c-h= id-core.c index 0ff07fdab442..ad8d9f329404 100644 --- a/drivers/hid/i2c-hid/i2c-hid-core.c +++ b/drivers/hid/i2c-hid/i2c-hid-core.c @@ -126,6 +126,8 @@ static const struct i2c_hid_quirks { I2C_HID_QUIRK_NO_IRQ_AFTER_RESET }, { I2C_VENDOR_ID_ITE, I2C_DEVICE_ID_ITE_VOYO_WINPAD_A15, I2C_HID_QUIRK_NO_IRQ_AFTER_RESET }, + { USB_VENDOR_ID_ITE, I2C_DEVICE_ID_ITE_LENOVO_YOGA_SLIM_7X_G11_KEYBOARD, + I2C_HID_QUIRK_NO_IRQ_AFTER_RESET }, { I2C_VENDOR_ID_RAYDIUM, I2C_PRODUCT_ID_RAYDIUM_3118, I2C_HID_QUIRK_NO_IRQ_AFTER_RESET }, { USB_VENDOR_ID_ALPS_JP, HID_ANY_ID, --=20 2.55.0 From nobody Fri Sep 25 21:40:25 2026 Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A815D52D2BB for ; Tue, 8 Sep 2026 11:18:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788866317; cv=none; b=HxdpuKDR/2ca2FFE51DnRY6TNsrbSNSXxU0kstkealGThliD8m71w/C9ACO6ukRG8xHdMRG210mwmP2LYXBSoCLKkl/1LReIauSFQIIfHQvagjDd1tAu+LNKzODjwFtql6Nshq4+F5pGHYnXVWDznS8xDya4F5A6ZBoFGUUg1U0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788866317; c=relaxed/simple; bh=t/ovtFrISDktBvngN1BFezgR29OO5wT7f3gkFho/p6Y=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=n1K5hv9s5b0nJS37uRvNSmvxC/ScK5R3Oml8A4RKUd8s+AK577lJMvW1af57wReCIVa+HSH1rpsxWqq17MbgA6woogubUUsljHsLmcC9iTm/lGJ7cerJaRGLpfa83vZCFr4cusbOjbHh0jezrzJyGw9FyaZsdD4X+LCk5qk9+l0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=kXgU2Ube; arc=none smtp.client-ip=209.85.221.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="kXgU2Ube" Received: by mail-wr1-f47.google.com with SMTP id ffacd0b85a97d-485843aeab8so5038023f8f.1 for ; Tue, 08 Sep 2026 04:18:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788866307; x=1789471107; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Gk/nJeJxwPg2pq5tNRM4eCstoAGF0TBlM4pNX6SM0kY=; b=kXgU2UbeblVOpJxBU4KLQ61KVyf5ihL461GpQ+KmK5Bv1pQaMrx5EOj23PMfWCDohZ IUPXF/ZGU7BljhgKQvEgoXkILy3qDbjBhN6YSH/7cGrns9CWkzKhEvVw2IAR09LTgNYM lEv7PDcJQd2dToSZtRDT0eGEzrrZXZK/3C++fMgglfrnHOFleh2wulHX4hkJUpW+1fCM 2+N5H6RJaRIg+WK4D/bzXVXQgkqromOW6sGyq69fTfsMet3WIaJYl/ZtIoZZ4RcZHPQV KiTAhWKWdacGskOd3gQSqZp0jq0LquMxoH2jlfHcdTnkWhMwq5IiSUjFVF+Zh+te7C8C 6FEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788866307; x=1789471107; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=Gk/nJeJxwPg2pq5tNRM4eCstoAGF0TBlM4pNX6SM0kY=; b=EJAPZc+VohbsFSAsoNIMUrmGyezztZJ2ry+oZC1/4Y08t2ZP6642okIPrUcfD65mLj Ovt63XT1oN2F+Q2Faekcz+8TJkR1LAoQ3EIHlZrzLnMDmzTrMjjKR4MbJmOImgwaxuYP zFhLu4lJGC8enJAa56zPLLWRD5kcV3G0WFYTS68jVVI63xLKBW3+jVJM8vm/oIZU8a/r URUZYR2kUsN56+KqHpZXyUA3GviNo7FslEOHRcpP3d3uxrCKRdzomVXX+qXqSp4Kwm5P DdJW+RAfRAgfnQQ9A0uElgIv4xkRg8svMtvdIg2ZmxITk+Q8Vid5j8K/VjSTkGq6Fbh/ uQ4A== X-Forwarded-Encrypted: i=1; AKwUvByz03a+5g+rkIxCaWUvu0W9S6KAoQOFiKS+wbC2Kr4p0gGZ86KYM+yIef1qXJR4jGpZqbxBLbn2WiVzdSs=@vger.kernel.org X-Gm-Message-State: AFuF++mRK2vLnymPFDgjsZqawckpNnHep1KKTcf/d8JWULti8ebNg8/M uFB06jmV5H6VxtuUcfNqxjHqoszfHNSNtAFdCqQ2Yy0EvQv9K+P9ITY0 X-Gm-Gg: AYBFou3n8++b7zw5AmHUfc6kT705XL9YgupM68r78uVX4V/pA87QfG8atypcvFJuTsf jghLsTa9IejFe/FKlBKxL9C9Is0qqT775169AjG05K3wByL9eZJeKwOcO2pZ5YBWvm6aj9m9xxb CZjRhNVY/YLnXm3kXBnhqP5MitFf3SjEAv+J2tLERfiSd5m1idzihyICNmJW9QFoKcIcy7zBo1M EBErKACpT3fbkBDjxYLZGwh6or0FuJeobucNdvD3Bph+7H4APpYWSoohDyZl9uYnHEOgbOjFrUj oOHauSi4U+Qa2d62CdDnBJvaT4lOmU1+Zc78IQmxgTPZV8oavylwM3b1JA6SJNobT2QOmQWEZ7m X5J/t7L19pmkQ7CVmtszH5aLNJnv51bBXxBJSTASFyJL6LSSaIOeLyoXDhpBEbSyaC95jXlC6bG lJFhp7q5m02+jKRXfD+wACu9ytP9ntOQ6IxiYd2SkLpG2OeANFycbL7hvJMftmBE+AintIuu5kN 9896ik05WpR+CtJRp5gCVJGHMVNLTDCD4gkxd+RfZiX X-Received: by 2002:a05:600c:3485:b0:49c:cee0:e7c1 with SMTP id 5b1f17b1804b1-49cf825c119mr619835105e9.16.1788866307154; Tue, 08 Sep 2026 04:18:27 -0700 (PDT) Received: from localhost.localdomain (mob-31-26-103-238.net.vodafone.it. [31.26.103.238]) by smtp.googlemail.com with ESMTPSA id ffacd0b85a97d-4858d2693e8sm34422099f8f.3.2026.09.08.04.18.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Sep 2026 04:18:26 -0700 (PDT) From: Oleg Keri To: Jiri Kosina , Benjamin Tissoires , "Derek J. Clark" , Mark Pearson Cc: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 2/2] HID: lenovo: suppress phantom radio control input on Yoga Slim 7x Gen 11 Date: Tue, 8 Sep 2026 13:18:12 +0200 Message-ID: <20260908111812.43837-3-okerixx@gmail.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260908111812.43837-1-okerixx@gmail.com> References: <20260908111812.43837-1-okerixx@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The ITE keyboard controller (048d:83db) declares a Wireless Radio Controls application collection, which hid-input registers as a second input device advertising KEY_RFKILL. That collection never reports anything: the airplane mode key is wired to the embedded controller and reaches the host as EC event 0x19, where the platform driver emits the key. Map the collection to nothing so hidinput_has_been_populated() discards it and userspace is left with a single, real KEY_RFKILL source. Signed-off-by: Oleg Keri --- drivers/hid/hid-lenovo.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/hid/hid-lenovo.c b/drivers/hid/hid-lenovo.c index 3976d7b53b14..617bba662659 100644 --- a/drivers/hid/hid-lenovo.c +++ b/drivers/hid/hid-lenovo.c @@ -476,6 +476,16 @@ static int lenovo_input_mapping_x1_tab_kbd(struct hid_= device *hdev, return 0; } =20 +static int lenovo_input_mapping_yoga7x_g11_kbd(struct hid_device *hdev, + struct hid_input *hi, struct hid_field *field, + struct hid_usage *usage, unsigned long **bit, int *max) +{ + if (field->application =3D=3D HID_GD_WIRELESS_RADIO_CTLS) + return -1; + + return 0; +} + static int lenovo_input_mapping(struct hid_device *hdev, struct hid_input *hi, struct hid_field *field, struct hid_usage *usage, unsigned long **bit, int *max) @@ -510,6 +520,8 @@ static int lenovo_input_mapping(struct hid_device *hdev, case USB_DEVICE_ID_LENOVO_X1_TAB2: case USB_DEVICE_ID_LENOVO_X1_TAB3: return lenovo_input_mapping_x1_tab_kbd(hdev, hi, field, usage, bit, max); + case I2C_DEVICE_ID_ITE_LENOVO_YOGA_SLIM_7X_G11_KEYBOARD: + return lenovo_input_mapping_yoga7x_g11_kbd(hdev, hi, field, usage, bit, = max); default: return 0; } @@ -1568,6 +1580,8 @@ static const struct hid_device_id lenovo_devices[] = =3D { USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_X13_TAB) }, { HID_DEVICE(BUS_I2C, HID_GROUP_GENERIC, USB_VENDOR_ID_ITE, I2C_DEVICE_ID_ITE_LENOVO_YOGA_SLIM_7X_KEYBOARD) = }, + { HID_DEVICE(BUS_I2C, HID_GROUP_GENERIC, + USB_VENDOR_ID_ITE, I2C_DEVICE_ID_ITE_LENOVO_YOGA_SLIM_7X_G11_KEYBOA= RD) }, { } }; =20 --=20 2.55.0