mirror of https://github.com/torvalds/linux.git
gpio: of: simplify with scoped for each OF child loop
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>
This commit is contained in:
parent
789ce0f602
commit
f2c38c96d5
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue