summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStepan Ionichev <sozdayvek@gmail.com>2026-05-13 14:09:00 +0500
committerSudeep Holla <sudeep.holla@kernel.org>2026-05-14 12:15:38 +0100
commitb79d9b5747d961516c35ef4d5e91efa579fd3e9a (patch)
treeea5e6093f59d8c1d7ca90cced32cd8e2ffd84553
parentd2488ff1a257342111e1be1348d52e8b4ecfaa36 (diff)
clk: scpi: Unregister child clock providers on remove
SCPI clock providers are registered for each child node in scpi_clk_add(), but scpi_clocks_remove() unregisters the parent node on each iteration. of_clk_del_provider() matches providers by the node used at registration time, so passing the parent node leaves the child providers registered. This leaks the provider allocations and the node references held by the clock provider core. Pass the child node to of_clk_del_provider() so the remove path matches the probe path. Fixes: cd52c2a4b5c4 ("clk: add support for clocks provided by SCP(System Control Processor)") Signed-off-by: Stepan Ionichev <sozdayvek@gmail.com> Link: https://patch.msgid.link/20260513090900.5323-1-sozdayvek@gmail.com (sudeep.holla: Updated commit title and message a bit) Signed-off-by: Sudeep Holla <sudeep.holla@kernel.org>
-rw-r--r--drivers/clk/clk-scpi.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/clk/clk-scpi.c b/drivers/clk/clk-scpi.c
index 7806569cd0d5..24cee7c9fda6 100644
--- a/drivers/clk/clk-scpi.c
+++ b/drivers/clk/clk-scpi.c
@@ -258,7 +258,7 @@ static void scpi_clocks_remove(struct platform_device *pdev)
}
for_each_available_child_of_node(np, child)
- of_clk_del_provider(np);
+ of_clk_del_provider(child);
}
static int scpi_clocks_probe(struct platform_device *pdev)