From: Rogier Stam <rogier@unrailed.org>
To: "Pali Rohár" <pali@kernel.org>, "Stefan Roese" <sr@denx.de>
Cc: Simon Glass <sjg@chromium.org>, u-boot@lists.denx.de
Subject: Re: [PATCH 2/2] Add SCSI scan for ENV in EXT4 or FAT
Date: Wed, 11 May 2022 23:02:04 +0200 [thread overview]
Message-ID: <0fa9eee8-1580-1eef-54fe-f66bdff67e39@unrailed.org> (raw)
In-Reply-To: <20220421105756.2gti5gohn2nlvmeh@pali>
Hi,
Sorry for the late reply. Not much time lately, also had some trouble
figuring the world build out. That said I have a fix. Not sure on the
usual process, but I will repost it on the mailing list in a moment.
Pali was quite close on the solution. I went a slightly different route
as I did not want to deviate from style in fat.c, also from reading the
recommended CONFIG_IS_ENABLED macro I got the impression you'd have to
define separate vars for TPL and SPL which would deviate from normal
usage for storing env in fat.
Effectively it amounts to:
+#ifndef CONFIG_SPL_BUILD
+#if defined(CONFIG_AHCI) || defined(CONFIG_SCSI)
+ if (!strcmp(CONFIG_ENV_FAT_INTERFACE, "scsi"))
+ scsi_scan(true);
+#endif
+#endif
Anyway, let me know if you disagree.
Thanks and regards
Rogier
On 21-04-2022 12:57, Pali Rohár wrote:
> 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
prev parent reply other threads:[~2022-05-11 21:02 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-08 23:26 [PATCH 0/2] U-Boot ENV in EXT4 support for Expressobin (revised) Rogier Stam
2022-02-08 23:27 ` [PATCH 1/2] Fix Espressobin build for configs where ENV is not in SPI Rogier Stam
2022-02-28 7:10 ` Pali Rohár
2022-04-21 13:55 ` Stefan Roese
2022-02-08 23:27 ` [PATCH 2/2] Add SCSI scan for ENV in EXT4 or FAT Rogier Stam
2022-02-28 7:13 ` Pali Rohár
2022-04-21 10:34 ` Stefan Roese
2022-04-21 10:57 ` Pali Rohár
2022-05-11 21:02 ` Rogier Stam [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=0fa9eee8-1580-1eef-54fe-f66bdff67e39@unrailed.org \
--to=rogier@unrailed.org \
--cc=pali@kernel.org \
--cc=sjg@chromium.org \
--cc=sr@denx.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.