Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
[sfrench/cifs-2.6.git] / drivers / hid / hid-sensor-hub.c
index 4ef73374a8f9881136cabeda32a67c6a21d53a85..25363fc571bcc285a009cffd4fb9ceaf7a28c24f 100644 (file)
@@ -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,