Loading drivers/hid/hid-core.c +1 −0 Original line number Diff line number Diff line Loading @@ -2020,6 +2020,7 @@ static const struct hid_device_id hid_have_special_driver[] = { { HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_KEYBOARD) }, #if IS_ENABLED(CONFIG_HID_QVR) { HID_USB_DEVICE(USB_VENDOR_ID_QVR5, USB_DEVICE_ID_QVR5) }, { HID_USB_DEVICE(USB_VENDOR_ID_QVR32A, USB_DEVICE_ID_QVR32A) }, #endif { HID_USB_DEVICE(USB_VENDOR_ID_RISO_KAGAKU, USB_DEVICE_ID_RI_KA_WEBMAIL) }, #if IS_ENABLED(CONFIG_HID_ROCCAT) Loading drivers/hid/hid-ids.h +2 −0 Original line number Diff line number Diff line Loading @@ -1129,6 +1129,8 @@ #define USB_DEVICE_ID_UGTIZER_TABLET_GP0610 0x0053 #define USB_VENDOR_ID_QVR5 0x045e #define USB_VENDOR_ID_QVR32A 0x04b4 #define USB_DEVICE_ID_QVR5 0x0659 #define USB_DEVICE_ID_QVR32A 0x00c3 #endif drivers/hid/hid-qvr.c +9 −10 Original line number Diff line number Diff line Loading @@ -317,7 +317,6 @@ static int qvr_external_sensor_probe(struct hid_device *hdev, pr_err("%s: hid_hw_start failed", __func__); goto err_free; } if (hdev->vendor == USB_VENDOR_ID_QVR5) { hid_buf[0] = 2; hid_buf[1] = 7; ret = hid_hw_raw_request(hdev, hid_buf[0], Loading @@ -325,7 +324,6 @@ static int qvr_external_sensor_probe(struct hid_device *hdev, hid_count, HID_FEATURE_REPORT, HID_REQ_SET_REPORT); } return 0; err_free: return ret; Loading @@ -339,7 +337,7 @@ static int qvr_external_sensor_raw_event(struct hid_device *hid, int val; int ret = -1; if ((hid->vendor == USB_VENDOR_ID_QVR5) && (vaddr != NULL)) { if (vaddr != NULL && report->id == 0x1) { ret = qvr_send_package_wrap(data/*hid_value*/, size, hid); if (ret != 0) { pr_err("%s: qvr_send_package_wrap failed", __func__); Loading @@ -359,6 +357,7 @@ static void qvr_external_sensor_device_remove(struct hid_device *hdev) static struct hid_device_id qvr_external_sensor_table[] = { { HID_USB_DEVICE(USB_VENDOR_ID_QVR5, USB_DEVICE_ID_QVR5) }, { HID_USB_DEVICE(USB_VENDOR_ID_QVR32A, USB_DEVICE_ID_QVR32A) }, { } }; MODULE_DEVICE_TABLE(hid, qvr_external_sensor_table); Loading drivers/hid/hid-qvr.h +0 −2 Original line number Diff line number Diff line Loading @@ -15,8 +15,6 @@ #ifndef HID_QVR_H_FILE #define HID_QVR_H_FILE #define USB_VENDOR_ID_QVR5 0x045e #define USB_DEVICE_ID_QVR5 0x0659 #define QVR_EXTERNAL_SENSOR_REPORT_ID 0x1 struct external_imu_format { Loading drivers/hid/usbhid/hid-quirks.c +1 −0 Original line number Diff line number Diff line Loading @@ -171,6 +171,7 @@ static const struct hid_blacklist { { USB_VENDOR_ID_DRACAL_RAPHNET, USB_DEVICE_ID_RAPHNET_2NES2SNES, HID_QUIRK_MULTI_INPUT }, { USB_VENDOR_ID_DRACAL_RAPHNET, USB_DEVICE_ID_RAPHNET_4NES4SNES, HID_QUIRK_MULTI_INPUT }, { USB_VENDOR_ID_QVR5, USB_DEVICE_ID_QVR5, HID_QUIRK_HIDINPUT_FORCE }, { USB_VENDOR_ID_QVR32A, USB_DEVICE_ID_QVR32A, HID_QUIRK_HIDINPUT_FORCE }, { USB_VENDOR_ID_INNOMEDIA, USB_DEVICE_ID_INNEX_GENESIS_ATARI, HID_QUIRK_MULTI_INPUT }, { 0, 0 } Loading Loading
drivers/hid/hid-core.c +1 −0 Original line number Diff line number Diff line Loading @@ -2020,6 +2020,7 @@ static const struct hid_device_id hid_have_special_driver[] = { { HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_KEYBOARD) }, #if IS_ENABLED(CONFIG_HID_QVR) { HID_USB_DEVICE(USB_VENDOR_ID_QVR5, USB_DEVICE_ID_QVR5) }, { HID_USB_DEVICE(USB_VENDOR_ID_QVR32A, USB_DEVICE_ID_QVR32A) }, #endif { HID_USB_DEVICE(USB_VENDOR_ID_RISO_KAGAKU, USB_DEVICE_ID_RI_KA_WEBMAIL) }, #if IS_ENABLED(CONFIG_HID_ROCCAT) Loading
drivers/hid/hid-ids.h +2 −0 Original line number Diff line number Diff line Loading @@ -1129,6 +1129,8 @@ #define USB_DEVICE_ID_UGTIZER_TABLET_GP0610 0x0053 #define USB_VENDOR_ID_QVR5 0x045e #define USB_VENDOR_ID_QVR32A 0x04b4 #define USB_DEVICE_ID_QVR5 0x0659 #define USB_DEVICE_ID_QVR32A 0x00c3 #endif
drivers/hid/hid-qvr.c +9 −10 Original line number Diff line number Diff line Loading @@ -317,7 +317,6 @@ static int qvr_external_sensor_probe(struct hid_device *hdev, pr_err("%s: hid_hw_start failed", __func__); goto err_free; } if (hdev->vendor == USB_VENDOR_ID_QVR5) { hid_buf[0] = 2; hid_buf[1] = 7; ret = hid_hw_raw_request(hdev, hid_buf[0], Loading @@ -325,7 +324,6 @@ static int qvr_external_sensor_probe(struct hid_device *hdev, hid_count, HID_FEATURE_REPORT, HID_REQ_SET_REPORT); } return 0; err_free: return ret; Loading @@ -339,7 +337,7 @@ static int qvr_external_sensor_raw_event(struct hid_device *hid, int val; int ret = -1; if ((hid->vendor == USB_VENDOR_ID_QVR5) && (vaddr != NULL)) { if (vaddr != NULL && report->id == 0x1) { ret = qvr_send_package_wrap(data/*hid_value*/, size, hid); if (ret != 0) { pr_err("%s: qvr_send_package_wrap failed", __func__); Loading @@ -359,6 +357,7 @@ static void qvr_external_sensor_device_remove(struct hid_device *hdev) static struct hid_device_id qvr_external_sensor_table[] = { { HID_USB_DEVICE(USB_VENDOR_ID_QVR5, USB_DEVICE_ID_QVR5) }, { HID_USB_DEVICE(USB_VENDOR_ID_QVR32A, USB_DEVICE_ID_QVR32A) }, { } }; MODULE_DEVICE_TABLE(hid, qvr_external_sensor_table); Loading
drivers/hid/hid-qvr.h +0 −2 Original line number Diff line number Diff line Loading @@ -15,8 +15,6 @@ #ifndef HID_QVR_H_FILE #define HID_QVR_H_FILE #define USB_VENDOR_ID_QVR5 0x045e #define USB_DEVICE_ID_QVR5 0x0659 #define QVR_EXTERNAL_SENSOR_REPORT_ID 0x1 struct external_imu_format { Loading
drivers/hid/usbhid/hid-quirks.c +1 −0 Original line number Diff line number Diff line Loading @@ -171,6 +171,7 @@ static const struct hid_blacklist { { USB_VENDOR_ID_DRACAL_RAPHNET, USB_DEVICE_ID_RAPHNET_2NES2SNES, HID_QUIRK_MULTI_INPUT }, { USB_VENDOR_ID_DRACAL_RAPHNET, USB_DEVICE_ID_RAPHNET_4NES4SNES, HID_QUIRK_MULTI_INPUT }, { USB_VENDOR_ID_QVR5, USB_DEVICE_ID_QVR5, HID_QUIRK_HIDINPUT_FORCE }, { USB_VENDOR_ID_QVR32A, USB_DEVICE_ID_QVR32A, HID_QUIRK_HIDINPUT_FORCE }, { USB_VENDOR_ID_INNOMEDIA, USB_DEVICE_ID_INNEX_GENESIS_ATARI, HID_QUIRK_MULTI_INPUT }, { 0, 0 } Loading