This series adds scoped versions of fwnode iterator macros and converts existing manual implementation to use them. The first patch adds the infrastructure macros following existing patterns for scoped iterators in the kernel. The second patch demonstrates fwnode_for_each_child_node_scoped() usage by converting existing manual __free() usage in i2c-core-slave.c. This series introduces infrastructure for the TM16XX driver series, being the first user of fwnode_for_each_available_child_node_scoped(). See the related patch series: auxdisplay: Add TM16xx 7-segment LED matrix display controllers driver Changes in v4: - drop the fwnode_for_each_named_child_node_scoped() variant (no user) - add Reviewed-by tag to commit message of patch 2/2 Changes in v3: - Split into separate patches as requested - Infrastructure addition in patch 1/2 - Usage example in patch 2/2 Changes in v2: - replace manual __free(fwnode_handle) of i2c-core-slave.c with fwnode_for_each_child_node_scoped Jean-François Lessard (2): device property: Add scoped fwnode child node iterators i2c: core: Use fwnode_for_each_child_node_scoped() drivers/i2c/i2c-core-slave.c | 3 +-- include/linux/property.h | 10 ++++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) -- 2.43.0