[U-Boot] [PATCH 2/9] Fix bug when both DFU & ETHER are defined
Marek Vasut
marex at denx.de
Thu Nov 29 07:30:07 CET 2012
Dear Pantelis Antoniou,
> 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 <panto at 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.
Ah, now I understand the problem at hand.
> 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
Can you not do "or" in conditional expression in Makefile?
> 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
[...]
More information about the U-Boot
mailing list