]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
clocksource/drivers/stm: Add module owner
authorDaniel Lezcano <daniel.lezcano@linaro.org>
Mon, 2 Jun 2025 15:18:49 +0000 (17:18 +0200)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Tue, 23 Sep 2025 08:52:13 +0000 (10:52 +0200)
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@linaro.org>
Reviewed-by: Will McVicker <willmcvicker@google.com>
Link: https://lore.kernel.org/r/20250602151853.1942521-6-daniel.lezcano@linaro.org
drivers/clocksource/timer-nxp-stm.c

index d7ccf900172983cc4ea334f45c53da148affd1ed..bbc40623728fa5f2b2702811739c48620883a6fd 100644 (file)
@@ -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;