diff mbox series

clk: fixed-factor: fix of_node_get-put imbalance

Message ID 20181101131549.24497-1-ricardo.ribalda@gmail.com (mailing list archive)
State Accepted, archived
Headers show
Series clk: fixed-factor: fix of_node_get-put imbalance | expand

Commit Message

Ricardo Ribalda Delgado Nov. 1, 2018, 1:15 p.m. UTC
When the fixed factor clock is created by devicetree,
of_clk_add_provider is called.  Add a call to
of_clk_del_provider in the remove function to balance
it out.

Reported-by: Alan Tull <atull@kernel.org>
Fixes: 971451b3b15d ("clk: fixed-factor: Convert into a module platform driver")
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
 drivers/clk/clk-fixed-factor.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Stephen Boyd Nov. 1, 2018, 11:54 p.m. UTC | #1
Quoting Ricardo Ribalda Delgado (2018-11-01 06:15:49)
> When the fixed factor clock is created by devicetree,
> of_clk_add_provider is called.  Add a call to
> of_clk_del_provider in the remove function to balance
> it out.
> 
> Reported-by: Alan Tull <atull@kernel.org>
> Fixes: 971451b3b15d ("clk: fixed-factor: Convert into a module platform driver")
> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
> ---

Looks good. I'll queue this up for clk-fixes next week.
Stephen Boyd Nov. 6, 2018, 4:28 p.m. UTC | #2
Quoting Ricardo Ribalda Delgado (2018-11-01 06:15:49)
> When the fixed factor clock is created by devicetree,
> of_clk_add_provider is called.  Add a call to
> of_clk_del_provider in the remove function to balance
> it out.
> 
> Reported-by: Alan Tull <atull@kernel.org>
> Fixes: 971451b3b15d ("clk: fixed-factor: Convert into a module platform driver")
> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
> ---

Applied to clk-fixes
diff mbox series

Patch

diff --git a/drivers/clk/clk-fixed-factor.c b/drivers/clk/clk-fixed-factor.c
index 20724abd38bd..7df6b5b1e7ee 100644
--- a/drivers/clk/clk-fixed-factor.c
+++ b/drivers/clk/clk-fixed-factor.c
@@ -210,6 +210,7 @@  static int of_fixed_factor_clk_remove(struct platform_device *pdev)
 {
 	struct clk *clk = platform_get_drvdata(pdev);
 
+	of_clk_del_provider(pdev->dev.of_node);
 	clk_unregister_fixed_factor(clk);
 
 	return 0;