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>
This commit is contained in:
parent
1b95bee563
commit
17b72feb2b
|
@ -807,6 +807,22 @@ static inline int usb_make_path(struct usb_device *dev, char *buf, size_t size)
|
|||
.bcdDevice_lo = (lo), \
|
||||
.bcdDevice_hi = (hi)
|
||||
|
||||
/**
|
||||
* USB_DEVICE_INTERFACE_CLASS - describe a usb device with a specific interface class
|
||||
* @vend: the 16 bit USB Vendor ID
|
||||
* @prod: the 16 bit USB Product ID
|
||||
* @cl: bInterfaceClass value
|
||||
*
|
||||
* This macro is used to create a struct usb_device_id that matches a
|
||||
* specific interface class of devices.
|
||||
*/
|
||||
#define USB_DEVICE_INTERFACE_CLASS(vend, prod, cl) \
|
||||
.match_flags = USB_DEVICE_ID_MATCH_DEVICE | \
|
||||
USB_DEVICE_ID_MATCH_INT_CLASS, \
|
||||
.idVendor = (vend), \
|
||||
.idProduct = (prod), \
|
||||
.bInterfaceClass = (cl)
|
||||
|
||||
/**
|
||||
* USB_DEVICE_INTERFACE_PROTOCOL - describe a usb device with a specific interface protocol
|
||||
* @vend: the 16 bit USB Vendor ID
|
||||
|
|
Loading…
Reference in New Issue