]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
pinctrl: rockchip: Use scope based of_node_put() cleanups
authorPeng Fan <peng.fan@nxp.com>
Sat, 4 May 2024 13:20:07 +0000 (21:20 +0800)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 26 Jun 2024 09:57:23 +0000 (11:57 +0200)
Use scope based of_node_put() cleanup to simplify code.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Link: https://lore.kernel.org/20240504-pinctrl-cleanup-v2-9-26c5f2dc1181@nxp.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-rockchip.c

index cc647db76927c9eda47aef3051ddfd55be7420d9..5d3b720dc5b7a1b94b7a48d189d134b7a54f5d98 100644 (file)
@@ -3044,7 +3044,6 @@ static int rockchip_pinctrl_parse_functions(struct device_node *np,
                                                u32 index)
 {
        struct device *dev = info->dev;
-       struct device_node *child;
        struct rockchip_pmx_func *func;
        struct rockchip_pin_group *grp;
        int ret;
@@ -3065,14 +3064,12 @@ static int rockchip_pinctrl_parse_functions(struct device_node *np,
        if (!func->groups)
                return -ENOMEM;
 
-       for_each_child_of_node(np, child) {
+       for_each_child_of_node_scoped(np, child) {
                func->groups[i] = child->name;
                grp = &info->groups[grp_index++];
                ret = rockchip_pinctrl_parse_groups(child, grp, info, i++);
-               if (ret) {
-                       of_node_put(child);
+               if (ret)
                        return ret;
-               }
        }
 
        return 0;
@@ -3083,7 +3080,6 @@ static int rockchip_pinctrl_parse_dt(struct platform_device *pdev,
 {
        struct device *dev = &pdev->dev;
        struct device_node *np = dev->of_node;
-       struct device_node *child;
        int ret;
        int i;
 
@@ -3102,14 +3098,13 @@ static int rockchip_pinctrl_parse_dt(struct platform_device *pdev,
 
        i = 0;
 
-       for_each_child_of_node(np, child) {
+       for_each_child_of_node_scoped(np, child) {
                if (of_match_node(rockchip_bank_match, child))
                        continue;
 
                ret = rockchip_pinctrl_parse_functions(child, info, i++);
                if (ret) {
                        dev_err(dev, "failed to parse function\n");
-                       of_node_put(child);
                        return ret;
                }
        }