
On Thursday 21 April 2022 12:34:30 Stefan Roese wrote:
Hi Rogier,
On 2/28/22 08:13, Pali Rohár wrote:
- Simon, could you review this change? It would be nice to have this fix in upcoming U-Boot release.
On Wednesday 09 February 2022 00:27:01 Rogier Stam wrote:
When having environment stored in EXT4 or FAT and using an AHCI or SCSI device / partition the scan would not be performed early enough and hence the device would not be recognized. This change adds the scan when the interface is "scsi" in a similar way to mmc_initialize.
Signed-off-by: Rogier Stam rogier@unrailed.org
Reviewed-by: Pali Rohár pali@kernel.org
While running some CI tests, this error occurs with this patch:
$ make dra7xx_hs_evm_usb_defconfig ... $ make -s -j20 ... /opt/kernel.org/gcc-11.1.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-ld.bfd: env/fat.o: in function `env_fat_load': /home/stefan/git/u-boot/u-boot-marvell/env/fat.c:134: undefined reference to `scsi_scan' make[1]: *** [scripts/Makefile.spl:512: spl/u-boot-spl] Error 1 make: *** [Makefile:2101: spl/u-boot-spl] Error 2
This is failing while building SPL...
Could you please take a look? And send a fixed version which also passed a "world build" for all supported targets?
Thanks, Stefan
env/ext4.c | 5 +++++ env/fat.c | 5 +++++ 2 files changed, 10 insertions(+)
diff --git a/env/ext4.c b/env/ext4.c index 9f65afb..47e05a4 100644 --- a/env/ext4.c +++ b/env/ext4.c @@ -31,6 +31,7 @@ #include <errno.h> #include <ext4fs.h> #include <mmc.h> +#include <scsi.h> #include <asm/global_data.h> DECLARE_GLOBAL_DATA_PTR; @@ -146,6 +147,10 @@ static int env_ext4_load(void) if (!strcmp(ifname, "mmc")) mmc_initialize(NULL); #endif +#if defined(CONFIG_AHCI) || defined(CONFIG_SCSI)
- if (!strcmp(ifname, "scsi"))
scsi_scan(true);
+#endif part = blk_get_device_part_str(ifname, dev_and_part, &dev_desc, &info, 1); diff --git a/env/fat.c b/env/fat.c index fdccd6c..dbd6a13 100644 --- a/env/fat.c +++ b/env/fat.c @@ -17,6 +17,7 @@ #include <errno.h> #include <fat.h> #include <mmc.h> +#include <scsi.h> #include <asm/cache.h> #include <asm/global_data.h> #include <linux/stddef.h> @@ -122,6 +123,10 @@ static int env_fat_load(void) if (!strcmp(CONFIG_ENV_FAT_INTERFACE, "mmc")) mmc_initialize(NULL); #endif +#if defined(CONFIG_AHCI) || defined(CONFIG_SCSI)
... I guess that you should use CONFIG_IS_ENABLED(AHCI) instead of defined(CONFIG_AHCI) for proper SPL support.
- if (!strcmp(CONFIG_ENV_FAT_INTERFACE, "scsi"))
scsi_scan(true);
+#endif part = blk_get_device_part_str(CONFIG_ENV_FAT_INTERFACE, env_fat_device_and_part(), -- 2.7.4
Viele Grüße, Stefan Roese
-- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr@denx.de