Commit 7f87a5ea authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'hid-for-linus-2026040801' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid

Pull HID fixes from Jiri Kosina:

 - handling of new keycodes for contextual AI usages (Akshai Murari)

 - fix for UAF in hid-roccat (Benoît Sevens)

 - deduplication of error logging in amd_sfh (Maximilian Pezzullo)

 - various device-specific quirks and device ID additions (Even Xu, Lode
   Willems, Leo Vriska)

* tag 'hid-for-linus-2026040801' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid:
  Input: add keycodes for contextual AI usages (HUTRR119)
  HID: Kysona: Add support for VXE Dragonfly R1 Pro
  HID: amd_sfh: don't log error when device discovery fails with -EOPNOTSUPP
  HID: quirks: add HID_QUIRK_ALWAYS_POLL for 8BitDo Pro 3
  HID: roccat: fix use-after-free in roccat_report_event
  HID: Intel-thc-hid: Intel-quickspi: Add NVL Device IDs
  HID: Intel-thc-hid: Intel-quicki2c: Add NVL Device IDs
parents 52f657e3 45065a50
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -413,6 +413,7 @@ static void sfh_init_work(struct work_struct *work)
	rc = amd_sfh_hid_client_init(mp2);
	if (rc) {
		amd_sfh_clear_intr(mp2);
		if (rc != -EOPNOTSUPP)
			dev_err(&pdev->dev, "amd_sfh_hid_client_init failed err %d\n", rc);
		return;
	}
+6 −0
Original line number Diff line number Diff line
@@ -990,6 +990,9 @@ static const struct hid_usage_entry hid_usage_table[] = {
		{ 0x0c, 0x01c9, "ALContactSync" },
		{ 0x0c, 0x01ca, "ALNavigation" },
		{ 0x0c, 0x01cb, "ALContextawareDesktopAssistant" },
		{ 0x0c, 0x01cc, "ALActionOnSelection" },
		{ 0x0c, 0x01cd, "ALContextualInsertion" },
		{ 0x0c, 0x01ce, "ALContextualQuery" },
		{ 0x0c, 0x0200, "GenericGUIApplicationControls" },
		{ 0x0c, 0x0201, "ACNew" },
		{ 0x0c, 0x0202, "ACOpen" },
@@ -3375,6 +3378,9 @@ static const char *keys[KEY_MAX + 1] = {
	[KEY_BRIGHTNESS_MIN] = "BrightnessMin",
	[KEY_BRIGHTNESS_MAX] = "BrightnessMax",
	[KEY_BRIGHTNESS_AUTO] = "BrightnessAuto",
	[KEY_ACTION_ON_SELECTION] = "ActionOnSelection",
	[KEY_CONTEXTUAL_INSERT] = "ContextualInsert",
	[KEY_CONTEXTUAL_QUERY] = "ContextualQuery",
	[KEY_KBDINPUTASSIST_PREV] = "KbdInputAssistPrev",
	[KEY_KBDINPUTASSIST_NEXT] = "KbdInputAssistNext",
	[KEY_KBDINPUTASSIST_PREVGROUP] = "KbdInputAssistPrevGroup",
+7 −0
Original line number Diff line number Diff line
@@ -22,6 +22,9 @@
#define USB_DEVICE_ID_3M2256		0x0502
#define USB_DEVICE_ID_3M3266		0x0506

#define USB_VENDOR_ID_8BITDO		0x2dc8
#define USB_DEVICE_ID_8BITDO_PRO_3	0x6009

#define USB_VENDOR_ID_A4TECH		0x09da
#define USB_DEVICE_ID_A4TECH_WCP32PU	0x0006
#define USB_DEVICE_ID_A4TECH_X5_005D	0x000a
@@ -1471,6 +1474,10 @@
#define USB_VENDOR_ID_VTL		0x0306
#define USB_DEVICE_ID_VTL_MULTITOUCH_FF3F	0xff3f

#define USB_VENDOR_ID_VXE		0x3554
#define USB_DEVICE_ID_VXE_DRAGONFLY_R1_PRO_DONGLE	0xf58a
#define USB_DEVICE_ID_VXE_DRAGONFLY_R1_PRO_WIRED	0xf58c

#define USB_VENDOR_ID_WACOM		0x056a
#define USB_DEVICE_ID_WACOM_GRAPHIRE_BLUETOOTH	0x81
#define USB_DEVICE_ID_WACOM_INTUOS4_BLUETOOTH   0x00BD
+3 −0
Original line number Diff line number Diff line
@@ -1227,6 +1227,9 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
		case 0x1bc: map_key_clear(KEY_MESSENGER);	break;
		case 0x1bd: map_key_clear(KEY_INFO);		break;
		case 0x1cb: map_key_clear(KEY_ASSISTANT);	break;
		case 0x1cc: map_key_clear(KEY_ACTION_ON_SELECTION);	break;
		case 0x1cd: map_key_clear(KEY_CONTEXTUAL_INSERT);	break;
		case 0x1ce: map_key_clear(KEY_CONTEXTUAL_QUERY);	break;
		case 0x201: map_key_clear(KEY_NEW);		break;
		case 0x202: map_key_clear(KEY_OPEN);		break;
		case 0x203: map_key_clear(KEY_CLOSE);		break;
+2 −0
Original line number Diff line number Diff line
@@ -272,6 +272,8 @@ static void kysona_remove(struct hid_device *hdev)
static const struct hid_device_id kysona_devices[] = {
	{ HID_USB_DEVICE(USB_VENDOR_ID_KYSONA, USB_DEVICE_ID_KYSONA_M600_DONGLE) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_KYSONA, USB_DEVICE_ID_KYSONA_M600_WIRED) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_VXE, USB_DEVICE_ID_VXE_DRAGONFLY_R1_PRO_DONGLE) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_VXE, USB_DEVICE_ID_VXE_DRAGONFLY_R1_PRO_WIRED) },
	{ }
};
MODULE_DEVICE_TABLE(hid, kysona_devices);
Loading