On 12/13/24 2:09 AM, Mingwei Zheng wrote:
[...]
@@ -1397,7 +1397,7 @@ static int stm32_gpiolib_register_bank(struct stm32_pinctrl *pctl, struct fwnode
return 0;
err_clk:
- clk_disable_unprepare(bank->clk);
+ clk_disable_unprepare(pctl->clks[pctl->nbanks].clk);
Should this be
-clk_disable_unprepare(pctl->clks[pctl->nbanks].clk);
+clk_disable_unprepare(pctl->clks[bank->bank_nr].clk);
^^^^^^^^^^^^^
?
return err;
}
@@ -1617,10 +1617,18 @@ int stm32_pctl_probe(struct platform_device *pdev)
return -EINVAL;
}
pctl->banks = devm_kcalloc(dev, banks, sizeof(*pctl->banks),
- GFP_KERNEL);
+ GFP_KERNEL);
if (!pctl->banks)
return -ENOMEM;
+ pctl->clks = devm_kcalloc(dev, banks, sizeof(*pctl->clks),
+ GFP_KERNEL);
+ if (!pctl->clks)
+ return -ENOMEM;
+
+ for (i = 0; i < banks; ++i)
i++