Hi Marek, On Nov 28, 2012, at 4:43 AM, Marek Vasut wrote:
> Dear Pantelis Antoniou, > >> When both CONFIG_USB_GADGET & CONFIG_USB_ETHER are defined >> the makefile links objects twice. >> >> Detect this and fix it with a not very elegant way in the >> makefile. Revisit and clean it later. >> >> Signed-off-by: Pantelis Antoniou <pa...@antoniou-consulting.com> >> --- >> drivers/usb/gadget/Makefile | 13 +++++++++++-- >> 1 file changed, 11 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/usb/gadget/Makefile b/drivers/usb/gadget/Makefile >> index 040eaba..15206cd 100644 >> --- a/drivers/usb/gadget/Makefile >> +++ b/drivers/usb/gadget/Makefile >> @@ -26,14 +26,23 @@ include $(TOPDIR)/config.mk >> LIB := $(obj)libusb_gadget.o >> >> # new USB gadget layer dependencies >> + >> +# ugh; ugh; ugh common objects included twice >> +ifdef CONFIG_USB_GADGET >> + COBJS-y += epautoconf.o config.o usbstring.o >> +else >> + ifdef CONFIG_USB_ETHER >> + COBJS-y += epautoconf.o config.o usbstring.o >> + endif >> +endif > > COBJS-$(CONFIG_ST) += st.o > COBJS-$(CONFIG_ST_ELSE) += st_else.o > > if (both selected) > scream and die. > I fail to see how that would work for the problem at hand, namely that if both CONFIG_USB_GADGET & CONFIG_USB_ETHER are defined epautoconf.o config.o usbstring.o are linked twice. The proper thing to do would be to have a config symbol enabled when either CONFIG_USB_GADGET & CONFIG_USB_ETHER are defined. Something like #if defined(CONFIG_USB_GADGET) || defined(CONFIG_USB_ETHER) #define CONFIG_USB_GADGET_PLUMPING #endif in a header file someplace and do COBJS-$(CONFIG_USB_GADGET_PLUMPING) += epautoconf.o config.o usbstring.o etc. This would require putting it either in every board file, or in a core usb header. The patch was the least intrusive method. Regards -- Pantelis >> + >> ifdef CONFIG_USB_GADGET >> -COBJS-y += epautoconf.o config.o usbstring.o >> COBJS-$(CONFIG_USB_GADGET_S3C_UDC_OTG) += s3c_udc_otg.o >> COBJS-$(CONFIG_USBDOWNLOAD_GADGET) += g_dnl.o >> COBJS-$(CONFIG_DFU_FUNCTION) += f_dfu.o >> endif >> ifdef CONFIG_USB_ETHER >> -COBJS-y += ether.o epautoconf.o config.o usbstring.o >> +COBJS-y += ether.o >> COBJS-$(CONFIG_USB_ETH_RNDIS) += rndis.o >> COBJS-$(CONFIG_MV_UDC) += mv_udc.o >> COBJS-$(CONFIG_CPU_PXA25X) += pxa25x_udc.o > > Best regards, > Marek Vasut _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot