On Fri, Oct 05, 2018 at 02:05:45PM -0700, Nick Desaulniers wrote: > On Wed, Oct 3, 2018 at 10:56 PM Nathan Chancellor > <natechancel...@gmail.com> wrote: > > > > Clang warns: > > > > drivers/staging/emxx_udc/emxx_udc.c:1373:37: warning: variable > > 'device_desc' is not needed and will not be emitted > > [-Wunneeded-internal-declaration] > > static struct usb_device_descriptor device_desc = { > > ^ > > 1 warning generated. > > > > This definition hasn't been attached to anything since the driver was > > introduced in commit 33aa8d45a4fe ("staging: emxx_udc: Add Emma Mobile > > USB Gadget driver") and neither GCC nor Clang emit any reference to the > > variable in the final assembly. The only reason GCC doesn't warn about > > this variable being unused is the sizeof function. > > > > Reported-by: Nick Desaulniers <ndesaulni...@google.com> > > Signed-off-by: Nathan Chancellor <natechancel...@gmail.com> > > --- > > > > This seems kind of wrong given this is a USB driver but there isn't an > > instance of a platform_driver in the kernel tree having a usb device > > descriptor declaration so I'm unsure of how to handle this warning aside > > from just removing the definition but I'm certainly open to suggestions. > > In drivers under drivers/usb/gadget/legacy/{ether|mass_storage|hid}.c, > it seems that addresses of instances of `struct usb_device_descriptor` > are stored in instances of `struct usb_composite_driver eth_driver` > that are passed to module_usb_composite_driver(). > > drivers/staging/emxx_udc/emxx_udc.c doesn't mention anything about > being a composite driver, and I don't know if there are multiple > devices to warrant a composite driver? Composite seems to imply "more > than one gadget" while the path to drivers using this interface under > drivers/usb/gadget/legacy/ seem to imply there's a modern (non-legacy) > usb gadget interface that could potentially be used instead. > > If this was never intended to be a composite usb driver, or there's > some reason why it doesn't make sense for it to be one, then this code > is likely dead and your fix is correct. If it's not, maybe folks who > know more about the USB interfaces have another solution to make this > a composite usb driver?
I'll take the patch, the code looks wrong, it should not be needed here. thanks, greg k-h