mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 04:24:31 +01:00
pinctrl: canaan: k230: Fix order of DT parse and pinctrl register
Move DT parse before pinctrl register. This ensures that device tree
parsing is done before calling devm_pinctrl_register() to prevent using
uninitialized pin resources.
Fixes: 545887eab6 ("pinctrl: canaan: Add support for k230 SoC")
Reported-by: Yao Zi <ziyao@disroot.org>
Signed-off-by: Ze Huang <huangze@whut.edu.cn>
Link: https://lore.kernel.org/20250624-k230-return-check-v1-2-6b4fc5ba0c41@whut.edu.cn
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
65bd0be486
commit
d94a32ac68
1 changed files with 5 additions and 2 deletions
|
|
@ -590,6 +590,7 @@ static int k230_pinctrl_probe(struct platform_device *pdev)
|
|||
struct device *dev = &pdev->dev;
|
||||
struct k230_pinctrl *info;
|
||||
struct pinctrl_desc *pctl;
|
||||
int ret;
|
||||
|
||||
info = devm_kzalloc(dev, sizeof(*info), GFP_KERNEL);
|
||||
if (!info)
|
||||
|
|
@ -615,13 +616,15 @@ static int k230_pinctrl_probe(struct platform_device *pdev)
|
|||
return dev_err_probe(dev, PTR_ERR(info->regmap_base),
|
||||
"failed to init regmap\n");
|
||||
|
||||
ret = k230_pinctrl_parse_dt(pdev, info);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
info->pctl_dev = devm_pinctrl_register(dev, pctl, info);
|
||||
if (IS_ERR(info->pctl_dev))
|
||||
return dev_err_probe(dev, PTR_ERR(info->pctl_dev),
|
||||
"devm_pinctrl_register failed\n");
|
||||
|
||||
k230_pinctrl_parse_dt(pdev, info);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue