[PATCH 1/5] cyclic: Disable in SPL builds

Simon Glass sjg at chromium.org
Sun Nov 19 19:23:41 CET 2023


Hi Tom,

On Sun, 19 Nov 2023 at 08:59, Tom Rini <trini at konsulko.com> wrote:
>
> On Sun, Nov 19, 2023 at 07:46:39AM -0700, Simon Glass wrote:
>
> > The cyclic subsystem is currently enabled in all build phases or none.
> > So far it doesn't have any purpose within SPL builds, so adjust the
> > rules to prevent it being built in that case.
> >
> > Signed-off-by: Simon Glass <sjg at chromium.org>
> > ---
> >
> >  common/Makefile  | 2 +-
> >  include/cyclic.h | 6 ++++--
> >  2 files changed, 5 insertions(+), 3 deletions(-)
> >
> > diff --git a/common/Makefile b/common/Makefile
> > index 1495436d5d45..27443863bf9b 100644
> > --- a/common/Makefile
> > +++ b/common/Makefile
> > @@ -77,7 +77,7 @@ obj-$(CONFIG_CROS_EC) += cros_ec.o
> >  obj-y += dlmalloc.o
> >  obj-$(CONFIG_$(SPL_TPL_)SYS_MALLOC_F) += malloc_simple.o
> >
> > -obj-$(CONFIG_CYCLIC) += cyclic.o
> > +obj-$(CONFIG_$(SPL_TPL_)CYCLIC) += cyclic.o
> >  obj-$(CONFIG_$(SPL_TPL_)EVENT) += event.o
> >
> >  obj-$(CONFIG_$(SPL_TPL_)HASH) += hash.o
>
> This is fine, but I suspect we're missing SPL_CYCLIC as a symbol and
> SPL_WDT should be select'ing that, same as "WDT".

Ooops I had assumed that it wasn't used in SPL but of course watchdog
is completely migrated to it now...I will add a symbol.

BTW the watchdog Kconfig seems a little confusiing. There is only one
board using WATCHDOG without WDT and only 3 using HW_WATCHDOG

Setfan, I wonder if some more clean-up could be done?

>
> > diff --git a/include/cyclic.h b/include/cyclic.h
> > index 44ad3cb6b803..d3b368dd90df 100644
> > --- a/include/cyclic.h
> > +++ b/include/cyclic.h
> > @@ -11,6 +11,7 @@
> >  #ifndef __cyclic_h
> >  #define __cyclic_h
> >
> > +#include <linux/kconfig.h>
> >  #include <linux/list.h>
> >  #include <asm/types.h>
>
> Is this really needed? What's blowing up since we should have -include
> .../linux/kconfig.h cover this.

It is the CONFIG_IS_ENABLED() when building. We have kconfig.h in a
few other places (used by tools) too.

In file included from include/watchdog.h:13,
                 from tools/../lib/sha1.c:25,
                 from tools/generated/lib/sha1.c:1:
include/cyclic.h:47:22: error: missing binary operator before token "("
   47 | #if CONFIG_IS_ENABLED(CYCLIC)
      |                      ^

Regards,
Simon


More information about the U-Boot mailing list