[PATCH] stm32mp1: configs: Make all boot devices in distro boot conditional

Marek Vasut marex at denx.de
Wed Dec 18 07:58:17 CET 2019


Not all systems have all the boot devices enabled, e.g. not all systems
have MTD devices and thus do not enable UBI. Make all the boot devices
in the distro bootcmd conditional to avoid failures.

Signed-off-by: Marek Vasut <marex at denx.de>
Cc: Patrick Delaunay <patrick.delaunay at st.com>
Cc: Patrice Chotard <patrice.chotard at st.com>
---
 include/configs/stm32mp1.h | 34 ++++++++++++++++++++++++++++------
 1 file changed, 28 insertions(+), 6 deletions(-)

diff --git a/include/configs/stm32mp1.h b/include/configs/stm32mp1.h
index d42a7860be..dfc397c63c 100644
--- a/include/configs/stm32mp1.h
+++ b/include/configs/stm32mp1.h
@@ -98,12 +98,34 @@
 
 #if !defined(CONFIG_SPL_BUILD)
 
-#define BOOT_TARGET_DEVICES(func) \
-	func(MMC, mmc, 1) \
-	func(UBIFS, ubifs, 0) \
-	func(MMC, mmc, 0) \
-	func(MMC, mmc, 2) \
-	func(PXE, pxe, na)
+#ifdef CONFIG_CMD_MMC
+#define BOOT_TARGET_DEVICE_MMC0(func)	func(MMC, mmc, 0)
+#define BOOT_TARGET_DEVICE_MMC1(func)	func(MMC, mmc, 1)
+#define BOOT_TARGET_DEVICE_MMC2(func)	func(MMC, mmc, 2)
+#else
+#define BOOT_TARGET_DEVICE_MMC0(func)
+#define BOOT_TARGET_DEVICE_MMC1(func)
+#define BOOT_TARGET_DEVICE_MMC2(func)
+#endif
+
+#ifdef CONFIG_NET
+#define BOOT_TARGET_DEVICE_PXE(func)	func(PXE, pxe, na)
+#else
+#define BOOT_TARGET_DEVICE_PXE(func)
+#endif
+
+#ifdef CONFIG_CMD_UBIFS
+#define BOOT_TARGET_DEVICE_UBIFS(func)	func(UBIFS, ubifs, 0)
+#else
+#define BOOT_TARGET_DEVICE_UBIFS(func)
+#endif
+
+#define BOOT_TARGET_DEVICES(func)	\
+	BOOT_TARGET_DEVICE_MMC1(func)	\
+	BOOT_TARGET_DEVICE_UBIFS(func)	\
+	BOOT_TARGET_DEVICE_MMC0(func)	\
+	BOOT_TARGET_DEVICE_MMC2(func)	\
+	BOOT_TARGET_DEVICE_PXE(func)
 
 /*
  * bootcmd for stm32mp1:
-- 
2.24.1



More information about the U-Boot mailing list