pinctrl: nuvoton: Fix boot on ma35dx platforms
authorMiquel Raynal <miquel.raynal@bootlin.com>
Fri, 13 Jun 2025 18:13:12 +0000 (20:13 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 18 Jun 2025 12:29:34 +0000 (14:29 +0200)
commit46147490b4098e200b7d7d3ac4637a3e4f7b806a
tree95254cd12df449200e6ca01aaf2a2d11b84d67d8
parent7d502192431e2d863f4b2595182d61c7fa8e656f
pinctrl: nuvoton: Fix boot on ma35dx platforms

As part of a wider cleanup trying to get rid of OF specific APIs, an
incorrect (and partially unrelated) cleanup was introduced.

The goal was to replace a device_for_each_chil_node() loop including an
additional condition inside by a macro doing both the loop and the
check on a single line.

The snippet:

device_for_each_child_node(dev, child)
if (fwnode_property_present(child, "gpio-controller"))
continue;

was replaced by:

for_each_gpiochip_node(dev, child)

which expands into:

device_for_each_child_node(dev, child)
for_each_if(fwnode_property_present(child, "gpio-controller"))

This change is actually doing the opposite of what was initially
expected, breaking the probe of this driver, breaking at the same time
the whole boot of Nuvoton platforms (no more console, the kernel WARN()).

Revert these two changes to roll back to the correct behavior.

Fixes: 693c9ecd8326 ("pinctrl: nuvoton: Reduce use of OF-specific APIs")
Cc: stable@vger.kernel.org
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/20250613181312.1269794-1-miquel.raynal@bootlin.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/nuvoton/pinctrl-ma35.c