Merge branch 'for-4.15/alps' into for-linus
authorJiri Kosina <jkosina@suse.cz>
Wed, 15 Nov 2017 10:04:13 +0000 (11:04 +0100)
committerJiri Kosina <jkosina@suse.cz>
Wed, 15 Nov 2017 10:04:13 +0000 (11:04 +0100)
- New ALPS touchpad (T4, found currently on HP EliteBook 1000, Zbook Stduio
  and HP Elite book x360) support from Masaki Ota

drivers/hid/hid-core.c
drivers/hid/hid-ids.h
drivers/hid/hid-rmi.c
drivers/hid/hid-tmff.c
drivers/hid/usbhid/hid-quirks.c
drivers/hid/wacom_wac.h

index f1435374006ec424f6948f909624ef6bd05441c4..1961aa689f322b68eddf287b43a33eeddaaebec8 100644 (file)
@@ -2332,6 +2332,7 @@ static const struct hid_device_id hid_have_special_driver[] = {
        { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb304) },
        { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb323) },
        { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb324) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb605) },
        { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb651) },
        { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb653) },
        { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb654) },
index f265c3362f6794ea5e79997114f3acfe4fc8aa08..06697af9e6c18528b9963323a76deeda2ad9c829 100644 (file)
 #define USB_DEVICE_ID_MCC_PMD1024LS    0x0076
 #define USB_DEVICE_ID_MCC_PMD1208LS    0x007a
 
+#define USB_VENDOR_ID_MCS              0x16d0
+#define USB_DEVICE_ID_MCS_GAMEPADBLOCK 0x0bcc
+
 #define USB_VENDOR_ID_MGE              0x0463
 #define USB_DEVICE_ID_MGE_UPS          0xffff
 #define USB_DEVICE_ID_MGE_UPS1         0x0001
index ef241d66562e00950e8979ef4fd0633fd4efdca3..0f43c4292685fcd4bcde4eeeb6268d17a31fe89e 100644 (file)
@@ -368,6 +368,11 @@ static int rmi_check_sanity(struct hid_device *hdev, u8 *data, int size)
 static int rmi_raw_event(struct hid_device *hdev,
                struct hid_report *report, u8 *data, int size)
 {
+       struct rmi_data *hdata = hid_get_drvdata(hdev);
+
+       if (!(hdata->device_flags & RMI_DEVICE))
+               return 0;
+
        size = rmi_check_sanity(hdev, data, size);
        if (size < 2)
                return 0;
@@ -713,9 +718,11 @@ static void rmi_remove(struct hid_device *hdev)
 {
        struct rmi_data *hdata = hid_get_drvdata(hdev);
 
-       clear_bit(RMI_STARTED, &hdata->flags);
-       cancel_work_sync(&hdata->reset_work);
-       rmi_unregister_transport_device(&hdata->xport);
+       if (hdata->device_flags & RMI_DEVICE) {
+               clear_bit(RMI_STARTED, &hdata->flags);
+               cancel_work_sync(&hdata->reset_work);
+               rmi_unregister_transport_device(&hdata->xport);
+       }
 
        hid_hw_stop(hdev);
 }
index b83376077d72282ac3373fe700e8d273d303fc1f..bea8def64f437ed13ed5576a479634cee0a27ca4 100644 (file)
@@ -242,6 +242,8 @@ static const struct hid_device_id tm_devices[] = {
                .driver_data = (unsigned long)ff_rumble },
        { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb324),   /* Dual Trigger 3-in-1 (PS3 Mode) */
                .driver_data = (unsigned long)ff_rumble },
+       { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb605),   /* NASCAR PRO FF2 Wheel */
+               .driver_data = (unsigned long)ff_joystick },
        { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb651),   /* FGT Rumble Force Wheel */
                .driver_data = (unsigned long)ff_rumble },
        { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb653),   /* RGT Force Feedback CLUTCH Raging Wheel */
index f489a5cfcb48cf5216a532091482ac669786e61d..331f7f34ec14e68c85f3cd4a0b051b4e4ffdb365 100644 (file)
@@ -170,6 +170,7 @@ static const struct hid_blacklist {
        { USB_VENDOR_ID_DRACAL_RAPHNET, USB_DEVICE_ID_RAPHNET_2NES2SNES, HID_QUIRK_MULTI_INPUT },
        { USB_VENDOR_ID_DRACAL_RAPHNET, USB_DEVICE_ID_RAPHNET_4NES4SNES, HID_QUIRK_MULTI_INPUT },
        { USB_VENDOR_ID_INNOMEDIA, USB_DEVICE_ID_INNEX_GENESIS_ATARI, HID_QUIRK_MULTI_INPUT },
+       { USB_VENDOR_ID_MCS, USB_DEVICE_ID_MCS_GAMEPADBLOCK, HID_QUIRK_MULTI_INPUT },
 
        { 0, 0 }
 };
index 8a03654048bf611a008e61b4101f35262fb9a5d2..feb62fd4dfc3ecff1ba43ee46fc7f70ec9b3c6d2 100644 (file)
                                 ((f)->physical == HID_DG_PEN) || \
                                 ((f)->application == HID_DG_PEN) || \
                                 ((f)->application == HID_DG_DIGITIZER) || \
+                                ((f)->application == WACOM_HID_WD_PEN) || \
                                 ((f)->application == WACOM_HID_WD_DIGITIZER) || \
                                 ((f)->application == WACOM_HID_G9_PEN) || \
                                 ((f)->application == WACOM_HID_G11_PEN))