Thread (1 message) 1 message, 1 author, 2026-02-14

[PATCH AUTOSEL 6.19-6.12] HID: logitech-hidpp: Add support for Logitech K980

STALE230d

From: Sasha Levin <sashal@kernel.org>
Date: 2026-02-14 01:04:11
Also in: linux-patches, stable
Subsystem: hid core layer, hid logitech drivers, hid++ logitech drivers, the rest · Maintainers: Jiri Kosina, Benjamin Tissoires, Linus Torvalds

From: Bastien Nocera <hadess@hadess.net>

[ Upstream commit af4fe07a9d963a72438ade96cf090e84b3399d0c ]

Add support for the solar-charging Logitech K980 keyboard, over
Bluetooth. Bolt traffic doesn't get routed through logitech-dj, so
this code isn't triggered when Bolt is used.

Signed-off-by: Bastien Nocera <hadess@hadess.net>
Signed-off-by: Jiri Kosina <redacted>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---

LLM Generated explanations, may be completely bogus:

## Analysis of HID: logitech-hidpp: Add support for Logitech K980

### Commit Message Analysis
The commit adds support for the Logitech K980 (Slim Solar+ keyboard)
over Bluetooth by adding its device ID to the `hidpp_devices` table in
the logitech-hidpp HID driver.

### Code Change Analysis
The change is a **two-line addition** of a new `HID_BLUETOOTH_DEVICE`
entry to the existing `hidpp_devices[]` table:
{ /* Slim Solar+ K980 Keyboard over Bluetooth */
  HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb391) },
This is the textbook definition of a **new device ID addition** to an
existing driver. The driver (`hid-logitech-hidpp`) already exists in all
stable trees, and this just adds a Bluetooth product ID (0xb391) so the
kernel recognizes and properly handles this keyboard.

### Exception Category: New Device ID
This falls squarely into the "NEW DEVICE IDs" exception category for
stable backports:
- The driver already exists in stable trees
- Only a device ID is being added (no new code paths, no new functions)
- It's a trivial two-line addition to an ID table
- It enables an existing, well-tested driver to work with a specific
  piece of hardware

### Risk Assessment
- **Risk: Extremely low.** Adding an entry to a device ID table cannot
  break any existing functionality. The new entry only matches a
  specific Logitech Bluetooth device (vendor 0x046d, product 0xb391). No
  existing device matching is affected.
- **Scope: Minimal.** Two lines added, one file changed.
- **Dependencies: None.** This is completely self-contained.

### User Impact
Without this patch, users of the Logitech K980 keyboard over Bluetooth
won't get the hidpp driver's features (which for a solar keyboard
includes battery/charging status reporting). With this patch, the
keyboard is properly recognized and handled by the specialized Logitech
HID++ driver.

### Stability Considerations
- The commit was reviewed and applied by the HID subsystem maintainer
  (Jiri Kosina)
- The pattern is identical to dozens of other device ID entries in the
  same table
- Zero chance of regression for existing users

### Conclusion
This is a classic device ID addition — one of the most common and safest
types of stable backports. It enables hardware support for a specific
Logitech keyboard with zero risk to existing functionality. It meets all
stable criteria: obviously correct, small, tested, and fixes a real
issue (device not working with the appropriate driver).

**YES**

 drivers/hid/hid-logitech-hidpp.c | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/drivers/hid/hid-logitech-hidpp.c b/drivers/hid/hid-logitech-hidpp.c
index e871f1729d4b3..ca96102121b85 100644
--- a/drivers/hid/hid-logitech-hidpp.c
+++ b/drivers/hid/hid-logitech-hidpp.c
@@ -4666,6 +4666,8 @@ static const struct hid_device_id hidpp_devices[] = {
 	  HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb037) },
 	{ /* MX Anywhere 3SB mouse over Bluetooth */
 	  HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb038) },
+	{ /* Slim Solar+ K980 Keyboard over Bluetooth */
+	  HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb391) },
 	{}
 };
 
-- 
2.51.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help