HID: logitech-dj: add support for the static device in the Powerplay mat/receiver
authorFilipe Laíns <lains@archlinux.org>
Wed, 15 Jan 2020 20:18:11 +0000 (20:18 +0000)
committerJiri Kosina <jkosina@suse.cz>
Tue, 10 Mar 2020 13:20:40 +0000 (14:20 +0100)
The Logitech G Powerplay has a lightspeed receiver with a static HID++
device with ID 7 attached to it to. It is used to configure the led on
the mat. For this reason I increased the max number of devices.

Signed-off-by: Filipe Laíns <lains@archlinux.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-logitech-dj.c

index 37e54a4..ed9b1c1 100644 (file)
 #include <asm/unaligned.h>
 #include "hid-ids.h"
 
-#define DJ_MAX_PAIRED_DEVICES                  6
+#define DJ_MAX_PAIRED_DEVICES                  7
 #define DJ_MAX_NUMBER_NOTIFS                   8
 #define DJ_RECEIVER_INDEX                      0
 #define DJ_DEVICE_INDEX_MIN                    1
-#define DJ_DEVICE_INDEX_MAX                    6
+#define DJ_DEVICE_INDEX_MAX                    7
 
 #define DJREPORT_SHORT_LENGTH                  15
 #define DJREPORT_LONG_LENGTH                   32
@@ -980,6 +980,11 @@ static void logi_hidpp_recv_queue_notif(struct hid_device *hdev,
                break;
        }
 
+       /* custom receiver device (eg. powerplay) */
+       if (hidpp_report->device_index == 7) {
+               workitem.reports_supported |= HIDPP;
+       }
+
        if (workitem.type == WORKITEM_TYPE_EMPTY) {
                hid_warn(hdev,
                         "unusable device of type %s (0x%02x) connected on slot %d",