Re: [PATCH] HID: logitech-dj: add support for the static device in the Powerplay mat/receiver

From: Jiri Kosina
Date: Wed Feb 12 2020 - 08:50:07 EST


On Wed, 15 Jan 2020, Filipe LaÃns wrote:

> 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@xxxxxxxxxxxxx>
> ---
> drivers/hid/hid-logitech-dj.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/hid/hid-logitech-dj.c b/drivers/hid/hid-logitech-dj.c
> index bb50d6e7745b..79294b873057 100644
> --- a/drivers/hid/hid-logitech-dj.c
> +++ b/drivers/hid/hid-logitech-dj.c
> @@ -16,11 +16,11 @@
> #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;
> + }
> +

I guess we can't do anything else than to trust Logitech that they will
not assign conflicting device_index ID in the future to something that
will not be HID++, right?

Or is this properly documented somewhere?

Thanks,

--
Jiri Kosina
SUSE Labs