summaryrefslogtreecommitdiff
path: root/drivers/usb/storage/usual-tables.c
diff options
context:
space:
mode:
authorfangxiaozhi <huananhu@huawei.com>2013-02-04 11:14:46 +0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-02-04 22:40:16 +0400
commit07c7be3d87e5cdaf5f94c271c516456364ef286c (patch)
treee95f31a0fc73a7d2d4ffa4e42dfa3941918b1073 /drivers/usb/storage/usual-tables.c
parent0ba3b2ccc72b3df5c305d61f59d93ab0f0e87991 (diff)
downloadlinux-07c7be3d87e5cdaf5f94c271c516456364ef286c.tar.xz
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>
Diffstat (limited to 'drivers/usb/storage/usual-tables.c')
-rw-r--r--drivers/usb/storage/usual-tables.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/usb/storage/usual-tables.c b/drivers/usb/storage/usual-tables.c
index b78a526910fb..5ef8ce74aae4 100644
--- a/drivers/usb/storage/usual-tables.c
+++ b/drivers/usb/storage/usual-tables.c
@@ -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