iio:hid-sensor-hub: Add in quirk for sensor hub in Lenovo Ideapad Yogas
Subsystems (2)
PATCH 1/1 iio:hid-sensor-hub: Add in quirk for sensor hub in Lenovo Ideapad Yogas
The sensor hub in Lenovo Yogas needs the enumeration quirk. I've been running the patch for about a week with no problems, whereas the unpatched drivers reliably mis-initialized the sensors.
Signed-off-by Peter F. Patel-Schneider <[email protected]>
--- drivers/hid/hid-ids.h | 3 +++ drivers/hid/hid-sensor-hub.c | 3 +++ 2 files changed, 6 insertions(+)
drivers/hid/hid-ids.h +3 -0
@@ -823,6 +823,9 @@#define USB_DEVICE_ID_SYNAPTICS_HD 0x0ac3#define USB_DEVICE_ID_SYNAPTICS_QUAD_HD 0x1ac3 +#define USB_VENDOR_ID_TEXAS_INSTRUMENTS 0x2047 +#define USB_DEVICE_ID_TEXAS_INSTRUMENTS_LENOVO_YOGA 0x0855 +#define USB_VENDOR_ID_THINGM 0x27b8#define USB_DEVICE_ID_BLINK1 0x01ed
drivers/hid/hid-sensor-hub.c +3 -0
@@ -665,6 +665,9 @@ static const struct hid_device_id sensor_hub_devices[] = { {HID_DEVICE (HID_BUS_ANY ,HID_GROUP_SENSOR_HUB ,USB_VENDOR_ID_INTEL_1 , USB_DEVICE_ID_INTEL_HID_SENSOR), .driver_data = HID_SENSOR_HUB_ENUM_QUIRK}, + { HID_DEVICE(HID_BUS_ANY, HID_GROUP_SENSOR_HUB, USB_VENDOR_ID_TEXAS_INSTRUMENTS, + USB_DEVICE_ID_TEXAS_INSTRUMENTS_LENOVO_YOGA), + .driver_data = HID_SENSOR_HUB_ENUM_QUIRK}, { HID_DEVICE(HID_BUS_ANY, HID_GROUP_SENSOR_HUB, HID_ANY_ID, HID_ANY_ID) }, { }
Quoted 36 lines · Peter F. Patel-Schneider
The sensor hub in Lenovo Yogas needs the enumeration quirk. I've been running the patch for about a week with no problems, whereas the unpatched drivers reliably mis-initialized the sensors.
Signed-off-by Peter F. Patel-Schneider <[email protected]>--- drivers/hid/hid-ids.h | 3 +++ drivers/hid/hid-sensor-hub.c | 3 +++ 2 files changed, 6 insertions(+)drivers/hid/hid-ids.h +3
-0@@ -823,6 +823,9 @@#define USB_DEVICE_ID_SYNAPTICS_HD 0x0ac3#define USB_DEVICE_ID_SYNAPTICS_QUAD_HD 0x1ac3 +#define USB_VENDOR_ID_TEXAS_INSTRUMENTS 0x2047 +#define USB_DEVICE_ID_TEXAS_INSTRUMENTS_LENOVO_YOGA 0x0855 +#define USB_VENDOR_ID_THINGM 0x27b8#define USB_DEVICE_ID_BLINK1 0x01eddrivers/hid/hid-sensor-hub.c +3
-0@@ -665,6 +665,9 @@ static const struct hid_device_id sensor_hub_devices[] = { {HID_DEVICE (HID_BUS_ANY ,HID_GROUP_SENSOR_HUB ,USB_VENDOR_ID_INTEL_1 , USB_DEVICE_ID_INTEL_HID_SENSOR), .driver_data = HID_SENSOR_HUB_ENUM_QUIRK}, + { HID_DEVICE(HID_BUS_ANY, HID_GROUP_SENSOR_HUB, USB_VENDOR_ID_TEXAS_INSTRUMENTS, + USB_DEVICE_ID_TEXAS_INSTRUMENTS_LENOVO_YOGA), + .driver_data = HID_SENSOR_HUB_ENUM_QUIRK},
Quoted 4 lines
{ HID_DEVICE(HID_BUS_ANY, HID_GROUP_SENSOR_HUB, HID_ANY_ID,
HID_ANY_ID) },
{ }