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

Sasha Levin
2026-02-14T01:04:11Z

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 <jkosina@suse.com>
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:
```c
{ /* 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