From c7ba16ae1a444d78c4c67960f76c87159125d2b0 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 07bb37ee07aa..134d3d50e350 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 b78cba466d3d..8f5a89f722dd 100644 --- a/include/linux/usb/composite.h +++ b/include/linux/usb/composite.h @@ -108,6 +108,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.34.1