[PATCH 3/5] sysinfo: Require that sysinfo_detect be called before other methods
Simon Glass
sjg at chromium.org
Fri Mar 5 17:39:52 CET 2021
Hi Sean,
On Fri, 5 Mar 2021 at 08:12, Sean Anderson <sean.anderson at seco.com> wrote:
>
>
>
> On 3/4/21 11:08 PM, Simon Glass wrote:
> > Hi Sean,
> >
> > On Mon, 1 Mar 2021 at 15:46, Sean Anderson <sean.anderson at seco.com> wrote:
> >>
> >> This updates sysinfo documentation to document that detect() must be
> >> called first. This allows drivers to cache information in detect() and
> >> perform (cheaper) retrieval in the other accessors. This also modifies
> >> the only instance where this sequencing was not followed.
> >>
> >> Signed-off-by: Sean Anderson <sean.anderson at seco.com>
> >> ---
> >>
> >> common/spl/spl_fit.c | 4 ++++
> >> include/sysinfo.h | 29 ++++++++++++++++++++---------
> >> 2 files changed, 24 insertions(+), 9 deletions(-)
> >
> > Reviewed-by: Simon Glass <sjg at chromium.org>
> >
> > Is it possible to enforce this in the uclass?
>
> So have the uclass call detect() if it hasn't been called? Should there
> be a way to re-detect?
I mean have a check function (that all off the uclass methods call)
that checks it has been called and returns an error immediately if
not.
I don't think automatically detecting is a great idea - as you say it
makes it hard to re-detect. But just a bool flag in the device's
uclass-private data should be enough.
>
> > Also I think -EPERM or -EACCES might be better than -ENOENT.
>
> Hm, I thought I saw gazerbeam using ENOENT for this purpose, but on
> further review it looks like it does not. I think EPERM is good for
> this.
OK.
Regards,
Simon
More information about the U-Boot
mailing list