Platform drivers can be probed after their init sections have been discarded (e.g. on probe deferral or manual rebind through sysfs) so the probe function must not live in init. Device managed resource actions similarly cannot be discarded.
The "_probe" suffix of the driver structure name prevents modpost from warning about this so replace it to catch any similar future issues.
Fixes: cec32ac75827 ("clocksource/drivers/nxp-timer: Add the System Timer Module for the s32gx platforms") Cc: stable@vger.kernel.org # 6.16 Cc: Daniel Lezcano daniel.lezcano@linaro.org Signed-off-by: Johan Hovold johan@kernel.org --- drivers/clocksource/timer-nxp-stm.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/drivers/clocksource/timer-nxp-stm.c b/drivers/clocksource/timer-nxp-stm.c index bbc40623728f..ce10bdcfc76b 100644 --- a/drivers/clocksource/timer-nxp-stm.c +++ b/drivers/clocksource/timer-nxp-stm.c @@ -177,15 +177,15 @@ static void nxp_stm_clocksource_resume(struct clocksource *cs) nxp_stm_clocksource_enable(cs); }
-static void __init devm_clocksource_unregister(void *data) +static void devm_clocksource_unregister(void *data) { struct stm_timer *stm_timer = data;
clocksource_unregister(&stm_timer->cs); }
-static int __init nxp_stm_clocksource_init(struct device *dev, struct stm_timer *stm_timer, - const char *name, void __iomem *base, struct clk *clk) +static int nxp_stm_clocksource_init(struct device *dev, struct stm_timer *stm_timer, + const char *name, void __iomem *base, struct clk *clk) { int ret;
@@ -298,9 +298,9 @@ static void nxp_stm_clockevent_resume(struct clock_event_device *ced) nxp_stm_module_get(stm_timer); }
-static int __init nxp_stm_clockevent_per_cpu_init(struct device *dev, struct stm_timer *stm_timer, - const char *name, void __iomem *base, int irq, - struct clk *clk, int cpu) +static int nxp_stm_clockevent_per_cpu_init(struct device *dev, struct stm_timer *stm_timer, + const char *name, void __iomem *base, int irq, + struct clk *clk, int cpu) { stm_timer->base = base; stm_timer->rate = clk_get_rate(clk); @@ -388,7 +388,7 @@ static irqreturn_t nxp_stm_module_interrupt(int irq, void *dev_id) return IRQ_HANDLED; }
-static int __init nxp_stm_timer_probe(struct platform_device *pdev) +static int nxp_stm_timer_probe(struct platform_device *pdev) { struct stm_timer *stm_timer; struct device *dev = &pdev->dev; @@ -484,14 +484,14 @@ static const struct of_device_id nxp_stm_of_match[] = { }; MODULE_DEVICE_TABLE(of, nxp_stm_of_match);
-static struct platform_driver nxp_stm_probe = { +static struct platform_driver nxp_stm_driver = { .probe = nxp_stm_timer_probe, .driver = { .name = "nxp-stm", .of_match_table = nxp_stm_of_match, }, }; -module_platform_driver(nxp_stm_probe); +module_platform_driver(nxp_stm_driver);
MODULE_DESCRIPTION("NXP System Timer Module driver"); MODULE_LICENSE("GPL");
On Fri, Oct 17, 2025 at 07:49:43AM +0200, Johan Hovold wrote:
Platform drivers can be probed after their init sections have been discarded (e.g. on probe deferral or manual rebind through sysfs) so the probe function must not live in init. Device managed resource actions similarly cannot be discarded.
The "_probe" suffix of the driver structure name prevents modpost from warning about this so replace it to catch any similar future issues.
Fixes: cec32ac75827 ("clocksource/drivers/nxp-timer: Add the System Timer Module for the s32gx platforms") Cc: stable@vger.kernel.org # 6.16 Cc: Daniel Lezcano daniel.lezcano@linaro.org Signed-off-by: Johan Hovold johan@kernel.org
Addressing this apparently depends on commit 84b1a903aed8 ("time/sched_clock: Export symbol for sched_clock register function") which was merged for 6.18-rc1.
So the stable tag should be dropped (e.g. unless it's possible to backport also the dependency to 6.17).
Johan
On Mon, Oct 20, 2025 at 11:32:37AM +0200, Johan Hovold wrote:
On Fri, Oct 17, 2025 at 07:49:43AM +0200, Johan Hovold wrote:
Platform drivers can be probed after their init sections have been discarded (e.g. on probe deferral or manual rebind through sysfs) so the probe function must not live in init. Device managed resource actions similarly cannot be discarded.
The "_probe" suffix of the driver structure name prevents modpost from warning about this so replace it to catch any similar future issues.
Fixes: cec32ac75827 ("clocksource/drivers/nxp-timer: Add the System Timer Module for the s32gx platforms") Cc: stable@vger.kernel.org # 6.16 Cc: Daniel Lezcano daniel.lezcano@linaro.org Signed-off-by: Johan Hovold johan@kernel.org
Addressing this apparently depends on commit 84b1a903aed8 ("time/sched_clock: Export symbol for sched_clock register function") which was merged for 6.18-rc1.
So the stable tag should be dropped (e.g. unless it's possible to backport also the dependency to 6.17).
Quite easy to do so, just ask us! :)
On Mon, Oct 20, 2025 at 11:39:59AM +0200, Greg Kroah-Hartman wrote:
On Mon, Oct 20, 2025 at 11:32:37AM +0200, Johan Hovold wrote:
On Fri, Oct 17, 2025 at 07:49:43AM +0200, Johan Hovold wrote:
Platform drivers can be probed after their init sections have been discarded (e.g. on probe deferral or manual rebind through sysfs) so the probe function must not live in init. Device managed resource actions similarly cannot be discarded.
The "_probe" suffix of the driver structure name prevents modpost from warning about this so replace it to catch any similar future issues.
Fixes: cec32ac75827 ("clocksource/drivers/nxp-timer: Add the System Timer Module for the s32gx platforms") Cc: stable@vger.kernel.org # 6.16 Cc: Daniel Lezcano daniel.lezcano@linaro.org Signed-off-by: Johan Hovold johan@kernel.org
Addressing this apparently depends on commit 84b1a903aed8 ("time/sched_clock: Export symbol for sched_clock register function") which was merged for 6.18-rc1.
So the stable tag should be dropped (e.g. unless it's possible to backport also the dependency to 6.17).
Quite easy to do so, just ask us! :)
Heh. I meant that there may be something preventing the dependency from being backported (even if I didn't see anything obvious based on a quick look at the series adding it).
Johan
linux-stable-mirror@lists.linaro.org