lkml.org 
[lkml]   [2008]   [Jun]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [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.


    \
     
     \ /
      Last update: 2008-06-09 12:37    [W:0.024 / U:62.116 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site