Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a5cb9da2 authored by Sathish Ambley's avatar Sathish Ambley
Browse files

HID: Adding new vendor id for QVR support



Adding new vendor id to support additional hardware.

Change-Id: I9b37b4dfe0c205428d235ffe1e5f8d8ebe918998
Signed-off-by: default avatarRohit Bandi <rohitbandi@codeaurora.org>
Signed-off-by: default avatarSathish Ambley <sathishambley@codeaurora.org>
parent 5e201129
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1228,6 +1228,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
+3 −0
Original line number Diff line number Diff line
@@ -170,6 +170,8 @@ static const struct hid_device_id hid_quirks[] = {
	{ HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_QUAD_USB_JOYPAD), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT },
	{ HID_USB_DEVICE(USB_VENDOR_ID_QVR5, USB_DEVICE_ID_QVR5),
	HID_QUIRK_HIDINPUT_FORCE | HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE },
	{ HID_USB_DEVICE(USB_VENDOR_ID_QVR32A, USB_DEVICE_ID_QVR32A),
	HID_QUIRK_HIDINPUT_FORCE | HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE },

	{ 0 }
};
@@ -716,6 +718,7 @@ static const struct hid_device_id hid_have_special_driver[] = {
#endif
#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
	{ }
};
+12 −13
Original line number Diff line number Diff line
@@ -305,7 +305,6 @@ static int qvr_external_sensor_probe(struct hid_device *hdev,
		pr_err("%s: hid_hw_start failed\n", __func__);
		goto err_free;
	}
	if (hdev->vendor == USB_VENDOR_ID_QVR5) {
	hid_buf = kzalloc(255, GFP_ATOMIC);
	if (hid_buf == NULL)
		return -ENOMEM;
@@ -316,7 +315,6 @@ static int qvr_external_sensor_probe(struct hid_device *hdev,
		HID_FEATURE_REPORT,
		HID_REQ_SET_REPORT);
	kfree(hid_buf);
	}

	qvr_device = &hdev->dev;

@@ -334,7 +332,7 @@ static int qvr_external_sensor_raw_event(struct hid_device *hid,
	static 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) {
			val = 1 ^ val;
@@ -353,6 +351,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);
+0 −2
Original line number Diff line number Diff line
@@ -16,8 +16,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 {