clocksource/drivers/tegra186: 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 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> Signed-off-by: Ingo Molnar <mingo@kernel.org> Reviewed-by: Will McVicker <willmcvicker@google.com> Link: https://lore.kernel.org/r/20250602151853.1942521-5-daniel.lezcano@linaro.org (cherry picked from commit 6d92fe9b423c19e6ec6dcbf71528a4bbbb7bf814) Bug 5391604 Change-Id: I49c3424890eedf748a8c18fe0f0f6a2645b84e6e Signed-off-by: Kartik Rajput <kkartik@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/3rdparty/canonical/linux-noble/+/3422019 Reviewed-by: Jon Hunter <jonathanh@nvidia.com> GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
e2e1186972
commit
e8d7eea840
@@ -373,6 +373,7 @@ static int tegra186_timer_tsc_init(struct tegra186_timer *tegra)
|
||||
tegra->tsc.read = tegra186_timer_tsc_read;
|
||||
tegra->tsc.mask = CLOCKSOURCE_MASK(56);
|
||||
tegra->tsc.flags = CLOCK_SOURCE_IS_CONTINUOUS;
|
||||
tegra->tsc.owner = THIS_MODULE;
|
||||
|
||||
return clocksource_register_hz(&tegra->tsc, 31250000);
|
||||
}
|
||||
@@ -392,6 +393,7 @@ static int tegra186_timer_osc_init(struct tegra186_timer *tegra)
|
||||
tegra->osc.read = tegra186_timer_osc_read;
|
||||
tegra->osc.mask = CLOCKSOURCE_MASK(32);
|
||||
tegra->osc.flags = CLOCK_SOURCE_IS_CONTINUOUS;
|
||||
tegra->osc.owner = THIS_MODULE;
|
||||
|
||||
return clocksource_register_hz(&tegra->osc, 38400000);
|
||||
}
|
||||
@@ -411,6 +413,7 @@ static int tegra186_timer_usec_init(struct tegra186_timer *tegra)
|
||||
tegra->usec.read = tegra186_timer_usec_read;
|
||||
tegra->usec.mask = CLOCKSOURCE_MASK(32);
|
||||
tegra->usec.flags = CLOCK_SOURCE_IS_CONTINUOUS;
|
||||
tegra->usec.owner = THIS_MODULE;
|
||||
|
||||
return clocksource_register_hz(&tegra->usec, USEC_PER_SEC);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user