[PATCH 2/2] timer: orion-timer: Only init timer once
Stefan Roese
sr at denx.de
Thu Oct 6 12:46:26 CEST 2022
On 21.09.22 08:26, Stefan Roese wrote:
> Move the code making sure that the timer is initialized only once into
> orion_timer_init(), which is called from timer_early_init() and from
> orion_timer_probe(). This way the timer is not re-initialized.
>
> Signed-off-by: Stefan Roese <sr at denx.de>
> Cc: Michael Walle <michael at walle.cc>
> Cc: Pali Rohár <pali at kernel.org>
Applied to u-boot-marvell/master
Thanks,
Stefan
> ---
> drivers/timer/orion-timer.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/timer/orion-timer.c b/drivers/timer/orion-timer.c
> index cd63ea916237..d0eab3ce781d 100644
> --- a/drivers/timer/orion-timer.c
> +++ b/drivers/timer/orion-timer.c
> @@ -28,6 +28,11 @@ static bool early_init_done __section(".data") = false;
> /* Common functions for early (boot) and DM based timer */
> static void orion_timer_init(void *base, enum input_clock_type type)
> {
> + /* Only init the timer once */
> + if (early_init_done)
> + return;
> + early_init_done = true;
> +
> writel(~0, base + TIMER0_VAL);
> writel(~0, base + TIMER0_RELOAD);
>
> @@ -51,11 +56,6 @@ static uint64_t orion_timer_get_count(void *base)
> /* Early (e.g. bootstage etc) timer functions */
> static void notrace timer_early_init(void)
> {
> - /* Only init the timer once */
> - if (early_init_done)
> - return;
> - early_init_done = true;
> -
> if (IS_ENABLED(CONFIG_ARCH_MVEBU))
> orion_timer_init((void *)MVEBU_TIMER_BASE, INPUT_CLOCK_25MHZ);
> else
Viele Grüße,
Stefan Roese
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de
More information about the U-Boot
mailing list