fwnode_for_each_child_node() and OF backend discrepancy

From: Michael Walle
Date: Mon Jun 27 2022 - 08:49:59 EST


Hi,

I tired to iterate over all child nodes, regardless if they are available
or not. Now there is that handy fwnode_for_each_child_node() (and the
fwnode_for_each_available_child_node()). The only thing is the OF backend
already skips disabled nodes [1], making fwnode_for_each_child_node() and
fwnode_for_each_available_child_node() behave the same with the OF backend.

Doesn't seem to be noticed by anyone for now. I'm not sure how to fix that
one. fwnode_for_each_child_node() and also fwnode_get_next_child_node() are
used by a handful of drivers. I've looked at some, but couldn't decide
whether they really want to iterate over all child nodes or just the enabled
ones.

Any thoughts?

-michael

[1] https://elixir.bootlin.com/linux/v5.19-rc3/source/drivers/of/property.c#L960