On Fri, 21 Feb 2020 at 19:24, Lukasz Majewski <[email protected]> wrote: > > Hi Nathan, > > > On Tue, 28 Jan 2020 at 20:26, Lukasz Majewski <[email protected]> wrote: > > > > > > On Tue, 28 Jan 2020 17:50:03 +1000 > > > Nathan Rossi <[email protected]> wrote: > > > > > > > On Mon, 27 Jan 2020 at 22:51, Lukasz Majewski <[email protected]> > > > > wrote: > > > > > > > > > > Hi Nathan, > > > > > > > > > > > Handle selection of objects based on $(SPL_) to allow for > > > > > > normal and SPL builds to have differing object compilation. > > > > > > > > > > Could you share the exact use case? I do guess that you want to > > > > > add some gadget(s) to SPL? > > > > > > > > I am primarily trying to disable SPL_ENV_SUPPORT for beaglebone > > > > (am335x_evm). SPL_USB_ETHER has a dependency on SPL_ENV_SUPPORT, > > > > thus the desire to disable it (whilst leaving SPL_USB_GADGET > > > > enabled). > > > > > > Ok. > > > > > > > > > > > > > > > > > (Such changes may cause issues on boards already using this > > > > > feature > > > > > - could you run: > > > > > > > > > > ./tools/buildman/buildman.py --branch=HEAD siemens samsung bbb > > > > > --detail --verbose --show_errors --force-build --count=1 > > > > > --output-dir=./BUILD/ > > > > > > > > Running this showed no regressions. Also I noticed "bbb" does not > > > > refer to any boards? > > > > > > I see. Then please try am335x instead. > > > > There are no regressions for those boards either. > > I did some tests before pulling: > > -master branch u-boot > SHA1: f2a73d6867ef973fbb8471cc87058205999b5e5c > > ./tools/buildman/buildman.py --branch=HEAD am43xx_evm_usbhost_boot > am335x --show_errors --force-build --verbose --count=1 > --output-dir=../BUILD/ > > > arm: + am43xx_evm_usbhost_boot > +../drivers/usb/gadget/ether.c: In function ‘usb_eth_probe’: > +../drivers/usb/gadget/ether.c:2654:17: error: ‘CONFIG_USBNET_DEVADDR’ > undeclared (first use in this function) > + get_ether_addr(CONFIG_USBNET_DEVADDR, pdata->enetaddr); > + ^~~~~~~~~~~~~~~~~~~~~ > > Could you fix it and repost the patch?
It appears I may have misunderstood the purpose of CONFIG_SPL_USB_ETHER. But more importantly it is not used consistently. According to the Kconfig it is to enable "USB ethernet drivers" (e.g. a USB ethernet dongle, aka CONFIG_USB_HOST_ETHER), however it is contained within a if SPL_USB_GADGET block. Some parts of U-Boot such as drivers/Makefile use this to enable net/phy but this is the only clear example of the USB_HOST_ETHER equivalent. Whilst others use it to enable configuration for USB ethernet gadget (e.g. spl_net.c). If the config indeed does refer to an SPL_ equivalent of USB_ETHER there are some issues with its use when USB_ETHER is not configured as well, which causes the error above since CONFIG_USBNET_DEVADDR is not defined otherwise. This can be resolved by keeping the CONFIG_USBNET_* options common for both normal and spl, and having the Kconfig reflect that. This would also apply to the USB_ETH_RNDIS/CDC choice too. Though the am43xx_evm_usbhost_boot board might instead be setting CONFIG_SPL_USB_ETHER for USB_HOST_ETHER? Regards, Nathan > > > > > Regards, > > Nathan > > > > > > > > > > > > > Thanks, > > > > Nathan > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Signed-off-by: Nathan Rossi <[email protected]> > > > > > > --- > > > > > > drivers/usb/gadget/Makefile | 8 ++++---- > > > > > > 1 file changed, 4 insertions(+), 4 deletions(-) > > > > > > > > > > > > diff --git a/drivers/usb/gadget/Makefile > > > > > > b/drivers/usb/gadget/Makefile index 70f3bf43e7..8967745513 > > > > > > 100644 --- a/drivers/usb/gadget/Makefile > > > > > > +++ b/drivers/usb/gadget/Makefile > > > > > > @@ -3,8 +3,8 @@ > > > > > > # (C) Copyright 2000-2007 > > > > > > # Wolfgang Denk, DENX Software Engineering, [email protected]. > > > > > > > > > > > > -obj-$(CONFIG_USB_GADGET) += epautoconf.o config.o usbstring.o > > > > > > -obj-$(CONFIG_USB_ETHER) += epautoconf.o config.o usbstring.o > > > > > > +obj-$(CONFIG_$(SPL_)USB_GADGET) += epautoconf.o config.o > > > > > > usbstring.o +obj-$(CONFIG_$(SPL_)USB_ETHER) += epautoconf.o > > > > > > config.o usbstring.o > > > > > > > > > > > > ifdef CONFIG_SPL_BUILD > > > > > > obj-$(CONFIG_SPL_USB_GADGET) += g_dnl.o > > > > > > @@ -13,7 +13,7 @@ obj-$(CONFIG_SPL_USB_SDP_SUPPORT) += f_sdp.o > > > > > > endif > > > > > > > > > > > > # new USB gadget layer dependencies > > > > > > -ifdef CONFIG_USB_GADGET > > > > > > +ifdef CONFIG_$(SPL_)USB_GADGET > > > > > > obj-$(CONFIG_USB_GADGET_AT91) += at91_udc.o > > > > > > obj-$(CONFIG_USB_GADGET_ATMEL_USBA) += atmel_usba_udc.o > > > > > > obj-$(CONFIG_USB_GADGET_BCM_UDC_OTG_PHY) += bcm_udc_otg_phy.o > > > > > > @@ -31,7 +31,7 @@ obj-$(CONFIG_USB_FUNCTION_SDP) += f_sdp.o > > > > > > obj-$(CONFIG_USB_FUNCTION_ROCKUSB) += f_rockusb.o > > > > > > endif > > > > > > endif > > > > > > -ifdef CONFIG_USB_ETHER > > > > > > +ifdef CONFIG_$(SPL_)USB_ETHER > > > > > > obj-y += ether.o > > > > > > obj-$(CONFIG_USB_ETH_RNDIS) += rndis.o > > > > > > obj-$(CONFIG_CI_UDC) += ci_udc.o > > > > > > --- > > > > > > 2.24.1 > > > > > > > > > > > > > > > > > > > > > > > > > Best regards, > > > > > > > > > > Lukasz Majewski > > > > > > > > > > -- > > > > > > > > > > DENX Software Engineering GmbH, Managing Director: Wolfgang > > > > > Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 > > > > > Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: > > > > > (+49)-8142-66989-80 Email: [email protected] > > > > > > > > > > > > > > > Best regards, > > > > > > Lukasz Majewski > > > > > > -- > > > > > > DENX Software Engineering GmbH, Managing Director: Wolfgang > > > Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, > > > Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: > > > [email protected] > > > > > Best regards, > > Lukasz Majewski > > -- > > DENX Software Engineering GmbH, Managing Director: Wolfgang Denk > HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany > Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: [email protected]

