[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aD84FVFtggGP-FF2@google.com>
Date: Tue, 3 Jun 2025 10:59:49 -0700
From: William McVicker <willmcvicker@...gle.com>
To: Daniel Lezcano <daniel.lezcano@...aro.org>
Cc: tglx@...utronix.de, Jim Cromie <jim.cromie@...il.com>,
Maxime Coquelin <mcoquelin.stm32@...il.com>,
Alexandre Torgue <alexandre.torgue@...s.st.com>,
Chen-Yu Tsai <wens@...e.org>,
Jernej Skrabec <jernej.skrabec@...il.com>,
Samuel Holland <samuel@...lland.org>,
Thierry Reding <thierry.reding@...il.com>,
Jonathan Hunter <jonathanh@...dia.com>,
"Peter Zijlstra (Intel)" <peterz@...radead.org>,
Marco Elver <elver@...gle.com>, Nam Cao <namcao@...utronix.de>,
linux-kernel@...r.kernel.org,
linux-stm32@...md-mailman.stormreply.com,
linux-arm-kernel@...ts.infradead.org, linux-sunxi@...ts.linux.dev,
linux-tegra@...r.kernel.org, John Stulz <jstultz@...gle.com>,
Peter Griffin <peter.griffin@...aro.org>,
Saravan Kanna <saravanak@...gle.com>
Subject: Re: [PATCH v1 5/7] clocksource/drivers/stm: Add module owner
On 06/02/2025, Daniel Lezcano wrote:
> The conversion to modules requires a correct handling of the module
> refcount in order to prevent to unload it if it is in use. That is
> especially true with the clockevents where there is no function to
> unregister them.
>
> The core time framework correctly handles the module refcount with the
> different clocksource and clockevents if the module owner is set.
>
> Add the module owner to make sure the core framework will prevent
> stupid things happening when the driver will be converted into a
> module.
>
> Signed-off-by: Daniel Lezcano <daniel.lezcano@...aro.org>
Reviewed-by: Will McVicker <willmcvicker@...gle.com>
Thanks,
Will
> ---
> drivers/clocksource/timer-nxp-stm.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/clocksource/timer-nxp-stm.c b/drivers/clocksource/timer-nxp-stm.c
> index d7ccf9001729..bbc40623728f 100644
> --- a/drivers/clocksource/timer-nxp-stm.c
> +++ b/drivers/clocksource/timer-nxp-stm.c
> @@ -201,6 +201,7 @@ static int __init nxp_stm_clocksource_init(struct device *dev, struct stm_timer
> stm_timer->cs.resume = nxp_stm_clocksource_resume;
> stm_timer->cs.mask = CLOCKSOURCE_MASK(32);
> stm_timer->cs.flags = CLOCK_SOURCE_IS_CONTINUOUS;
> + stm_timer->cs.owner = THIS_MODULE;
>
> ret = clocksource_register_hz(&stm_timer->cs, stm_timer->rate);
> if (ret)
> @@ -314,6 +315,7 @@ static int __init nxp_stm_clockevent_per_cpu_init(struct device *dev, struct stm
> stm_timer->ced.cpumask = cpumask_of(cpu);
> stm_timer->ced.rating = 460;
> stm_timer->ced.irq = irq;
> + stm_timer->ced.owner = THIS_MODULE;
>
> per_cpu(stm_timers, cpu) = stm_timer;
>
> --
> 2.43.0
>
Powered by blists - more mailing lists