usb: gadget: uvc: Use macro for interrupt endpoint status size instead of using a...
authorBhupesh Sharma <bhupesh.sharma@st.com>
Fri, 1 Jun 2012 09:38:55 +0000 (15:08 +0530)
committerFelipe Balbi <balbi@ti.com>
Mon, 4 Jun 2012 15:12:31 +0000 (18:12 +0300)
This patch adds a MACRO for the UVC video control status (interrupt) endpoint and
removes the magic number which was being used earlier.

Some UDCs have issues supporting an interrupt IN endpoint having a max packet
size less than a particular value (say 32). It is easier in that case to simply
change the MACRO value instead of changing the max packet size value at a
number of locations.

Signed-off-by: Bhupesh Sharma <bhupesh.sharma@st.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/gadget/f_uvc.c

index 054c35a..dd7d7a9 100644 (file)
@@ -59,6 +59,8 @@ static struct usb_gadget_strings *uvc_function_strings[] = {
 #define UVC_INTF_VIDEO_CONTROL                 0
 #define UVC_INTF_VIDEO_STREAMING               1
 
+#define STATUS_BYTECOUNT                       16      /* 16 bytes status */
+
 static struct usb_interface_assoc_descriptor uvc_iad __initdata = {
        .bLength                = sizeof(uvc_iad),
        .bDescriptorType        = USB_DT_INTERFACE_ASSOCIATION,
@@ -87,7 +89,7 @@ static struct usb_endpoint_descriptor uvc_control_ep __initdata = {
        .bDescriptorType        = USB_DT_ENDPOINT,
        .bEndpointAddress       = USB_DIR_IN,
        .bmAttributes           = USB_ENDPOINT_XFER_INT,
-       .wMaxPacketSize         = cpu_to_le16(16),
+       .wMaxPacketSize         = cpu_to_le16(STATUS_BYTECOUNT),
        .bInterval              = 8,
 };
 
@@ -95,7 +97,7 @@ static struct uvc_control_endpoint_descriptor uvc_control_cs_ep __initdata = {
        .bLength                = UVC_DT_CONTROL_ENDPOINT_SIZE,
        .bDescriptorType        = USB_DT_CS_ENDPOINT,
        .bDescriptorSubType     = UVC_EP_INTERRUPT,
-       .wMaxTransferSize       = cpu_to_le16(16),
+       .wMaxTransferSize       = cpu_to_le16(STATUS_BYTECOUNT),
 };
 
 static struct usb_interface_descriptor uvc_streaming_intf_alt0 __initdata = {