Commit 17b72feb2be14e6d37023267dc0e199e8e0e3fdc
Committed by
Greg Kroah-Hartman
1 parent
1b95bee563
Exists in
smarc-l5.0.0_1.0.0-ga
and in
5 other branches
USB: add USB_DEVICE_INTERFACE_CLASS macro
Matching on device and interface class with with unspecified subclass and protocol is sometimes useful. This is slightly different from USB_DEVICE_AND_INTERFACE_INFO which requires the full interface class/subclass/protocol triplet. Signed-off-by: Bjørn Mork <bjorn@mork.no> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Showing 1 changed file with 16 additions and 0 deletions Side-by-side Diff
include/linux/usb.h
... | ... | @@ -808,6 +808,22 @@ |
808 | 808 | .bcdDevice_hi = (hi) |
809 | 809 | |
810 | 810 | /** |
811 | + * USB_DEVICE_INTERFACE_CLASS - describe a usb device with a specific interface class | |
812 | + * @vend: the 16 bit USB Vendor ID | |
813 | + * @prod: the 16 bit USB Product ID | |
814 | + * @cl: bInterfaceClass value | |
815 | + * | |
816 | + * This macro is used to create a struct usb_device_id that matches a | |
817 | + * specific interface class of devices. | |
818 | + */ | |
819 | +#define USB_DEVICE_INTERFACE_CLASS(vend, prod, cl) \ | |
820 | + .match_flags = USB_DEVICE_ID_MATCH_DEVICE | \ | |
821 | + USB_DEVICE_ID_MATCH_INT_CLASS, \ | |
822 | + .idVendor = (vend), \ | |
823 | + .idProduct = (prod), \ | |
824 | + .bInterfaceClass = (cl) | |
825 | + | |
826 | +/** | |
811 | 827 | * USB_DEVICE_INTERFACE_PROTOCOL - describe a usb device with a specific interface protocol |
812 | 828 | * @vend: the 16 bit USB Vendor ID |
813 | 829 | * @prod: the 16 bit USB Product ID |