[PATCH 00/13] disentangling cyclic API from schedule()
Stefan Roese
sr at denx.de
Fri Oct 4 13:20:41 CEST 2024
Hi Rasmus,
On 10/3/24 23:27, Rasmus Villemoes wrote:
> 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
Thanks for this work - really appreciated. I'm leaving for vacation
pretty soon. Will take a closer look at these patches in roughly 2
weeks.
Thanks,
Stefan
More information about the U-Boot
mailing list