[PATCH v10 2/5] clk: en7523: use devm variant for clk_hw_register and fixed clock
From: Christian Marangi
Date: Thu Nov 05 2026 - 07:21:09 EST
Use devm variant for clk_hw_register and clk_hw_register_fixed_rate
to correctly unregister the clocks on probe fails.
This should never happen under normal condition but it's better to
handle these cleanup.
Signed-off-by: Christian Marangi <ansuelsmth@xxxxxxxxx>
---
drivers/clk/clk-en7523.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/clk/clk-en7523.c b/drivers/clk/clk-en7523.c
index 24fdec2e6198..2baec734df9f 100644
--- a/drivers/clk/clk-en7523.c
+++ b/drivers/clk/clk-en7523.c
@@ -651,7 +651,7 @@ static struct clk_hw *en7523_register_pcie_clk(struct device *dev,
if (init.ops->unprepare)
init.ops->unprepare(&cg->hw);
- if (clk_hw_register(dev, &cg->hw))
+ if (devm_clk_hw_register(dev, &cg->hw))
return NULL;
return &cg->hw;
@@ -708,7 +708,7 @@ static void en7523_register_clocks(struct device *dev, struct clk_hw_onecell_dat
val = readl(base + reg);
rate /= en7523_get_div(desc, val);
- hw = clk_hw_register_fixed_rate(dev, desc->name, NULL, 0, rate);
+ hw = devm_clk_hw_register_fixed_rate(dev, desc->name, NULL, 0, rate);
if (IS_ERR(hw)) {
pr_err("Failed to register clk %s: %ld\n",
desc->name, PTR_ERR(hw));
@@ -770,7 +770,7 @@ static void en7581_register_clocks(struct device *dev, struct clk_hw_onecell_dat
}
rate /= en7523_get_div(desc, val);
- hw = clk_hw_register_fixed_rate(dev, desc->name, NULL, 0, rate);
+ hw = devm_clk_hw_register_fixed_rate(dev, desc->name, NULL, 0, rate);
if (IS_ERR(hw)) {
pr_err("Failed to register clk %s: %ld\n",
desc->name, PTR_ERR(hw));
@@ -1105,7 +1105,7 @@ static void en751221_try_register_clk(struct device *dev, int key,
if (WARN_ON_ONCE(key >= EN751221_MAX_CLKS))
return;
- hw = clk_hw_register_fixed_rate(dev, name, NULL, 0, rate);
+ hw = devm_clk_hw_register_fixed_rate(dev, name, NULL, 0, rate);
if (IS_ERR(hw))
pr_err("Failed to register clk %s: %pe\n", name, hw);
else
--
2.55.0