USB: composite: Add flag to usb_function to hide its interface during enumeration
authorMike Lockwood <lockwood@android.com>
Fri, 11 Dec 2009 16:24:07 +0000 (11:24 -0500)
committerArve Hjønnevåg <arve@android.com>
Mon, 8 Feb 2010 23:09:02 +0000 (15:09 -0800)
Change-Id: Ie999b5190e3e2b6fd23015b8e796cdd178829929

Signed-off-by: Mike Lockwood <lockwood@android.com>
drivers/usb/gadget/composite.c
include/linux/usb/composite.h

index 7e2dacc7974d3aa2e2465ca4b3a5884c461a78fc..0dedc681fc30bf32cf5a00a8219dc9789a72de13 100644 (file)
@@ -267,7 +267,7 @@ static int config_buf(struct usb_configuration *config,
                        descriptors = f->hs_descriptors;
                else
                        descriptors = f->descriptors;
-               if (!descriptors || descriptors[0] == NULL) {
+               if (f->hidden || !descriptors || descriptors[0] == NULL) {
                        for (; f != config->interface[interfaceCount];) {
                                interfaceCount++;
                                c->bNumInterfaces--;
index 4f6bb3d2160e9f8d84516aae44363a662418431a..8f33ae3e00f353c58b0d1b9701b7954781912be1 100644 (file)
@@ -100,6 +100,7 @@ struct usb_function {
        struct usb_descriptor_header    **hs_descriptors;
 
        struct usb_configuration        *config;
+       int                             hidden;
 
        /* REVISIT:  bind() functions can be marked __init, which
         * makes trouble for section mismatch analysis.  See if