On Sat, 27 Apr 2024 09:10:55 -0300 Lincoln Yuji <lincolnyuji@xxxxxx> wrote: > This loop definition removes the need for manual releasing of the > fwnode_handle in early exit paths (here an error path) allow > simplification of the code and reducing the chance of future > modifications not releasing fwnode_handle correctly. > > Co-developed-by: Luiza Soezima <lbrsoezima@xxxxxx> > Signed-off-by: Luiza Soezima <lbrsoezima@xxxxxx> > Co-developed-by: Sabrina Araujo <sabrinaaraujo@xxxxxx> > Signed-off-by: Sabrina Araujo <sabrinaaraujo@xxxxxx> > Signed-off-by: Lincoln Yuji <lincolnyuji@xxxxxx> > --- I think this is a response to Marcelo's review of v1. If so, a couple of process things you have gotten wrong. 1) You should pick up tags, assuming you've made the changes suggested. So should include Reviewed-by: Marcelo Schmitt <marcelo.schmitt1@xxxxxxxxx> in the block above. 2) It should be clearly marked as v2. Pass -v2 to git format patch is the easiest way to do this, or edit the patch title so it says something like [PATCH V2] ... Otherwise the patch looks fine. Please do a v3, correcting the above. Thanks, Jonathan > drivers/iio/adc/ti-ads1015.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/drivers/iio/adc/ti-ads1015.c b/drivers/iio/adc/ti-ads1015.c > index 6ae967e4d..d3363d02f 100644 > --- a/drivers/iio/adc/ti-ads1015.c > +++ b/drivers/iio/adc/ti-ads1015.c > @@ -902,10 +902,9 @@ static int ads1015_client_get_channels_config(struct i2c_client *client) > struct iio_dev *indio_dev = i2c_get_clientdata(client); > struct ads1015_data *data = iio_priv(indio_dev); > struct device *dev = &client->dev; > - struct fwnode_handle *node; > int i = -1; > > - device_for_each_child_node(dev, node) { > + device_for_each_child_node_scoped(dev, node) { > u32 pval; > unsigned int channel; > unsigned int pga = ADS1015_DEFAULT_PGA; > @@ -927,7 +926,6 @@ static int ads1015_client_get_channels_config(struct i2c_client *client) > pga = pval; > if (pga > 5) { > dev_err(dev, "invalid gain on %pfw\n", node); > - fwnode_handle_put(node); > return -EINVAL; > } > } > @@ -936,7 +934,6 @@ static int ads1015_client_get_channels_config(struct i2c_client *client) > data_rate = pval; > if (data_rate > 7) { > dev_err(dev, "invalid data_rate on %pfw\n", node); > - fwnode_handle_put(node); > return -EINVAL; > } > }