From: Devarsh Thakkar <devarsht@ti.com>
To: Simon Glass <sjg@chromium.org>,
U-Boot Mailing List <u-boot@lists.denx.de>
Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>,
Anatolij Gustschin <agust@denx.de>, Tom Rini <trini@konsulko.com>,
Bin Meng <bmeng@tinylab.org>,
Fabrice Gasnier <fabrice.gasnier@foss.st.com>,
Harald Seiler <hws@denx.de>,
Marek Vasut <marek.vasut+renesas@mailbox.org>,
Nikhil M Jain <n-jain1@ti.com>,
Patrick Delaunay <patrick.delaunay@foss.st.com>,
Sean Anderson <sean.anderson@seco.com>, Stefan Roese <sr@denx.de>,
Troy Kisky <troykiskyboundary@gmail.com>
Subject: Re: [PATCH v2 1/5] cyclic: Add a symbol for SPL
Date: Tue, 5 Dec 2023 16:07:16 +0530 [thread overview]
Message-ID: <bb8d22bb-e430-e10e-af6a-223aa56f28f7@ti.com> (raw)
In-Reply-To: <20231202153400.537050-2-sjg@chromium.org>
Hi Simon,
On 02/12/23 21:03, Simon Glass wrote:
> The cyclic subsystem is currently enabled either in all build phases
> or none. For tools this should not be enabled, but since lib/shc256.c
> and other files include watchdog.h in the host build, we must make
> sure that it is not enabled there.
>
> Add an SPL symbol so that there is more control of this.
>
> Add an include into cyclic.h so that tools can include this file.
>
> Also add the kconfig.h header so that CONFIG_IS_ENABLED() works. We
> could avoid this for now by moving the location of the watchdog.h
> inclusion to outside the USE_HOSTCC area. But at some point the #ifdefs
> from these files will likely be removed, so there is no benefit in
> going that way.
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Devarsh Thakkar <devarsht@ti.com>
Regards
Devarsh
> ---
>
> Changes in v2:
> - Add an SPL_CYCLIC symbol
> - Add a lot more explanation about the header files
>
> common/Kconfig | 8 ++++++++
> common/Makefile | 2 +-
> drivers/watchdog/Kconfig | 1 +
> include/asm-generic/global_data.h | 2 +-
> include/cyclic.h | 6 ++++--
> 5 files changed, 15 insertions(+), 4 deletions(-)
>
> diff --git a/common/Kconfig b/common/Kconfig
> index 0283701f1d05..5906a4af7c33 100644
> --- a/common/Kconfig
> +++ b/common/Kconfig
> @@ -626,6 +626,14 @@ config CYCLIC
>
> if CYCLIC
>
> +config SPL_CYCLIC
> + bool "General-purpose cyclic execution mechanism (SPL)"
> + help
> + This enables a general-purpose cyclic execution infrastructure in SPL,
> + to allow "small" (run-time wise) functions to be executed at
> + a specified frequency. Things like LED blinking or watchdog
> + triggering are examples for such tasks.
> +
> config CYCLIC_MAX_CPU_TIME_US
> int "Sets the max allowed time for a cyclic function in us"
> default 1000
> 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
> diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
> index 07fc4940e918..378435c55cc7 100644
> --- a/drivers/watchdog/Kconfig
> +++ b/drivers/watchdog/Kconfig
> @@ -395,6 +395,7 @@ config WDT_ARM_SMC
> config SPL_WDT
> bool "Enable driver model for watchdog timer drivers in SPL"
> depends on SPL_DM
> + select SPL_CYCLIC if CYCLIC
> help
> Enable driver model for watchdog timer in SPL.
> This is similar to CONFIG_WDT in U-Boot.
> diff --git a/include/asm-generic/global_data.h b/include/asm-generic/global_data.h
> index e8c6412e3f8d..77f11a4383c9 100644
> --- a/include/asm-generic/global_data.h
> +++ b/include/asm-generic/global_data.h
> @@ -485,7 +485,7 @@ struct global_data {
> */
> struct event_state event_state;
> #endif
> -#ifdef CONFIG_CYCLIC
> +#if CONFIG_IS_ENABLED(CYCLIC)
> /**
> * @cyclic_list: list of registered cyclic functions
> */
> 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>
>
> @@ -44,7 +45,8 @@ struct cyclic_info {
> /** Function type for cyclic functions */
> typedef void (*cyclic_func_t)(void *ctx);
>
> -#if defined(CONFIG_CYCLIC)
> +#if CONFIG_IS_ENABLED(CYCLIC)
> +
> /**
> * cyclic_register - Register a new cyclic function
> *
> @@ -122,6 +124,6 @@ static inline int cyclic_unregister_all(void)
> {
> return 0;
> }
> -#endif
> +#endif /* CYCLIC */
>
> #endif
next prev parent reply other threads:[~2023-12-05 10:37 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-02 15:33 [PATCH v2 0/5] video: Improve syncing performance with cyclic Simon Glass
2023-12-02 15:33 ` [PATCH v2 1/5] cyclic: Add a symbol for SPL Simon Glass
2023-12-04 7:28 ` Stefan Roese
2023-12-05 10:37 ` Devarsh Thakkar [this message]
2023-12-09 15:48 ` Tom Rini
2023-12-13 19:50 ` Simon Glass
2023-12-13 20:42 ` Tom Rini
2023-12-13 20:51 ` Simon Glass
2023-12-13 20:59 ` Tom Rini
2023-12-13 22:22 ` Simon Glass
2023-12-02 15:33 ` [PATCH v2 2/5] video: Move last_sync to private data Simon Glass
2023-12-02 15:33 ` [PATCH v2 3/5] video: Use cyclic to handle video sync Simon Glass
2023-12-02 15:33 ` [PATCH v2 4/5] sandbox: Increase cyclic CPU-time limit Simon Glass
2023-12-02 15:33 ` [PATCH v2 5/5] sandbox: Drop video-sync in serial driver Simon Glass
-- strict thread matches above, loose matches on Subject: below --
2023-11-21 2:09 [PATCH v2 0/5] video: Improve syncing performance with cyclic Simon Glass
2023-11-21 2:09 ` [PATCH v2 1/5] cyclic: Add a symbol for SPL Simon Glass
2023-11-21 13:06 ` Tom Rini
2023-11-21 16:20 ` Simon Glass
2023-11-21 18:19 ` Tom Rini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bb8d22bb-e430-e10e-af6a-223aa56f28f7@ti.com \
--to=devarsht@ti.com \
--cc=agust@denx.de \
--cc=bmeng@tinylab.org \
--cc=fabrice.gasnier@foss.st.com \
--cc=hws@denx.de \
--cc=marek.vasut+renesas@mailbox.org \
--cc=n-jain1@ti.com \
--cc=patrick.delaunay@foss.st.com \
--cc=sean.anderson@seco.com \
--cc=sjg@chromium.org \
--cc=sr@denx.de \
--cc=trini@konsulko.com \
--cc=troykiskyboundary@gmail.com \
--cc=u-boot@lists.denx.de \
--cc=xypron.glpk@gmx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox