HID: remove rdesc quirk support
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>
This commit is contained in:
parent
3715ade981
commit
2b88b80301
|
@ -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.
|
||||
*/
|
||||
|
@ -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]);
|
||||
|
|
|
@ -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;
|
||||
|
@ -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",
|
||||
¶mVendor, ¶mProduct, &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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue