| 697 | | Index: linux-2.6.21/include/linux/usb.h |
| 698 | | =================================================================== |
| 699 | | --- linux-2.6.21.orig/include/linux/usb.h 2010-02-17 18:16:54.000000000 +0100 |
| 700 | | +++ linux-2.6.21/include/linux/usb.h 2010-02-17 18:17:19.000000000 +0100 |
| 701 | | @@ -740,6 +740,29 @@ |
| 702 | | .match_flags = USB_DEVICE_ID_MATCH_INT_INFO, .bInterfaceClass = (cl), \ |
| 703 | | .bInterfaceSubClass = (sc), .bInterfaceProtocol = (pr) |
| 704 | | |
| 705 | | +/** |
| 706 | | + * * USB_DEVICE_AND_INTERFACE_INFO - describe a specific usb device with a class of usb interfaces |
| 707 | | + * * @vend: the 16 bit USB Vendor ID |
| 708 | | + * * @prod: the 16 bit USB Product ID |
| 709 | | + * * @cl: bInterfaceClass value |
| 710 | | + * * @sc: bInterfaceSubClass value |
| 711 | | + * * @pr: bInterfaceProtocol value |
| 712 | | + * * |
| 713 | | + * * This macro is used to create a struct usb_device_id that matches a |
| 714 | | + * * specific device with a specific class of interfaces. |
| 715 | | + * * |
| 716 | | + * * This is especially useful when explicitly matching devices that have |
| 717 | | + * * vendor specific bDeviceClass values, but standards-compliant interfaces. |
| 718 | | + * */ |
| 719 | | +#define USB_DEVICE_AND_INTERFACE_INFO(vend, prod, cl, sc, pr) \ |
| 720 | | + .match_flags = USB_DEVICE_ID_MATCH_INT_INFO \ |
| 721 | | + | USB_DEVICE_ID_MATCH_DEVICE, \ |
| 722 | | + .idVendor = (vend), \ |
| 723 | | + .idProduct = (prod), \ |
| 724 | | + .bInterfaceClass = (cl), \ |
| 725 | | + .bInterfaceSubClass = (sc), \ |
| 726 | | + .bInterfaceProtocol = (pr) |
| 727 | | + |
| 728 | | /* ----------------------------------------------------------------------- */ |
| 729 | | |
| 730 | | /* Stuff for dynamic usb ids *//* Stuff for dynamic usb ids */ |