Skip to content

Commit

Permalink
HID: remove rdesc quirk support
Browse files Browse the repository at this point in the history
Remove support for both dynamic and static report descriptor
quirks. There is no longer rdesc code which it would support,
so it's useless.

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
  • Loading branch information
Jiri Slaby authored and Jiri Kosina committed Oct 14, 2008
1 parent 3715ade commit 2b88b80
Show file tree
Hide file tree
Showing 3 changed files with 0 additions and 62 deletions.
10 changes: 0 additions & 10 deletions drivers/hid/usbhid/hid-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -61,12 +61,6 @@ MODULE_PARM_DESC(quirks, "Add/modify USB HID quirks by specifying "
" quirks=vendorID:productID:quirks"
" where vendorID, productID, and quirks are all in"
" 0x-prefixed hex");
static char *rdesc_quirks_param[MAX_USBHID_BOOT_QUIRKS] = { [ 0 ... (MAX_USBHID_BOOT_QUIRKS - 1) ] = NULL };
module_param_array_named(rdesc_quirks, rdesc_quirks_param, charp, NULL, 0444);
MODULE_PARM_DESC(rdesc_quirks, "Add/modify report descriptor quirks by specifying "
" rdesc_quirks=vendorID:productID:rdesc_quirks"
" where vendorID, productID, and rdesc_quirks are all in"
" 0x-prefixed hex");
/*
* Input submission and I/O error handler.
*/
Expand Down Expand Up @@ -826,10 +820,6 @@ static int usbhid_parse(struct hid_device *hid)
goto err;
}

usbhid_fixup_report_descriptor(le16_to_cpu(dev->descriptor.idVendor),
le16_to_cpu(dev->descriptor.idProduct), rdesc,
rsize, rdesc_quirks_param);

dbg_hid("report descriptor (size %u, read %d) = ", rsize, n);
for (n = 0; n < rsize; n++)
dbg_hid_line(" %02x", (unsigned char) rdesc[n]);
Expand Down
51 changes: 0 additions & 51 deletions drivers/hid/usbhid/hid-quirks.c
Original file line number Diff line number Diff line change
Expand Up @@ -67,15 +67,6 @@ static const struct hid_blacklist {
{ 0, 0 }
};

/* Quirks for devices which require report descriptor fixup go here */
static const struct hid_rdesc_blacklist {
__u16 idVendor;
__u16 idProduct;
__u32 quirks;
} hid_rdesc_blacklist[] = {
{ 0, 0 }
};

/* Dynamic HID quirks list - specified at runtime */
struct quirks_list_struct {
struct hid_blacklist hid_bl_item;
Expand Down Expand Up @@ -303,45 +294,3 @@ u32 usbhid_lookup_quirk(const u16 idVendor, const u16 idProduct)
}

EXPORT_SYMBOL_GPL(usbhid_lookup_quirk);

static void __usbhid_fixup_report_descriptor(__u32 quirks, char *rdesc, unsigned rsize)
{
}

/**
* usbhid_fixup_report_descriptor: check if report descriptor needs fixup
*
* Description:
* Walks the hid_rdesc_blacklist[] array and checks whether the device
* is known to have broken report descriptor that needs to be fixed up
* prior to entering the HID parser
*
* Returns: nothing
*/
void usbhid_fixup_report_descriptor(const u16 idVendor, const u16 idProduct,
char *rdesc, unsigned rsize, char **quirks_param)
{
int n, m;
u16 paramVendor, paramProduct;
u32 quirks;

/* static rdesc quirk entries */
for (n = 0; hid_rdesc_blacklist[n].idVendor; n++)
if (hid_rdesc_blacklist[n].idVendor == idVendor &&
hid_rdesc_blacklist[n].idProduct == idProduct)
__usbhid_fixup_report_descriptor(hid_rdesc_blacklist[n].quirks,
rdesc, rsize);

/* runtime rdesc quirk entries handling */
for (n = 0; quirks_param[n] && n < MAX_USBHID_BOOT_QUIRKS; n++) {
m = sscanf(quirks_param[n], "0x%hx:0x%hx:0x%x",
&paramVendor, &paramProduct, &quirks);

if (m != 3)
printk(KERN_WARNING
"Could not parse HID quirk module param %s\n",
quirks_param[n]);
else if (paramVendor == idVendor && paramProduct == idProduct)
__usbhid_fixup_report_descriptor(quirks, rdesc, rsize);
}
}
1 change: 0 additions & 1 deletion include/linux/hid.h
Original file line number Diff line number Diff line change
Expand Up @@ -734,7 +734,6 @@ extern void hid_generic_exit(void);
u32 usbhid_lookup_quirk(const u16 idVendor, const u16 idProduct);
int usbhid_quirks_init(char **quirks_param);
void usbhid_quirks_exit(void);
void usbhid_fixup_report_descriptor(const u16, const u16, char *, unsigned, char **);

#ifdef CONFIG_HID_FF
int hid_ff_init(struct hid_device *hid);
Expand Down

0 comments on commit 2b88b80

Please sign in to comment.