[U-Boot] [PATCH] Rpi: Fix compilation error if CONFIG_USB is disabled

Ajay Kaher akaher at vmware.com
Mon Apr 1 10:19:18 UTC 2019


Few weeks ago sent patch (as in below mail) to include in U-Boot,
And still waiting for response and even not present in U-Boot mailing list.

As per checkpatch.pl, there is following CHECK. However it doesn't have
side-effects and similar to include/configs/rockchip-common.h: 

CHECK: Macro argument reuse 'func' - possible side-effects?
#43: FILE: include/configs/rpi.h:150:
+	#define BOOT_TARGET_MMC(func) \
+		func(MMC, mmc, 0) \
+		func(MMC, mmc, 1)

Please suggest if anything wrong I have done to submit the patch or anything
wrong in the patch or is it because of above CHECK.

- Ajay


On 13/03/19, 4:42 PM, "akaher" <akaher at vmware.com> wrote:

    This patch is to fix the following compilation error when
    disabling CONFIG_USB for Rpi3:
    
    include/config_distro_bootcmd.h:242:2: error: expected ‘}’
    before ‘BOOT_TARGET_DEVICES_references_USB_without_CONFIG_CMD_USB’
         BOOT_TARGET_DEVICES_references_USB_without_CONFIG_CMD_USB
    
    After merging rpi.h changes as per this patch, still getting
    compilation error if CONFIG_CMD_USB is enabled, so CONFIG_CMD_USB
    should depends upon CONFIG_USB.
    Signed-off-by: Ajay Kaher <akaher at vmware.com>
    ---
     cmd/Kconfig           |  1 +
     include/configs/rpi.h | 36 +++++++++++++++++++++++++++++++-----
     2 files changed, 32 insertions(+), 5 deletions(-)
    
    diff --git a/cmd/Kconfig b/cmd/Kconfig
    index 4bcc5c4557..96e665a1c9 100644
    --- a/cmd/Kconfig
    +++ b/cmd/Kconfig
    @@ -1059,6 +1059,7 @@ config CMD_UNIVERSE
     config CMD_USB
     	bool "usb"
     	select HAVE_BLOCK_DEVICE
    +	depends on USB
     	help
     	  USB support.
     
    diff --git a/include/configs/rpi.h b/include/configs/rpi.h
    index 9ce41767a9..f76c7d18ef 100644
    --- a/include/configs/rpi.h
    +++ b/include/configs/rpi.h
    @@ -146,12 +146,38 @@
     	"fdt_addr_r=0x02600000\0" \
     	"ramdisk_addr_r=0x02700000\0"
     
    +#if CONFIG_IS_ENABLED(CMD_MMC)
    +	#define BOOT_TARGET_MMC(func) \
    +		func(MMC, mmc, 0) \
    +		func(MMC, mmc, 1)
    +#else
    +	#define BOOT_TARGET_MMC(func)
    +#endif
    +
    +#if CONFIG_IS_ENABLED(CMD_USB)
    +	#define BOOT_TARGET_USB(func) func(USB, usb, 0)
    +#else
    +	#define BOOT_TARGET_USB(func)
    +#endif
    +
    +#if CONFIG_IS_ENABLED(CMD_PXE)
    +	#define BOOT_TARGET_PXE(func) func(PXE, pxe, na)
    +#else
    +	#define BOOT_TARGET_PXE(func)
    +#endif
    +
    +#if CONFIG_IS_ENABLED(CMD_DHCP)
    +	#define BOOT_TARGET_DHCP(func) func(DHCP, dhcp, na)
    +#else
    +	#define BOOT_TARGET_DHCP(func)
    +#endif
    +
     #define BOOT_TARGET_DEVICES(func) \
    -	func(MMC, mmc, 0) \
    -	func(MMC, mmc, 1) \
    -	func(USB, usb, 0) \
    -	func(PXE, pxe, na) \
    -	func(DHCP, dhcp, na)
    +	BOOT_TARGET_MMC(func) \
    +	BOOT_TARGET_USB(func) \
    +	BOOT_TARGET_PXE(func) \
    +	BOOT_TARGET_DHCP(func)
    +
     #include <config_distro_bootcmd.h>
     
     #define CONFIG_EXTRA_ENV_SETTINGS \
    -- 
    2.14.2
    
    



More information about the U-Boot mailing list