mbox series

[0/4] iio: adc: use scoped device_for_each_childe_node()

Message ID 20240926-iio_device_for_each_child_node_scoped-v1-0-64ca8a424578@gmail.com (mailing list archive)
Headers show
Series iio: adc: use scoped device_for_each_childe_node() | expand

Message

Javier Carrasco Sept. 26, 2024, 4:08 p.m. UTC
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>
---
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,