Skip to content

Commit c7a639d

Browse files
larsclausenalexandrebelloni
authored andcommitted
rtc: jz4740: Make sure clock provider gets removed
The jz4740 RTC driver registers a clock provider, but never removes it. This leaves a stale clock provider behind that references freed clocks when the device is unbound. Use the managed `devm_of_clk_add_hw_provider()` instead of `of_clk_add_hw_provider()` to make sure the provider gets automatically removed on unbind. Fixes: 5ddfa14 ("rtc: jz4740: Register clock provider for the CLK32K pin") Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Link: https://lore.kernel.org/r/20230409162544.16155-1-lars@metafoo.de Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
1 parent d31d730 commit c7a639d

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

drivers/rtc/rtc-jz4740.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -414,7 +414,8 @@ static int jz4740_rtc_probe(struct platform_device *pdev)
414414
return dev_err_probe(dev, ret,
415415
"Unable to register clk32k clock\n");
416416

417-
ret = of_clk_add_hw_provider(np, of_clk_hw_simple_get, &rtc->clk32k);
417+
ret = devm_of_clk_add_hw_provider(dev, of_clk_hw_simple_get,
418+
&rtc->clk32k);
418419
if (ret)
419420
return dev_err_probe(dev, ret,
420421
"Unable to register clk32k clock provider\n");

0 commit comments

Comments
 (0)