[PATCH V6 01/20] include: env: ti: mmc: envboot/mmcboot: Check result of mmc dev before proceeding

Nishanth Menon nm at ti.com
Fri Aug 25 20:02:46 CEST 2023


If mmc dev reports that the device is not present, there is no point in
proceeding further to attempt to load the files.

Signed-off-by: Nishanth Menon <nm at ti.com>
---
new patch -  noticed a series of 'MMC: no card present' in boot log
and was wondering why, now I know - shaves off 2 seconds or so into boot
process.

 include/env/ti/mmc.env | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/include/env/ti/mmc.env b/include/env/ti/mmc.env
index 6fb47fb26673..b8eb51ca1744 100644
--- a/include/env/ti/mmc.env
+++ b/include/env/ti/mmc.env
@@ -15,7 +15,7 @@ loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}
 loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}
 loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/dtb/${fdtfile}
 get_fdt_mmc=load mmc ${bootpart} ${fdtaddr} ${bootdir}/dtb/${name_fdt}
-envboot=mmc dev ${mmcdev};
+envboot=if mmc dev ${mmcdev}; then
 	if mmc rescan; then
 		echo SD/MMC found on device ${mmcdev};
 		if run loadbootscript; then
@@ -31,6 +31,7 @@ envboot=mmc dev ${mmcdev};
 			fi;
 		fi;
 	fi;
+  fi;
 mmcloados=
 	if test ${boot_fdt} = yes || test ${boot_fdt} = try; then
 		if run get_fdt_mmc; then
@@ -45,7 +46,7 @@ mmcloados=
 	else
 		bootz;
 	fi;
-mmcboot=mmc dev ${mmcdev};
+mmcboot=if mmc dev ${mmcdev}; then
 	devnum=${mmcdev};
 	devtype=mmc;
 	if mmc rescan; then
@@ -58,7 +59,8 @@ mmcboot=mmc dev ${mmcdev};
 				run mmcloados;
 			fi;
 		fi;
-fi;
+	fi;
+  fi;
 
 init_mmc=run args_all args_mmc
 get_overlay_mmc=
-- 
2.40.0



More information about the U-Boot mailing list