This series removes accesses to the device `fwnode` to iterate over its own child nodes. Using the `device_for_each_child_node` macro provides direct access to the device child nodes, and given that in all cases they are only required within the loop, the scoped variant of the macro can be used. It has been stated in previous discussions [1] that `device_for_each_*` should be used to access device child nodes, removing the need to access its internal fwnode, and restricting `fwnode_for_each_*` to traversing subnodes when required. Note that `device_for_each_*` implies availability, which means that after this conversion, unavailable nodes will not be accessible within the loop. The affected drivers does not seem to have any reason to iterate over unavailable nodes, though. But if someone has a case where the affected drivers might require accessing unavailable nodes, please let me know. Link: https://lore.kernel.org/linux-hwmon/cffb5885-3cbc-480c-ab6d-4a442d1afb8a@xxxxxxxxx/ [1] Signed-off-by: Javier Carrasco <javier.carrasco.cruz@xxxxxxxxx> --- Changes in v3: - leds-as3645a: swap the parameters in as3645a_parse_node() to have dev at the beginning. - Rebase onto next-20240820, drop upstreamed patches (changes for coresight-cti-platform). - Link to v2: https://lore.kernel.org/r/20240808-device_child_node_access-v2-0-fc757cc76650@xxxxxxxxx Changes in v2: - Rebase onto next-20240808, drop upstreamed patches (changes for ad7768-1) - xilinx-ams.c: drop fwnode_device_is_available(child) (implicit in the loop). - Link to v1: https://lore.kernel.org/r/20240801-device_child_node_access-v1-0-ddfa21bef6f2@xxxxxxxxx --- Javier Carrasco (2): iio: adc: xilinx-ams: use device_* to iterate over device child nodes leds: as3645a: use device_* to iterate over device child nodes drivers/iio/adc/xilinx-ams.c | 15 +++++---------- drivers/leds/flash/leds-as3645a.c | 8 +++----- 2 files changed, 8 insertions(+), 15 deletions(-) --- base-commit: bb1b0acdcd66e0d8eedee3570d249e076b89ab32 change-id: 20240725-device_child_node_access-442533910a6f Best regards, -- Javier Carrasco <javier.carrasco.cruz@xxxxxxxxx>