[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4DA57F0F.1090609@ru.mvista.com>
Date: Wed, 13 Apr 2011 14:46:39 +0400
From: Sergei Shtylyov <sshtylyov@...sta.com>
To: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
CC: Tatyana Brokhman <tlinder@...eaurora.org>, gregkh@...e.de,
linux-arm-msm@...r.kernel.org, balbi@...com, ablay@...eaurora.org,
linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 4/5] usb/gadget: don't deploy SS descriptors if SS is
not enabled.
Hello.
On 12-04-2011 23:34, Sebastian Andrzej Siewior wrote:
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
> ---
> 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 */
> +#ifdef CONFIG_USB_GADGET_SUPERSPEED
> 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),
> };
> +#endif
>
> /**
> * 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)
> {
> +#ifdef CONFIG_USB_GADGET_SUPERSPEED
> 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;
> +#endif
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;
#ifdef CONFIG_NET_FUNKINESS
init_funky_net(dev);
#endif
Cleaned-up example:
(in header)
#ifndef CONFIG_NET_FUNKINESS
static inline void init_funky_net (struct net_device *d) {}
#endif
(in the code itself)
dev = alloc_etherdev (sizeof(struct funky_private));
if (!dev)
return -ENODEV;
init_funky_net(dev);
WBR, Sergei
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists