mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-17 02:15:57 +00:00
USB HID: clarify static quirk handling as squirks
Rename existing quirks handling code that operates over a static array to "squirks" (short for static quirks) to differentiate it from the dynamically-allocated quirks that will be introduced in the next patch. Add an accessor function specifically for static quirks, usbhid_exists_squirk(). Signed-off-by: Paul Walmsley <paul@booyaka.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
parent
2eb5dc30eb
commit
8222fbe67c
@ -447,6 +447,34 @@ static const struct hid_blacklist {
|
|||||||
|
|
||||||
{ 0, 0 }
|
{ 0, 0 }
|
||||||
};
|
};
|
||||||
|
/**
|
||||||
|
* usbhid_exists_squirk: return any static quirks for a USB HID device
|
||||||
|
* @idVendor: the 16-bit USB vendor ID, in native byteorder
|
||||||
|
* @idProduct: the 16-bit USB product ID, in native byteorder
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Given a USB vendor ID and product ID, return a pointer to
|
||||||
|
* the hid_blacklist entry associated with that device.
|
||||||
|
*
|
||||||
|
* Returns: pointer if quirk found, or NULL if no quirks found.
|
||||||
|
*/
|
||||||
|
static const struct hid_blacklist *usbhid_exists_squirk(const u16 idVendor,
|
||||||
|
const u16 idProduct)
|
||||||
|
{
|
||||||
|
const struct hid_blacklist *bl_entry = NULL;
|
||||||
|
int n = 0;
|
||||||
|
|
||||||
|
for (; hid_blacklist[n].idVendor; n++)
|
||||||
|
if (hid_blacklist[n].idVendor == idVendor &&
|
||||||
|
hid_blacklist[n].idProduct == idProduct)
|
||||||
|
bl_entry = &hid_blacklist[n];
|
||||||
|
|
||||||
|
if (bl_entry != NULL)
|
||||||
|
dbg("Found squirk 0x%x for USB HID vendor 0x%hx prod 0x%hx\n",
|
||||||
|
bl_entry->quirks, bl_entry->idVendor,
|
||||||
|
bl_entry->idProduct);
|
||||||
|
return bl_entry;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* usbhid_lookup_quirk: return any quirks associated with a USB HID device
|
* usbhid_lookup_quirk: return any quirks associated with a USB HID device
|
||||||
@ -462,7 +490,7 @@ static const struct hid_blacklist {
|
|||||||
u32 usbhid_lookup_quirk(const u16 idVendor, const u16 idProduct)
|
u32 usbhid_lookup_quirk(const u16 idVendor, const u16 idProduct)
|
||||||
{
|
{
|
||||||
u32 quirks = 0;
|
u32 quirks = 0;
|
||||||
int n = 0;
|
const struct hid_blacklist *bl_entry = NULL;
|
||||||
|
|
||||||
/* Ignore all Wacom devices */
|
/* Ignore all Wacom devices */
|
||||||
if (idVendor == USB_VENDOR_ID_WACOM)
|
if (idVendor == USB_VENDOR_ID_WACOM)
|
||||||
@ -474,10 +502,9 @@ u32 usbhid_lookup_quirk(const u16 idVendor, const u16 idProduct)
|
|||||||
idProduct <= USB_DEVICE_ID_CODEMERCS_IOW_LAST)
|
idProduct <= USB_DEVICE_ID_CODEMERCS_IOW_LAST)
|
||||||
return HID_QUIRK_IGNORE;
|
return HID_QUIRK_IGNORE;
|
||||||
|
|
||||||
for (; hid_blacklist[n].idVendor; n++)
|
bl_entry = usbhid_exists_squirk(idVendor, idProduct);
|
||||||
if (hid_blacklist[n].idVendor == idVendor &&
|
if (bl_entry)
|
||||||
hid_blacklist[n].idProduct == idProduct)
|
quirks = bl_entry->quirks;
|
||||||
quirks = hid_blacklist[n].quirks;
|
|
||||||
|
|
||||||
return quirks;
|
return quirks;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user