]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
gpio: of: simplify with scoped for each OF child loop
authorKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Fri, 16 Aug 2024 15:13:56 +0000 (17:13 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 19 Aug 2024 08:07:26 +0000 (10:07 +0200)
Use scoped for_each_xxx loop when iterating over device nodes to make
code a bit simpler.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240816151356.154991-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/gpiolib-of.c

index 6683e531df521b37573dce6d7bf3c2d913f62b43..3bd3283b349c5d497f9b2d81739978d4fdbf0159 100644 (file)
@@ -338,11 +338,10 @@ static void of_gpio_flags_quirks(const struct device_node *np,
         */
        if (IS_ENABLED(CONFIG_SPI_MASTER) && !strcmp(propname, "cs-gpios") &&
            of_property_read_bool(np, "cs-gpios")) {
-               struct device_node *child;
                u32 cs;
                int ret;
 
-               for_each_child_of_node(np, child) {
+               for_each_child_of_node_scoped(np, child) {
                        ret = of_property_read_u32(child, "reg", &cs);
                        if (ret)
                                continue;
@@ -363,7 +362,6 @@ static void of_gpio_flags_quirks(const struct device_node *np,
                                                                "spi-cs-high");
                                of_gpio_quirk_polarity(child, active_high,
                                                       flags);
-                               of_node_put(child);
                                break;
                        }
                }
@@ -836,18 +834,15 @@ static int of_gpiochip_add_hog(struct gpio_chip *chip, struct device_node *hog)
  */
 static int of_gpiochip_scan_gpios(struct gpio_chip *chip)
 {
-       struct device_node *np;
        int ret;
 
-       for_each_available_child_of_node(dev_of_node(&chip->gpiodev->dev), np) {
+       for_each_available_child_of_node_scoped(dev_of_node(&chip->gpiodev->dev), np) {
                if (!of_property_read_bool(np, "gpio-hog"))
                        continue;
 
                ret = of_gpiochip_add_hog(chip, np);
-               if (ret < 0) {
-                       of_node_put(np);
+               if (ret < 0)
                        return ret;
-               }
 
                of_node_set_flag(np, OF_POPULATED);
        }