]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
pinctrl: at91: Use scope based of_node_put() cleanups
authorPeng Fan <peng.fan@nxp.com>
Sat, 4 May 2024 13:20:09 +0000 (21:20 +0800)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 26 Jun 2024 09:57:55 +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-11-26c5f2dc1181@nxp.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-at91-pio4.c
drivers/pinctrl/pinctrl-at91.c

index a27c01fcbb47edc545f118db546d5448735bacf1..8b01d312305ad40c38c45ee48b34fed44ff87a4b 100644 (file)
@@ -632,7 +632,6 @@ static int atmel_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
                                     struct pinctrl_map **map,
                                     unsigned int *num_maps)
 {
-       struct device_node *np;
        unsigned int reserved_maps;
        int ret;
 
@@ -648,13 +647,11 @@ static int atmel_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
        ret = atmel_pctl_dt_subnode_to_map(pctldev, np_config, map,
                                           &reserved_maps, num_maps);
        if (ret) {
-               for_each_child_of_node(np_config, np) {
+               for_each_child_of_node_scoped(np_config, np) {
                        ret = atmel_pctl_dt_subnode_to_map(pctldev, np, map,
                                                    &reserved_maps, num_maps);
-                       if (ret < 0) {
-                               of_node_put(np);
+                       if (ret < 0)
                                break;
-                       }
                }
        }
 
index 5aa9d5c533c6a9c7be0c82e6ccb7aea3df742645..b3c3f5fb2e2ec71599a61d9c016e71d250bfc4f7 100644 (file)
@@ -1244,7 +1244,6 @@ static int at91_pinctrl_parse_groups(struct device_node *np,
 static int at91_pinctrl_parse_functions(struct device_node *np,
                                        struct at91_pinctrl *info, u32 index)
 {
-       struct device_node *child;
        struct at91_pmx_func *func;
        struct at91_pin_group *grp;
        int ret;
@@ -1267,14 +1266,12 @@ static int at91_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 = at91_pinctrl_parse_groups(child, grp, info, i++);
-               if (ret) {
-                       of_node_put(child);
+               if (ret)
                        return ret;
-               }
        }
 
        return 0;
@@ -1296,7 +1293,6 @@ static int at91_pinctrl_probe_dt(struct platform_device *pdev,
        int i, j, ngpio_chips_enabled = 0;
        uint32_t *tmp;
        struct device_node *np = dev->of_node;
-       struct device_node *child;
 
        if (!np)
                return -ENODEV;
@@ -1349,14 +1345,12 @@ static int at91_pinctrl_probe_dt(struct platform_device *pdev,
 
        i = 0;
 
-       for_each_child_of_node(np, child) {
+       for_each_child_of_node_scoped(np, child) {
                if (of_device_is_compatible(child, gpio_compat))
                        continue;
                ret = at91_pinctrl_parse_functions(child, info, i++);
-               if (ret) {
-                       of_node_put(child);
+               if (ret)
                        return dev_err_probe(dev, ret, "failed to parse function\n");
-               }
        }
 
        return 0;