summaryrefslogtreecommitdiff
path: root/drivers/hid/hid-sensor-hub.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-09-05 11:54:41 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2017-09-05 11:54:41 -0700
commitb42a362e6d10c342004b183defcb9940331b6737 (patch)
tree193e7152500a7ff9c1b529532f4a5424414a137e /drivers/hid/hid-sensor-hub.c
parent70b8e9eb3b50d8bded63f808b09c4844ef63c3b8 (diff)
parentde6c5070ad3956125fe8d407381c1b18f9749f93 (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
Pull HID update from Jiri Kosina: - Wacom driver fixes/updates (device name generation improvements, touch ring status support) from Jason Gerecke - T100 touchpad support from Hans de Goede - support for batteries driven by HID input reports, from Dmitry Torokhov - Arnd pointed out that driver_lock semaphore is superfluous, as driver core already provides all the necessary concurency protection. Removal patch from Binoy Jayan - logical minimum numbering improvements in sensor-hub driver, from Srinivas Pandruvada - support for Microsoft Win8 Wireless Radio Controls extensions from João Paulo Rechi Vita - assorted small fixes and device ID additions * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (28 commits) HID: prodikeys: constify snd_rawmidi_ops structures HID: sensor: constify platform_device_id HID: input: throttle battery uevents HID: usbmouse: constify usb_device_id and fix space before '[' error HID: usbkbd: constify usb_device_id and fix space before '[' error. HID: hid-sensor-hub: Force logical minimum to 1 for power and report state HID: wacom: Do not completely map WACOM_HID_WD_TOUCHRINGSTATUS usage HID: asus: Add T100CHI bluetooth keyboard dock touchpad support HID: ntrig: constify attribute_group structures. HID: logitech-hidpp: constify attribute_group structures. HID: sensor: constify attribute_group structures. HID: multitouch: constify attribute_group structures. HID: multitouch: use proper symbolic constant for 0xff310076 application HID: multitouch: Support Asus T304UA media keys HID: multitouch: Support HID_GD_WIRELESS_RADIO_CTLS HID: input: optionally use device id in battery name HID: input: map digitizer battery usage HID: Remove the semaphore driver_lock HID: wacom: add USB_HID dependency HID: add ALWAYS_POLL quirk for Logitech 0xc077 ...
Diffstat (limited to 'drivers/hid/hid-sensor-hub.c')
-rw-r--r--drivers/hid/hid-sensor-hub.c94
1 files changed, 0 insertions, 94 deletions
diff --git a/drivers/hid/hid-sensor-hub.c b/drivers/hid/hid-sensor-hub.c
index 4ef73374a8f9..25363fc571bc 100644
--- a/drivers/hid/hid-sensor-hub.c
+++ b/drivers/hid/hid-sensor-hub.c
@@ -579,54 +579,6 @@ void sensor_hub_device_close(struct hid_sensor_hub_device *hsdev)
}
EXPORT_SYMBOL_GPL(sensor_hub_device_close);
-static __u8 *sensor_hub_report_fixup(struct hid_device *hdev, __u8 *rdesc,
- unsigned int *rsize)
-{
- int index;
- struct sensor_hub_data *sd = hid_get_drvdata(hdev);
- unsigned char report_block[] = {
- 0x0a, 0x16, 0x03, 0x15, 0x00, 0x25, 0x05};
- unsigned char power_block[] = {
- 0x0a, 0x19, 0x03, 0x15, 0x00, 0x25, 0x05};
-
- if (!(sd->quirks & HID_SENSOR_HUB_ENUM_QUIRK)) {
- hid_dbg(hdev, "No Enum quirks\n");
- return rdesc;
- }
-
- /* Looks for power and report state usage id and force to 1 */
- for (index = 0; index < *rsize; ++index) {
- if (((*rsize - index) > sizeof(report_block)) &&
- !memcmp(&rdesc[index], report_block,
- sizeof(report_block))) {
- rdesc[index + 4] = 0x01;
- index += sizeof(report_block);
- }
- if (((*rsize - index) > sizeof(power_block)) &&
- !memcmp(&rdesc[index], power_block,
- sizeof(power_block))) {
- rdesc[index + 4] = 0x01;
- index += sizeof(power_block);
- }
- }
-
- /* Checks if the report descriptor of Thinkpad Helix 2 has a logical
- * minimum for magnetic flux axis greater than the maximum */
- if (hdev->product == USB_DEVICE_ID_TEXAS_INSTRUMENTS_LENOVO_YOGA &&
- *rsize == 2558 && rdesc[913] == 0x17 && rdesc[914] == 0x40 &&
- rdesc[915] == 0x81 && rdesc[916] == 0x08 &&
- rdesc[917] == 0x00 && rdesc[918] == 0x27 &&
- rdesc[921] == 0x07 && rdesc[922] == 0x00) {
- /* Sets negative logical minimum for mag x, y and z */
- rdesc[914] = rdesc[935] = rdesc[956] = 0xc0;
- rdesc[915] = rdesc[936] = rdesc[957] = 0x7e;
- rdesc[916] = rdesc[937] = rdesc[958] = 0xf7;
- rdesc[917] = rdesc[938] = rdesc[959] = 0xff;
- }
-
- return rdesc;
-}
-
static int sensor_hub_probe(struct hid_device *hdev,
const struct hid_device_id *id)
{
@@ -778,51 +730,6 @@ static void sensor_hub_remove(struct hid_device *hdev)
}
static const struct hid_device_id sensor_hub_devices[] = {
- { HID_DEVICE(HID_BUS_ANY, HID_GROUP_SENSOR_HUB, USB_VENDOR_ID_INTEL_0,
- USB_DEVICE_ID_INTEL_HID_SENSOR_0),
- .driver_data = HID_SENSOR_HUB_ENUM_QUIRK},
- { HID_DEVICE(HID_BUS_ANY, HID_GROUP_SENSOR_HUB, USB_VENDOR_ID_INTEL_1,
- USB_DEVICE_ID_INTEL_HID_SENSOR_0),
- .driver_data = HID_SENSOR_HUB_ENUM_QUIRK},
- { HID_DEVICE(HID_BUS_ANY, HID_GROUP_SENSOR_HUB, USB_VENDOR_ID_INTEL_1,
- USB_DEVICE_ID_INTEL_HID_SENSOR_1),
- .driver_data = HID_SENSOR_HUB_ENUM_QUIRK},
- { HID_DEVICE(HID_BUS_ANY, HID_GROUP_SENSOR_HUB, USB_VENDOR_ID_MICROSOFT,
- USB_DEVICE_ID_MS_SURFACE_PRO_2),
- .driver_data = HID_SENSOR_HUB_ENUM_QUIRK},
- { HID_DEVICE(HID_BUS_ANY, HID_GROUP_SENSOR_HUB, USB_VENDOR_ID_MICROSOFT,
- USB_DEVICE_ID_MS_TOUCH_COVER_2),
- .driver_data = HID_SENSOR_HUB_ENUM_QUIRK},
- { HID_DEVICE(HID_BUS_ANY, HID_GROUP_SENSOR_HUB, USB_VENDOR_ID_MICROSOFT,
- USB_DEVICE_ID_MS_TYPE_COVER_2),
- .driver_data = HID_SENSOR_HUB_ENUM_QUIRK},
- { HID_DEVICE(HID_BUS_ANY, HID_GROUP_SENSOR_HUB, USB_VENDOR_ID_MICROSOFT,
- 0x07bd), /* Microsoft Surface 3 */
- .driver_data = HID_SENSOR_HUB_ENUM_QUIRK},
- { HID_DEVICE(HID_BUS_ANY, HID_GROUP_SENSOR_HUB, USB_VENDOR_ID_MICROCHIP,
- 0x0f01), /* MM7150 */
- .driver_data = HID_SENSOR_HUB_ENUM_QUIRK},
- { HID_DEVICE(HID_BUS_ANY, HID_GROUP_SENSOR_HUB, USB_VENDOR_ID_STM_0,
- USB_DEVICE_ID_STM_HID_SENSOR),
- .driver_data = HID_SENSOR_HUB_ENUM_QUIRK},
- { HID_DEVICE(HID_BUS_ANY, HID_GROUP_SENSOR_HUB, USB_VENDOR_ID_STM_0,
- USB_DEVICE_ID_STM_HID_SENSOR_1),
- .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, USB_VENDOR_ID_ITE,
- USB_DEVICE_ID_ITE_LENOVO_YOGA),
- .driver_data = HID_SENSOR_HUB_ENUM_QUIRK},
- { HID_DEVICE(HID_BUS_ANY, HID_GROUP_SENSOR_HUB, USB_VENDOR_ID_ITE,
- USB_DEVICE_ID_ITE_LENOVO_YOGA2),
- .driver_data = HID_SENSOR_HUB_ENUM_QUIRK},
- { HID_DEVICE(HID_BUS_ANY, HID_GROUP_SENSOR_HUB, USB_VENDOR_ID_ITE,
- USB_DEVICE_ID_ITE_LENOVO_YOGA900),
- .driver_data = HID_SENSOR_HUB_ENUM_QUIRK},
- { HID_DEVICE(HID_BUS_ANY, HID_GROUP_SENSOR_HUB, USB_VENDOR_ID_INTEL_0,
- 0x22D8),
- .driver_data = HID_SENSOR_HUB_ENUM_QUIRK},
{ HID_DEVICE(HID_BUS_ANY, HID_GROUP_SENSOR_HUB, HID_ANY_ID,
HID_ANY_ID) },
{ }
@@ -835,7 +742,6 @@ static struct hid_driver sensor_hub_driver = {
.probe = sensor_hub_probe,
.remove = sensor_hub_remove,
.raw_event = sensor_hub_raw_event,
- .report_fixup = sensor_hub_report_fixup,
#ifdef CONFIG_PM
.suspend = sensor_hub_suspend,
.resume = sensor_hub_resume,