Re: [PATCH 4/5] usb/gadget: don't deploy SS descriptors if SS isnot enabled.

From: Sergei Shtylyov
Date: Wed Apr 13 2011 - 06:48:18 EST


On 12-04-2011 23:34, Sebastian Andrzej Siewior wrote:

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
drivers/usb/gadget/composite.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/usb/gadget/composite.c b/drivers/usb/gadget/composite.c
index 92cc238..ac30e2f 100644
--- a/drivers/usb/gadget/composite.c
+++ b/drivers/usb/gadget/composite.c
@@ -74,10 +74,12 @@ MODULE_PARM_DESC(iSerialNumber, "SerialNumber string");
static char composite_manufacturer[50];

/* Default endpoint companion descriptor */
static struct usb_ss_ep_comp_descriptor default_ep_comp_desc = {
.bDescriptorType = USB_DT_SS_ENDPOINT_COMP,
.bLength = sizeof(struct usb_ss_ep_comp_descriptor),

* usb_create_ss_descriptors() - Generate SuperSpeed descriptors
@@ -93,6 +95,7 @@ static struct usb_ss_ep_comp_descriptor default_ep_comp_desc = {
void usb_create_ss_descriptors(struct usb_function *f)
struct usb_ss_ep_comp_descriptor *ep_comp_desc;
struct usb_endpoint_descriptor *ep_desc;
struct usb_descriptor_header **src = f->hs_descriptors;
@@ -185,6 +188,7 @@ void usb_create_ss_descriptors(struct usb_function *f)
*tmp = NULL;
f->ss_desc_allocated = true;

Documentation/SubmittingPatches says this:

2) #ifdefs are ugly

Code cluttered with ifdefs is difficult to read and maintain. Don't do
it. Instead, put your ifdefs in a header, and conditionally define
'static inline' functions, or macros, which are used in the code.
Let the compiler optimize away the "no-op" case.

Simple example, of poor code:

dev = alloc_etherdev (sizeof(struct funky_private));
if (!dev)
return -ENODEV;

Cleaned-up example:

(in header)
static inline void init_funky_net (struct net_device *d) {}

(in the code itself)
dev = alloc_etherdev (sizeof(struct funky_private));
if (!dev)
return -ENODEV;

WBR, Sergei
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at