diff options
Diffstat (limited to 'drivers/hid/hid-elo.c')
-rw-r--r-- | drivers/hid/hid-elo.c | 35 |
1 files changed, 1 insertions, 34 deletions
diff --git a/drivers/hid/hid-elo.c b/drivers/hid/hid-elo.c index 4e49462..f042a6c 100644 --- a/drivers/hid/hid-elo.c +++ b/drivers/hid/hid-elo.c @@ -181,40 +181,7 @@ fail: */ static bool elo_broken_firmware(struct usb_device *dev) { - struct usb_device *hub = dev->parent; - struct usb_device *child = NULL; - u16 fw_lvl = le16_to_cpu(dev->descriptor.bcdDevice); - u16 child_vid, child_pid; - int i; - - if (!use_fw_quirk) - return false; - if (fw_lvl != 0x10d) - return false; - - /* iterate sibling devices of the touch controller */ - usb_hub_for_each_child(hub, i, child) { - child_vid = le16_to_cpu(child->descriptor.idVendor); - child_pid = le16_to_cpu(child->descriptor.idProduct); - - /* - * If one of the devices below is present attached as a sibling of - * the touch controller then this is a newer IBM 4820 monitor that - * does not need the IBM-requested workaround if fw level is - * 0x010d - aka 'M'. - * No other HW can have this combination. - */ - if (child_vid==0x04b3) { - switch (child_pid) { - case 0x4676: /* 4820 21x Video */ - case 0x4677: /* 4820 51x Video */ - case 0x4678: /* 4820 2Lx Video */ - case 0x4679: /* 4820 5Lx Video */ - return false; - } - } - } - return true; + return use_fw_quirk && le16_to_cpu(dev->descriptor.bcdDevice) == 0x10d; } static int elo_probe(struct hid_device *hdev, const struct hid_device_id *id) |