On Tue, 27 Feb 2024 09:52:28 +0000 Prabhakar Mahadev Lad <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> wrote: > > From: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> > > > > Switching to the _scoped() version removes the need for manual calling of fwnode_handle_put() in the > > paths where the code exits the loop early. In this case that's all in error paths. > > > > Cc: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> > > Signed-off-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> > > --- > > drivers/iio/adc/rzg2l_adc.c | 11 +++-------- > > 1 file changed, 3 insertions(+), 8 deletions(-) > > > Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> > I already picked up some of this series piecemeal so I'll keep going! Applied to the togreg branch of iio.git and pushed out as testing for 0-day to take a look. Thanks! Jonathan > Cheers, > Prabhakar > > > diff --git a/drivers/iio/adc/rzg2l_adc.c b/drivers/iio/adc/rzg2l_adc.c index > > 0921ff2d9b3a..cd3a7e46ea53 100644 > > --- a/drivers/iio/adc/rzg2l_adc.c > > +++ b/drivers/iio/adc/rzg2l_adc.c > > @@ -302,7 +302,6 @@ static irqreturn_t rzg2l_adc_isr(int irq, void *dev_id) static int > > rzg2l_adc_parse_properties(struct platform_device *pdev, struct rzg2l_adc *adc) { > > struct iio_chan_spec *chan_array; > > - struct fwnode_handle *fwnode; > > struct rzg2l_adc_data *data; > > unsigned int channel; > > int num_channels; > > @@ -330,17 +329,13 @@ static int rzg2l_adc_parse_properties(struct platform_device *pdev, struct rzg2l > > return -ENOMEM; > > > > i = 0; > > - device_for_each_child_node(&pdev->dev, fwnode) { > > + device_for_each_child_node_scoped(&pdev->dev, fwnode) { > > ret = fwnode_property_read_u32(fwnode, "reg", &channel); > > - if (ret) { > > - fwnode_handle_put(fwnode); > > + if (ret) > > return ret; > > - } > > > > - if (channel >= RZG2L_ADC_MAX_CHANNELS) { > > - fwnode_handle_put(fwnode); > > + if (channel >= RZG2L_ADC_MAX_CHANNELS) > > return -EINVAL; > > - } > > > > chan_array[i].type = IIO_VOLTAGE; > > chan_array[i].indexed = 1; > > -- > > 2.44.0 >