From: Tom Rini <trini@konsulko.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 1/5] env: allow undefined CONFIG_SYS_MMC_ENV_DEV
Date: Mon, 10 Jun 2019 17:53:58 -0400 [thread overview]
Message-ID: <20190610215358.GQ7115@bill-the-cat> (raw)
In-Reply-To: <20190610103536.7e25c0f6@donnerap.cambridge.arm.com>
On Mon, Jun 10, 2019 at 10:35:36AM +0100, Andre Przywara wrote:
> On Sat, 8 Jun 2019 09:13:52 -0400
> Tom Rini <trini@konsulko.com> wrote:
>
> Hi Tom,
>
> thanks for having a look!
>
> > On Sat, Jun 08, 2019 at 02:26:54AM +0100, Andre Przywara wrote:
> > > So far we are required to always define the CONFIG_SYS_MMC_ENV_DEV
> > > variable, even if a platform specific function overrides the weak
> > > function that is using it.
> > >
> > > Check for the existence of this Kconfig variable, eliminating the need
> > > to define a dummy value.
> > >
> > > Signed-off-by: Andre Przywara <andre.przywara@arm.com>
> > > ---
> > > env/mmc.c | 4 ++++
> > > 1 file changed, 4 insertions(+)
> > >
> > > diff --git a/env/mmc.c b/env/mmc.c
> > > index c3cf35d01b..122fec3af8 100644
> > > --- a/env/mmc.c
> > > +++ b/env/mmc.c
> > > @@ -124,7 +124,11 @@ __weak int mmc_get_env_addr(struct mmc *mmc, int copy, u32 *env_addr)
> > >
> > > __weak int mmc_get_env_dev(void)
> > > {
> > > +#ifdef CONFIG_SYS_MMC_ENV_DEV
> > > return CONFIG_SYS_MMC_ENV_DEV;
> > > +#else
> > > + return 0;
> > > +#endif
> > > }
> > >
> > > #ifdef CONFIG_SYS_MMC_ENV_PART
> >
> > Since 0 is a valid device, I'm concerned this might lead to unintended
> > behavior. Can we return some error code here and catch it later?
>
> I see your point. I think originally my idea was that 0 would hopefully be a valid device in any case, so it would just work in those cases. But I see the trouble that this papers over a bug (namely CONFIG_SYS_MMC_ENV_DEV not being defined).
> Looking at all those users I find it rather dangerous (and tedious) to check for this in all callers.
>
> What about printing an error message, here in that function? Ideally this would be spotted immediately upon initial testing, so would never be exposed to a real user.
> Something like "Please either define CONFIG_SYS_MMC_ENV_DEV or provide a mmc_get_en_dev() implementation."?
That might be OK. Just check the resulting binaries that the string
does get discarded from the build when we have a non-weak function in
that case. Thanks!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190610/045325fc/attachment.sig>
next prev parent reply other threads:[~2019-06-10 21:53 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-08 1:26 [U-Boot] [PATCH 0/5] sunxi: env: Load environment from boot media Andre Przywara
2019-06-08 1:26 ` [U-Boot] [PATCH 1/5] env: allow undefined CONFIG_SYS_MMC_ENV_DEV Andre Przywara
2019-06-08 13:13 ` Tom Rini
2019-06-10 9:35 ` Andre Przywara
2019-06-10 21:53 ` Tom Rini [this message]
2019-06-08 1:26 ` [U-Boot] [PATCH 2/5] sunxi: autodetect SD/eMMC device for environment Andre Przywara
2019-06-08 1:26 ` [U-Boot] [PATCH 3/5] env: allow runtime determination of FAT environment partition Andre Przywara
2019-06-08 13:13 ` Tom Rini
2019-06-08 1:26 ` [U-Boot] [PATCH 4/5] sunxi: use FAT environment from boot source Andre Przywara
2019-06-08 1:26 ` [U-Boot] [PATCH 5/5] sunxi: use boot source for determining environment location Andre Przywara
2019-06-10 8:30 ` [U-Boot] [PATCH 0/5] sunxi: env: Load environment from boot media Maxime Ripard
2019-06-10 9:11 ` Andre Przywara
2019-06-11 9:37 ` Maxime Ripard
2019-06-11 14:28 ` Tom Rini
2019-06-11 14:53 ` Maxime Ripard
2019-06-11 15:20 ` Tom Rini
2019-06-11 15:34 ` Andre Przywara
2019-06-11 16:10 ` Tom Rini
2019-06-12 13:08 ` Maxime Ripard
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=20190610215358.GQ7115@bill-the-cat \
--to=trini@konsulko.com \
--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.