[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <484D070E.9050707@gmail.com>
Date: Mon, 09 Jun 2008 12:33:50 +0200
From: Jiri Slaby <jirislaby@...il.com>
To: Jiri Kosina <jkosina@...e.cz>
CC: Dmitry Torokhov <dmitry.torokhov@...il.com>,
linux-input@...r.kernel.org, marcel@...tmann.org,
linux-kernel@...r.kernel.org, anssi.hannula@...il.com
Subject: Re: [PATCH 06/10] HID: move logitech report quirks
On 06/04/2008 03:21 PM, Jiri Kosina wrote:
> On Fri, 16 May 2008, Jiri Slaby wrote:
>
>> static const struct hid_device_id hid_blacklist[] = {
>> + { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_MX3000_RECEIVER) },
>> + { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_S510_RECEIVER) },
>> + { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_S510_RECEIVER_2) },
>> { }
>> };
>
> This shouldn't be needed as soon as the userspace supports the proper
> module autoloading, right?
This is needed to tell generic drivers not to bind these, its' generic
blacklist. I have no idea how this could be done better with current drivers/base/.
>> +#define LOGITECH_RDESC 0x1
>> +
>> +/*
>> + * Certain Logitech keyboards send in report #3 keys which are far
>> + * above the logical maximum described in descriptor. This extends
>> + * the original value of 0x28c of logical maximum to 0x104d
>> + */
>> +static void lg_report_fixup(struct hid_device *hdev, __u8 *rdesc,
>> + unsigned int rsize)
>> +{
>> + if (rsize >= 90 && rdesc[83] == 0x26
>> + && rdesc[84] == 0x8c
>> + && rdesc[85] == 0x02) {
>> + dev_info(&hdev->dev, "fixing up Logitech keyboard report "
>> + "descriptor\n");
>> + rdesc[84] = rdesc[89] = 0x4d;
>> + rdesc[85] = rdesc[90] = 0x10;
>> + }
>> +}
>> +
>> +static const struct hid_device_id lg_devices[] = {
>> + { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_MX3000_RECEIVER),
>> + .driver_data = LOGITECH_RDESC },
>> + { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_S510_RECEIVER),
>> + .driver_data = LOGITECH_RDESC },
>> + { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_S510_RECEIVER_2),
>> + .driver_data = LOGITECH_RDESC },
>> + { }
>
> You set the LOGITECH_RDESC flag here, but it is then never used anywhere.
> I guess that your original intent was to check for this flag in
> lg_report_fixup(), right?
I assumed use of these in the second round (see my previous email) :). Anyway
they are useless now.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists