mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-30 07:34:12 +08:00
USB: storage: Define a new macro for USB storage match rules
1. Define a new macro for USB storage match rules: matching with Vendor ID and interface descriptors. Signed-off-by: fangxiaozhi <huananhu@huawei.com> Cc: stable <stable@vger.kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
0ba3b2ccc7
commit
07c7be3d87
@ -120,6 +120,17 @@ MODULE_PARM_DESC(quirks, "supplemental list of device IDs and their quirks");
|
||||
.useTransport = use_transport, \
|
||||
}
|
||||
|
||||
#define UNUSUAL_VENDOR_INTF(idVendor, cl, sc, pr, \
|
||||
vendor_name, product_name, use_protocol, use_transport, \
|
||||
init_function, Flags) \
|
||||
{ \
|
||||
.vendorName = vendor_name, \
|
||||
.productName = product_name, \
|
||||
.useProtocol = use_protocol, \
|
||||
.useTransport = use_transport, \
|
||||
.initFunction = init_function, \
|
||||
}
|
||||
|
||||
static struct us_unusual_dev us_unusual_dev_list[] = {
|
||||
# include "unusual_devs.h"
|
||||
{ } /* Terminating entry */
|
||||
@ -131,6 +142,7 @@ static struct us_unusual_dev for_dynamic_ids =
|
||||
#undef UNUSUAL_DEV
|
||||
#undef COMPLIANT_DEV
|
||||
#undef USUAL_DEV
|
||||
#undef UNUSUAL_VENDOR_INTF
|
||||
|
||||
#ifdef CONFIG_LOCKDEP
|
||||
|
||||
|
@ -41,6 +41,20 @@
|
||||
#define USUAL_DEV(useProto, useTrans) \
|
||||
{ USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, useProto, useTrans) }
|
||||
|
||||
/* Define the device is matched with Vendor ID and interface descriptors */
|
||||
#define UNUSUAL_VENDOR_INTF(id_vendor, cl, sc, pr, \
|
||||
vendorName, productName, useProtocol, useTransport, \
|
||||
initFunction, flags) \
|
||||
{ \
|
||||
.match_flags = USB_DEVICE_ID_MATCH_INT_INFO \
|
||||
| USB_DEVICE_ID_MATCH_VENDOR, \
|
||||
.idVendor = (id_vendor), \
|
||||
.bInterfaceClass = (cl), \
|
||||
.bInterfaceSubClass = (sc), \
|
||||
.bInterfaceProtocol = (pr), \
|
||||
.driver_info = (flags) \
|
||||
}
|
||||
|
||||
struct usb_device_id usb_storage_usb_ids[] = {
|
||||
# include "unusual_devs.h"
|
||||
{ } /* Terminating entry */
|
||||
@ -50,6 +64,7 @@ MODULE_DEVICE_TABLE(usb, usb_storage_usb_ids);
|
||||
#undef UNUSUAL_DEV
|
||||
#undef COMPLIANT_DEV
|
||||
#undef USUAL_DEV
|
||||
#undef UNUSUAL_VENDOR_INTF
|
||||
|
||||
/*
|
||||
* The table of devices to ignore
|
||||
|
Loading…
Reference in New Issue
Block a user