We met similar problem at chipidea. I give a patch, but maybe there can be improved. http://marc.info/?l=linux-usb&m=136804273919518&w=2 On Thu, May 9, 2013 at 12:34 AM, Vivek Gautam <gautam.vivek@xxxxxxxxxxx> wrote: > Hi Felipe, > > Commit 388e5c51135f817f01177c42261f1116a6d7f2ad usb: dwc3: remove dwc3 > dependency on host AND gadget > by me breaks compilation when USB_DWC3=y, USB=y but USB_GADGET=m, > additionally when either of USB_DWC3_GADGET=y or USB_DWC3_DUAL_ROLE=y :-( > > I had some confusion with this actually. > > We started with making USB_DWC3 independent of USB and USB_GADGET. > Thereby added some helping configs USB_DWC3_HOST, USB_DWC3_GADGET and > USB_DWC3_DUAL_ROLE. > Now when USB_GADGET=m and USB=y; USB_DWC3=y > Now, USB_DWC3_DUAL_ROLE=y or USB_DWC3_GADGET=y will make things worse, since > it will compile > dwc3/gadget.c and dwc3/ep0.c > This lets the compilation to break since usb/gadget/** is still compiling as > module. > But the errors it throws for functions are already exported with > EXPORT_SYMBOL_GPL(), then why these errors then. > > A possible flaw with this could be that "USB_DWC3_HOST, USB_DWC3_GADGET and > USB_DWC3_DUAL_ROLE" > are still 'bool' type configs. But making this as 'tristate' too doesn't > makes our life easier. > Ideally dwc3/gadget.c and dwc3/ep0.c should be compiling as modules when > USB_GADGET=m. > But then we have functions like dwc3_host_init() and dwc3_gadget_init() and > other similar functions in dwc3/core.c which give > compilation break. > > Help please !!!! :-) > > > Thanks > Vivek > -- > To unsubscribe from this list: send the line "unsubscribe linux-usb" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- BR, Peter Chen -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html