From: Sean Anderson <seanga2@gmail.com>
To: Simon Glass <sjg@chromium.org>
Cc: u-boot@lists.denx.de, Tom Rini <trini@konsulko.com>,
Heinrich Schuchardt <xypron.glpk@gmx.de>,
Harald Seiler <hws@denx.de>
Subject: Re: [PATCH 16/26] spl: Don't cache devices when UNIT_TEST is enabled
Date: Thu, 12 Oct 2023 00:18:44 -0400 [thread overview]
Message-ID: <c8fd9934-279a-1e4c-fd4c-8388f9ebb348@gmail.com> (raw)
In-Reply-To: <CAPnjgZ1_cS9ABEr=2zgZVjhkdk=XWgdkWZiAMT__C_E2QozA7g@mail.gmail.com>
On 10/11/23 23:41, Simon Glass wrote:
> Hi Sean,
>
> On Wed, 11 Oct 2023 at 18:56, Sean Anderson <seanga2@gmail.com> wrote:
>>
>> Several SPL functions try to avoid performing initialization twice by
>> caching devices. This is fine for regular boot, but does not work with
>> UNIT_TEST, since all devices are torn down after each test. Disable caching
>> so we don't use stale devices.
>>
>> Signed-off-by: Sean Anderson <seanga2@gmail.com>
>> ---
>>
>> common/spl/spl_fat.c | 2 +-
>> common/spl/spl_mmc.c | 3 ++-
>> 2 files changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/common/spl/spl_fat.c b/common/spl/spl_fat.c
>> index c6e2526ade1..8bec9cce5ca 100644
>> --- a/common/spl/spl_fat.c
>> +++ b/common/spl/spl_fat.c
>> @@ -24,7 +24,7 @@ static int spl_register_fat_device(struct blk_desc *block_dev, int partition)
>> {
>> int err = 0;
>>
>> - if (fat_registered)
>> + if (!CONFIG_IS_ENABLED(UNIT_TEST) && fat_registered)
>
> These sort of things worry me, since we are bringing test code /
> conditions into the 'real' code. Is it possible to pass this as a
> parameter, or adjust the value of fat_registered?
At the moment these variables are static, and I would like to keep them that way
to avoid size growth. We really are doing an unusual thing with UNIT_TEST where
devices which were previously valid can be free'd and then recreated later. This
is why I decided on using UNIT_TEST as the determiner here, since nothing else
should cause this situation.
--Sean
>> return err;
>>
>> err = fat_register_device(block_dev, partition);
>> diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c
>> index 67c7ae34a58..a8579e29dee 100644
>> --- a/common/spl/spl_mmc.c
>> +++ b/common/spl/spl_mmc.c
>> @@ -417,7 +417,8 @@ int spl_mmc_load(struct spl_image_info *spl_image,
>>
>> /* Perform peripheral init only once for an mmc device */
>> mmc_dev = spl_mmc_get_device_index(bootdev->boot_device);
>> - if (!mmc || spl_mmc_get_mmc_devnum(mmc) != mmc_dev) {
>> + if (CONFIG_IS_ENABLED(UNIT_TEST) || !mmc ||
>> + spl_mmc_get_mmc_devnum(mmc) != mmc_dev) {
>> err = spl_mmc_find_device(&mmc, bootdev->boot_device);
>> if (err)
>> return err;
>> --
>> 2.37.1
>>
>
> Regards,
> Simon
next prev parent reply other threads:[~2023-10-12 4:18 UTC|newest]
Thread overview: 83+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-12 1:56 [PATCH 00/26] test: spl: Test some load methods Sean Anderson
2023-10-12 1:56 ` [PATCH 01/26] spl: legacy: Fix referencing _image_binary_end Sean Anderson
2023-10-12 3:41 ` Simon Glass
2023-10-12 4:30 ` Sean Anderson
2023-10-12 15:28 ` Simon Glass
2023-10-12 1:56 ` [PATCH 02/26] spl: nor: Don't allocate header on stack Sean Anderson
2023-10-12 3:41 ` Simon Glass
2023-10-12 7:26 ` Michael Nazzareno Trimarchi
2023-10-12 1:56 ` [PATCH 03/26] spl: fit: Fix entry point for SPL_LOAD_FIT_FULL Sean Anderson
2023-10-12 3:41 ` Simon Glass
2023-10-12 4:28 ` Sean Anderson
2023-10-12 15:20 ` Tom Rini
2023-10-12 15:28 ` Simon Glass
2023-10-12 1:56 ` [PATCH 04/26] arm: imx: Fix i.MX8 container load address Sean Anderson
2023-10-12 1:56 ` [PATCH 05/26] arm: imx: Add newlines after error messages Sean Anderson
2023-10-12 7:33 ` Heinrich Schuchardt
2023-10-12 1:56 ` [PATCH 06/26] arm: imx: Add function to validate i.MX8 containers Sean Anderson
2023-10-12 1:56 ` [PATCH 07/26] arm: imx: Check header before calling spl_load_imx_container Sean Anderson
2023-10-12 7:44 ` Heinrich Schuchardt
2023-10-13 0:48 ` Sean Anderson
2023-10-12 16:40 ` Tom Rini
2023-10-13 1:39 ` Sean Anderson
2023-10-13 12:55 ` Tom Rini
2023-10-12 1:56 ` [PATCH 08/26] Move i.MX8 container image loading support to common/spl Sean Anderson
2023-10-12 1:56 ` [PATCH 09/26] spl: Allow enabling SPL_OF_REAL and SPL_OF_PLATDATA at the same time Sean Anderson
2023-10-12 3:41 ` Simon Glass
2023-10-12 4:22 ` Sean Anderson
2023-10-12 1:56 ` [PATCH 10/26] lib: acpi: Fix linking SPL when ACPIGEN is enabled Sean Anderson
2023-10-12 3:41 ` Simon Glass
2023-10-12 1:56 ` [PATCH 11/26] fs: ext4: Fix building ext4 in SPL if write " Sean Anderson
2023-10-12 3:41 ` Simon Glass
2023-10-12 1:56 ` [PATCH 12/26] fs: Compile in sandbox filesystem in SPL if it " Sean Anderson
2023-10-12 3:41 ` Simon Glass
2023-10-12 6:39 ` Heinrich Schuchardt
2023-10-12 14:15 ` Sean Anderson
2023-10-12 14:50 ` Tom Rini
2023-10-12 14:52 ` Tom Rini
2023-10-12 1:56 ` [PATCH 13/26] net: Fix compiling SPL when fastboot " Sean Anderson
2023-10-12 3:41 ` Simon Glass
2023-10-12 6:52 ` Heinrich Schuchardt
2023-10-12 14:16 ` Sean Anderson
2023-10-12 14:52 ` Tom Rini
2023-10-12 1:56 ` [PATCH 14/26] net: bootp: Move port numbers to header Sean Anderson
2023-10-12 3:41 ` Simon Glass
2023-10-12 6:53 ` Heinrich Schuchardt
2023-10-12 1:56 ` [PATCH 15/26] net: bootp: Fall back to BOOTP from DHCP when unit testing Sean Anderson
2023-10-12 3:41 ` Simon Glass
2023-10-12 7:16 ` Heinrich Schuchardt
2023-10-12 14:18 ` Sean Anderson
2023-10-12 1:56 ` [PATCH 16/26] spl: Don't cache devices when UNIT_TEST is enabled Sean Anderson
2023-10-12 3:41 ` Simon Glass
2023-10-12 4:18 ` Sean Anderson [this message]
2023-10-12 7:23 ` Heinrich Schuchardt
2023-10-12 14:19 ` Sean Anderson
2023-10-12 1:56 ` [PATCH 17/26] spl: Use map_sysmem where appropriate Sean Anderson
2023-10-12 3:41 ` Simon Glass
2023-10-12 1:56 ` [PATCH 18/26] test: spl: Split tests up and use some configs Sean Anderson
2023-10-12 3:41 ` Simon Glass
2023-10-12 1:56 ` [PATCH 19/26] test: spl: Fix spl_test_load not failing if fname doesn't exist Sean Anderson
2023-10-12 3:41 ` Simon Glass
2023-10-12 1:56 ` [PATCH 20/26] test: spl: Add functions to create images Sean Anderson
2023-10-12 3:41 ` Simon Glass
2023-10-13 19:44 ` [SPAM] " Xavier Drudis Ferran
2023-10-14 14:37 ` Sean Anderson
2023-10-12 1:56 ` [PATCH 21/26] test: spl: Add functions to create filesystems Sean Anderson
2023-10-12 3:41 ` Simon Glass
2023-10-12 4:11 ` Sean Anderson
2023-10-12 1:56 ` [PATCH 22/26] test: spl: Add a test for spl_blk_load_image Sean Anderson
2023-10-12 3:41 ` Simon Glass
2023-10-12 1:56 ` [PATCH 23/26] test: spl: Add a test for the MMC load method Sean Anderson
2023-10-12 3:41 ` Simon Glass
2023-10-12 4:12 ` Sean Anderson
2023-10-12 1:56 ` [PATCH 24/26] test: spl: Add a test for the NET " Sean Anderson
2023-10-12 3:41 ` Simon Glass
2023-10-12 4:11 ` Sean Anderson
2023-10-12 1:56 ` [PATCH 25/26] test: spl: Add a test for the NOR " Sean Anderson
2023-10-12 3:41 ` Simon Glass
2023-10-12 4:16 ` Sean Anderson
2023-10-12 15:28 ` Simon Glass
2023-10-12 1:56 ` [PATCH 26/26] test: spl: Add a test for the SPI " Sean Anderson
2023-10-12 3:41 ` Simon Glass
2023-10-12 1:59 ` [PATCH 00/26] test: spl: Test some load methods Sean Anderson
2023-10-12 3:41 ` Simon Glass
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=c8fd9934-279a-1e4c-fd4c-8388f9ebb348@gmail.com \
--to=seanga2@gmail.com \
--cc=hws@denx.de \
--cc=sjg@chromium.org \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
--cc=xypron.glpk@gmx.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox