On Mon, Aug 30, 2021 at 12:40:07AM +0200, Marek Vasut wrote: > On 8/30/21 12:23 AM, Tom Rini wrote: > > On Mon, Aug 30, 2021 at 12:19:59AM +0200, Marek Vasut wrote: > > > On 8/30/21 12:10 AM, Tom Rini wrote: > > > > On Sun, Aug 29, 2021 at 11:47:58PM +0200, Marek Vasut wrote: > > > > > On 8/29/21 9:32 PM, Tom Rini wrote: > > > > > > On Sun, Aug 29, 2021 at 09:24:46PM +0200, Marek Vasut wrote: > > > > > > > On 8/29/21 8:02 PM, Tom Rini wrote: > > > > > > > > On Sun, Aug 29, 2021 at 06:26:23PM +0200, Marek Vasut wrote: > > > > > > > > > On 8/15/21 9:47 PM, Tom Rini wrote: > > > > > > > > > > On Sun, Aug 15, 2021 at 08:13:02PM +0200, Marek Vasut wrote: > > > > > > > > > > > > > > > > > > > > > The CONFIG_LMB_*_REGIONS are defined only if CONFIG_LMB > > > > > > > > > > > is enabled, > > > > > > > > > > > protect access to those two config options to avoid > > > > > > > > > > > undefined macro > > > > > > > > > > > errors. > > > > > > > > > > > > > > > > > > > > > > Signed-off-by: Marek Vasut <marek.vasut+rene...@gmail.com> > > > > > > > > > > > Cc: Simon Glass <s...@chromium.org> > > > > > > > > > > > Cc: Simon Goldschmidt <simon.k.r.goldschm...@gmail.com> > > > > > > > > > > > Cc: Tom Rini <tr...@konsulko.com> > > > > > > > > > > > --- > > > > > > > > > > > include/lmb.h | 4 ++-- > > > > > > > > > > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > > > > > > > > > > > > > > > > > > > diff --git a/include/lmb.h b/include/lmb.h > > > > > > > > > > > index 3c4afdf9f0..fa1474a360 100644 > > > > > > > > > > > --- a/include/lmb.h > > > > > > > > > > > +++ b/include/lmb.h > > > > > > > > > > > @@ -44,7 +44,7 @@ struct lmb_property { > > > > > > > > > > > struct lmb_region { > > > > > > > > > > > unsigned long cnt; > > > > > > > > > > > unsigned long max; > > > > > > > > > > > -#if IS_ENABLED(CONFIG_LMB_USE_MAX_REGIONS) > > > > > > > > > > > +#if IS_ENABLED(CONFIG_LMB) && > > > > > > > > > > > IS_ENABLED(CONFIG_LMB_USE_MAX_REGIONS) > > > > > > > > > > > > > > > > This doesn't make sense to me, still. You cannot enable > > > > > > > > CONFIG_LMB_USE_MAX_REGIONS without CONFIG_LMB as the former > > > > > > > > depends on > > > > > > > > the latter in Kconfig. > > > > > > > > > > > > > > > > > > > struct lmb_property > > > > > > > > > > > region[CONFIG_LMB_MAX_REGIONS]; > > > > > > > > > > > #else > > > > > > > > > > > struct lmb_property *region; > > > > > > > > > > > @@ -67,7 +67,7 @@ struct lmb_region { > > > > > > > > > > > struct lmb { > > > > > > > > > > > struct lmb_region memory; > > > > > > > > > > > struct lmb_region reserved; > > > > > > > > > > > -#if !IS_ENABLED(CONFIG_LMB_USE_MAX_REGIONS) > > > > > > > > > > > +#if IS_ENABLED(CONFIG_LMB) && > > > > > > > > > > > !IS_ENABLED(CONFIG_LMB_USE_MAX_REGIONS) > > > > > > > > > > > struct lmb_property > > > > > > > > > > > memory_regions[CONFIG_LMB_MEMORY_REGIONS]; > > > > > > > > > > > struct lmb_property > > > > > > > > > > > reserved_regions[CONFIG_LMB_RESERVED_REGIONS]; > > > > > > > > > > > #endif > > > > > > > > > > > > > > > > > > > > We shouldn't need this at all. LMB and LMB_USE_MAX_REGIONS > > > > > > > > > > are both in > > > > > > > > > > Kconfig and have the dependencies expressed that way. > > > > > > > > > > > > > > > > > > However, CONFIG_LMB_MEMORY_REGIONS and > > > > > > > > > CONFIG_LMB_RESERVED_REGIONS may be > > > > > > > > > undefined if CONFIG_LMB and !CONFIG_LMB_USE_MAX_REGIONS . > > > > > > > > > They are four > > > > > > > > > different symbols. > > > > > > > > > > > > > > > > I'm still not seeing it, sorry. Is there some case where we're > > > > > > > > trying > > > > > > > > to access a struct lmb without CONFIG_LMB enabled? > > > > > > > > > > > > > > > > > > > > > > See build failure > > > > > > > https://source.denx.de/u-boot/custodians/u-boot-sh/-/jobs/315331 > > > > > > > > > > > > Ah, progress. Drop <lmb.h> from <image.h> since we already have a > > > > > > forward declaration of struct lmb? But it's not failing without > > > > > > this > > > > > > series too, so what's changing? > > > > > > > > > > See 01/14 in this series. > > > > > > > > Ah, so drop 1/14 then. > > > > > > Why ? That patch is correct. > > > > It's not quite right, 1/14 and then 2/14 are papering over the fact that > > lmb.h, and it's including headers / files, need to be cleaned up so that > > we don't need to have redundant tests in the header. > > 1/14 disables LMB and CMD_BDI for tools build, we do not need those, so 1/14 > is correct.
We don't need to build u-boot at all for tools-only, only the tools-only build target. It's just annoying to exclude the tools-only_defconfig from "sandbox" in CI. > What kind of cleanup of lmb.h do you have in mind ? Remove it from include/image.h and fix any fall-out from that of files that got <lmb.h> indirectly when they needed it directly instead. -- Tom
signature.asc
Description: PGP signature