[PATCH 00/13] disentangling cyclic API from schedule()

Rasmus Villemoes ravi at prevas.dk
Thu Oct 3 23:27:49 CEST 2024


These patches are part of a longer-term plan to properly deal with the
HW_WATCHDOG vs WATCHDOG dichotomy, and getting rid of the legacy
HW_WATCHDOG concept completely. As part of that, clean up which
headers include other headers.

While schedule(), the artist formerly known as WATCHDOG_RESET(), is
obviously called all over the tree, very few TUs make use of the
cyclic API (cyclic_register etc.). And there's really no reason at all
for global_data.h to include cyclic.h - except that some places
implicitly rely on getting their declaration of schedule() through
that include.

So this introduces a separate mostly trivial header that just serves
to declare schedule(). Then we can get rid of things that include
cyclic.h just to get that declaration.

A next, mostly mechanical step, could be to change almost all includes
of watchdog.h (which most TUs that used to have a WATCHDOG_RESET()
invocation has) to u-boot/schedule.h, because again, most of those TUs
are not really concerned with implementing init_func_watchdog_init or
need to call it. But that is for later.

CI seems happy: https://github.com/u-boot/u-boot/pull/673

Rasmus Villemoes (13):
  doc: cyclic: remove reference to WATCHDOG_RESET
  cyclic: introduce u-boot/schedule.h
  led: include cyclic.h in led_sw_blink.c
  m68k: asm/ptrace.h: include linux/types.h
  fs/cramfs: use schedule instead of cyclic_run as callback
  test: dm: wdt: replace cyclic_run() by schedule()
  cyclic: make cyclic_run static
  watchdog.h: change include of cyclic.h to u-boot/schedule.h
  lib/sha*: include u-boot/schedule.h instead of cyclic.h
  i2c: rzg2l: include u-boot/schedule.h
  ddr: altera: include u-boot/schedule.h
  boot: cedit: include u-boot/schedule.h
  global_data.h: remove unnecesary include of cyclic.h

 arch/m68k/include/asm/ptrace.h    |  2 ++
 boot/cedit.c                      |  1 +
 common/cyclic.c                   |  3 ++-
 doc/develop/cyclic.rst            | 10 +++++-----
 drivers/ddr/altera/sdram_n5x.c    |  1 +
 drivers/ddr/altera/sdram_soc64.c  |  1 +
 drivers/i2c/rz_riic.c             |  1 +
 drivers/led/led_sw_blink.c        |  1 +
 fs/cramfs/uncompress.c            |  4 ++--
 include/asm-generic/global_data.h |  1 -
 include/cyclic.h                  | 24 +-----------------------
 include/u-boot/schedule.h         | 24 ++++++++++++++++++++++++
 include/watchdog.h                |  2 +-
 lib/sha1.c                        |  2 +-
 lib/sha256.c                      |  2 +-
 lib/sha512.c                      |  2 +-
 test/dm/wdt.c                     | 10 +++++-----
 17 files changed, 50 insertions(+), 41 deletions(-)
 create mode 100644 include/u-boot/schedule.h

-- 
2.46.2



More information about the U-Boot mailing list