HID: logitech-hidpp: remove HIDPP_QUIRK_CONNECT_EVENTS
authorBenjamin Tissoires <benjamin.tissoires@redhat.com>
Wed, 29 Jun 2016 09:28:02 +0000 (19:28 +1000)
committerJiri Kosina <jkosina@suse.cz>
Thu, 7 Jul 2016 09:25:51 +0000 (11:25 +0200)
Now that we can create battery power_supply sources, it's better to enable
the connect_event callback unconditionally.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Tested-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-logitech-hidpp.c

index 1ead9f697d8c0bed2491fb7032f448cea96f96d6..4eeb550617bfe2bcb4502d660caf15c84eef01e3 100644 (file)
@@ -58,15 +58,14 @@ MODULE_PARM_DESC(disable_tap_to_click,
 #define HIDPP_QUIRK_CLASS_G920                 BIT(3)
 
 /* bits 2..20 are reserved for classes */
-#define HIDPP_QUIRK_CONNECT_EVENTS             BIT(21)
+/* #define HIDPP_QUIRK_CONNECT_EVENTS          BIT(21) disabled */
 #define HIDPP_QUIRK_WTP_PHYSICAL_BUTTONS       BIT(22)
 #define HIDPP_QUIRK_NO_HIDINPUT                        BIT(23)
 #define HIDPP_QUIRK_FORCE_OUTPUT_REPORTS       BIT(24)
 #define HIDPP_QUIRK_HIDPP20_BATTERY            BIT(25)
 #define HIDPP_QUIRK_HIDPP10_BATTERY            BIT(26)
 
-#define HIDPP_QUIRK_DELAYED_INIT               (HIDPP_QUIRK_NO_HIDINPUT | \
-                                                HIDPP_QUIRK_CONNECT_EVENTS)
+#define HIDPP_QUIRK_DELAYED_INIT               HIDPP_QUIRK_NO_HIDINPUT
 
 /*
  * There are two hidpp protocols in use, the first version hidpp10 is known
@@ -2230,8 +2229,7 @@ static int hidpp_raw_hidpp_event(struct hidpp_device *hidpp, u8 *data,
        if (unlikely(hidpp_report_is_connect_event(report))) {
                atomic_set(&hidpp->connected,
                                !(report->rap.params[0] & (1 << 6)));
-               if ((hidpp->quirks & HIDPP_QUIRK_CONNECT_EVENTS) &&
-                   (schedule_work(&hidpp->work) == 0))
+               if (schedule_work(&hidpp->work) == 0)
                        dbg_hid("%s: connect event already queued\n", __func__);
                return 1;
        }
@@ -2449,7 +2447,6 @@ static int hidpp_probe(struct hid_device *hdev, const struct hid_device_id *id)
 
        if (disable_raw_mode) {
                hidpp->quirks &= ~HIDPP_QUIRK_CLASS_WTP;
-               hidpp->quirks &= ~HIDPP_QUIRK_CONNECT_EVENTS;
                hidpp->quirks &= ~HIDPP_QUIRK_NO_HIDINPUT;
        }
 
@@ -2535,12 +2532,10 @@ static int hidpp_probe(struct hid_device *hdev, const struct hid_device_id *id)
                }
        }
 
-       if (hidpp->quirks & HIDPP_QUIRK_CONNECT_EVENTS) {
-               /* Allow incoming packets */
-               hid_device_io_start(hdev);
+       /* Allow incoming packets */
+       hid_device_io_start(hdev);
 
-               hidpp_connect_event(hidpp);
-       }
+       hidpp_connect_event(hidpp);
 
        return ret;
 
@@ -2593,7 +2588,7 @@ static const struct hid_device_id hidpp_devices[] = {
        { /* Keyboard logitech K400 */
          HID_DEVICE(BUS_USB, HID_GROUP_LOGITECH_DJ_DEVICE,
                USB_VENDOR_ID_LOGITECH, 0x4024),
-         .driver_data = HIDPP_QUIRK_CONNECT_EVENTS | HIDPP_QUIRK_CLASS_K400 },
+         .driver_data = HIDPP_QUIRK_CLASS_K400 },
 
        { HID_DEVICE(BUS_USB, HID_GROUP_LOGITECH_DJ_DEVICE,
                USB_VENDOR_ID_LOGITECH, HID_ANY_ID)},