On Thu, 26 Sep 2024 18:08:36 +0200
Javier Carrasco <javier.carrasco.cruz@gmail.com> wrote:
> The device_for_each_child_node() macro requires calls to
> fwnode_handle_put() upon early exits (break/return), and that has been a
> constant source of bugs in the kernel.
>
> This series switches to the more secure, scoped version of the macro
> in the IIO subsystem, wherever the loop contains error paths. This
> change simplifies the code and removes the explicit calls to
> fwnode_handle_put(). In all cases the child node is only used for
> parsing, and not assigned to be used later.
>
> The straightforward uses of the loop with no error paths have been left
> untouched, as their simplicity justifies the non-scoped variant.
>
> Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com>
All look good to me.
I'll be rebasing on rc1 anyway, so there is plenty of time for any
other reviews to come in. In meantime I've queued these up on the testing
branch of iio.git.
Thanks,
Jonathan
> ---
> Javier Carrasco (4):
> iio: adc: qcom-pm8xxx-xoadc: use scoped device_for_each_child_node()
> iio: adc: qcom-spmi-vadc: use scoped device_for_each_child_node()
> iio: adc: sun20i-gpadc: use scoped device_for_each_child_node()
> iio: adc: ad5755: use scoped device_for_each_child_node()
>
> drivers/iio/adc/qcom-pm8xxx-xoadc.c | 8 +++-----
> drivers/iio/adc/qcom-spmi-vadc.c | 7 ++-----
> drivers/iio/adc/sun20i-gpadc-iio.c | 7 ++-----
> drivers/iio/dac/ad5755.c | 11 +++--------
> 4 files changed, 10 insertions(+), 23 deletions(-)
> ---
> base-commit: 92fc9636d1471b7f68bfee70c776f7f77e747b97
> change-id: 20240926-iio_device_for_each_child_node_scoped-cb534e6f5d9b
>
> Best regards,