]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 17 Aug 2012 18:00:34 +0000 (11:00 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 17 Aug 2012 18:00:34 +0000 (11:00 -0700)
added patches:
usb-add-usb_vendor_and_interface_info-macro.patch

queue-3.4/series
queue-3.4/usb-add-usb_vendor_and_interface_info-macro.patch [new file with mode: 0644]

index 0e056426b46741620148eb6e137ecf832b8ed7fa..1e525e9abc864691ad278b02b2f5e6892003e850 100644 (file)
@@ -21,6 +21,7 @@ xhci-add-etron-xhci_trust_tx_length-quirk.patch
 xhci-increase-reset-timeout-for-renesas-720201-host.patch
 xhci-switch-ppt-ports-to-ehci-on-shutdown.patch
 xhci-fix-bug-after-deq-ptr-set-to-link-trb.patch
+usb-add-usb_vendor_and_interface_info-macro.patch
 usb-support-the-new-interfaces-of-huawei-data-card-devices-in-option-driver.patch
 usb-option-add-zte-k5006-z.patch
 usb-ftdi_sio-add-vid-pid-for-kondo-serial-usb.patch
diff --git a/queue-3.4/usb-add-usb_vendor_and_interface_info-macro.patch b/queue-3.4/usb-add-usb_vendor_and_interface_info-macro.patch
new file mode 100644 (file)
index 0000000..8203dbd
--- /dev/null
@@ -0,0 +1,58 @@
+From d81a5d1956731c453b85c141458d4ff5d6cc5366 Mon Sep 17 00:00:00 2001
+From: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
+Date: Tue, 10 Jul 2012 19:10:06 -0300
+Subject: USB: add USB_VENDOR_AND_INTERFACE_INFO() macro
+
+From: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
+
+commit d81a5d1956731c453b85c141458d4ff5d6cc5366 upstream.
+
+A lot of Broadcom Bluetooth devices provides vendor specific interface
+class and we are getting flooded by patches adding new device support.
+This change will help us enable support for any other Broadcom with vendor
+specific device that arrives in the future.
+
+Only the product id changes for those devices, so this macro would be
+perfect for us:
+
+{ USB_VENDOR_AND_INTERFACE_INFO(0x0a5c, 0xff, 0x01, 0x01) }
+
+Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
+Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
+Acked-by: Henrik Rydberg <rydberg@bitmath.se>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ include/linux/usb.h |   21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+--- a/include/linux/usb.h
++++ b/include/linux/usb.h
+@@ -783,6 +783,27 @@ static inline int usb_make_path(struct u
+       .bInterfaceSubClass = (sc), \
+       .bInterfaceProtocol = (pr)
++/**
++ * USB_VENDOR_AND_INTERFACE_INFO - describe a specific usb vendor with a class of usb interfaces
++ * @vend: the 16 bit USB Vendor ID
++ * @cl: bInterfaceClass value
++ * @sc: bInterfaceSubClass value
++ * @pr: bInterfaceProtocol value
++ *
++ * This macro is used to create a struct usb_device_id that matches a
++ * specific vendor with a specific class of interfaces.
++ *
++ * This is especially useful when explicitly matching devices that have
++ * vendor specific bDeviceClass values, but standards-compliant interfaces.
++ */
++#define USB_VENDOR_AND_INTERFACE_INFO(vend, cl, sc, pr) \
++      .match_flags = USB_DEVICE_ID_MATCH_INT_INFO \
++              | USB_DEVICE_ID_MATCH_VENDOR, \
++      .idVendor = (vend), \
++      .bInterfaceClass = (cl), \
++      .bInterfaceSubClass = (sc), \
++      .bInterfaceProtocol = (pr)
++
+ /* ----------------------------------------------------------------------- */
+ /* Stuff for dynamic usb ids */