From 9ce1a143d9b2d38c26ecfdd64851315c177c39fd Mon Sep 17 00:00:00 2001 From: Mike Lockwood Date: Fri, 11 Dec 2009 11:24:07 -0500 Subject: [PATCH] USB: composite: Add flag to usb_function to hide its interface during enumeration Change-Id: Ie999b5190e3e2b6fd23015b8e796cdd178829929 Signed-off-by: Mike Lockwood --- drivers/usb/gadget/composite.c | 2 +- include/linux/usb/composite.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/usb/gadget/composite.c b/drivers/usb/gadget/composite.c index 413fb7841381..3fa7fb1e6997 100644 --- a/drivers/usb/gadget/composite.c +++ b/drivers/usb/gadget/composite.c @@ -271,7 +271,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--; diff --git a/include/linux/usb/composite.h b/include/linux/usb/composite.h index 3d29a7dcac2d..d7450a2938e0 100644 --- a/include/linux/usb/composite.h +++ b/include/linux/usb/composite.h @@ -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 -- 2.11.0