|
@@ -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
|