summaryrefslogtreecommitdiff
path: root/drivers/clocksource/timer-nxp-stm.c
diff options
context:
space:
mode:
authorDaniel Lezcano <daniel.lezcano@linaro.org>2025-06-02 17:18:49 +0200
committerDaniel Lezcano <daniel.lezcano@linaro.org>2025-09-23 10:52:13 +0200
commitedef59887b5c5a527ad4b287a51f8f9fc239d867 (patch)
tree7093470c3795e9abc3542568784d1ef6a5b908a9 /drivers/clocksource/timer-nxp-stm.c
parentafe904f5091e2ceaa95b451f61a115a0224e8e38 (diff)
clocksource/drivers/stm: Add module owner
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
Diffstat (limited to 'drivers/clocksource/timer-nxp-stm.c')
-rw-r--r--drivers/clocksource/timer-nxp-stm.c2
1 files changed, 2 insertions, 0 deletions
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;