HID: intel-ish-hid: Use VID/PID from ISH
authorSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Wed, 30 Jan 2019 21:32:17 +0000 (13:32 -0800)
committerBenjamin Tissoires <benjamin.tissoires@redhat.com>
Fri, 1 Feb 2019 08:26:41 +0000 (09:26 +0100)
The Intel ISH HID can now have other devices attached to it, not just
sensors. Hence ISH HID transport is no longer just used for sensors.
Currently the vendor and product id is hardcoded for sensors, but they
can be obtained from ISH firmware for the real device. The driver already
extract them and store as part of device_info structure in client_data.
So use vendor id/product id obtained from the ISH firmware.

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
drivers/hid/intel-ish-hid/ishtp-hid.c

index e918d78..bc4c536 100644 (file)
@@ -206,8 +206,8 @@ int ishtp_hid_probe(unsigned int cur_hid_dev,
        hid->bus = BUS_INTEL_ISHTP;
        hid->dev.parent = &client_data->cl_device->dev;
        hid->version = le16_to_cpu(ISH_HID_VERSION);
-       hid->vendor = le16_to_cpu(ISH_HID_VENDOR);
-       hid->product = le16_to_cpu(ISH_HID_PRODUCT);
+       hid->vendor = le16_to_cpu(client_data->hid_devices[cur_hid_dev].vid);
+       hid->product = le16_to_cpu(client_data->hid_devices[cur_hid_dev].pid);
        snprintf(hid->name, sizeof(hid->name), "%s %04X:%04X", "hid-ishtp",
                hid->vendor, hid->product);