
On Fri, 21 Feb 2020 at 19:24, Lukasz Majewski lukma@denx.de wrote:
Hi Nathan,
On Tue, 28 Jan 2020 at 20:26, Lukasz Majewski lukma@denx.de wrote:
On Tue, 28 Jan 2020 17:50:03 +1000 Nathan Rossi nathan@nathanrossi.com wrote:
On Mon, 27 Jan 2020 at 22:51, Lukasz Majewski lukma@denx.de 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 nathan@nathanrossi.com
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, wd@denx.de.
-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: lukma@denx.de
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: lukma@denx.de
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: lukma@denx.de