diff mbox series

[2/4] iio: adc: ad7768-1: use device_* to iterate over device child nodes

Message ID 20240801-device_child_node_access-v1-2-ddfa21bef6f2@gmail.com (mailing list archive)
State New, archived
Headers show
Series use device_for_each_child_node_scoped to access device child nodes | expand

Commit Message

Javier Carrasco Aug. 1, 2024, 6:13 a.m. UTC
Drop the manual access to the fwnode of the device to iterate over its
child nodes. `device_for_each_child_node` macro provides direct access
to the child nodes, and given that they are only required within the
loop, the scoped variant of the macro can be used.

Use the `device_for_each_child_node_scoped` macro to iterate over the
direct child nodes of the device.

Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com>
---
 drivers/iio/adc/ad7768-1.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

Comments

Nuno Sá Aug. 1, 2024, 7:31 a.m. UTC | #1
On Thu, 2024-08-01 at 08:13 +0200, Javier Carrasco wrote:
> Drop the manual access to the fwnode of the device to iterate over its
> child nodes. `device_for_each_child_node` macro provides direct access
> to the child nodes, and given that they are only required within the
> loop, the scoped variant of the macro can be used.
> 
> Use the `device_for_each_child_node_scoped` macro to iterate over the
> direct child nodes of the device.
> 
> Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com>
> ---

Reviewed-by: Nuno Sa <nuno.sa@analog.com>

>  drivers/iio/adc/ad7768-1.c | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
> 
> diff --git a/drivers/iio/adc/ad7768-1.c b/drivers/iio/adc/ad7768-1.c
> index 70a25949142c..721672fe84ab 100644
> --- a/drivers/iio/adc/ad7768-1.c
> +++ b/drivers/iio/adc/ad7768-1.c
> @@ -544,13 +544,10 @@ static int ad7768_set_channel_label(struct iio_dev
> *indio_dev,
>  {
>  	struct ad7768_state *st = iio_priv(indio_dev);
>  	struct device *device = indio_dev->dev.parent;
> -	struct fwnode_handle *fwnode;
> -	struct fwnode_handle *child;
>  	const char *label;
>  	int crt_ch = 0;
>  
> -	fwnode = dev_fwnode(device);
> -	fwnode_for_each_child_node(fwnode, child) {
> +	device_for_each_child_node_scoped(device, child) {
>  		if (fwnode_property_read_u32(child, "reg", &crt_ch))
>  			continue;
>  
>
Jonathan Cameron Aug. 3, 2024, 11:17 a.m. UTC | #2
On Thu, 01 Aug 2024 09:31:16 +0200
Nuno Sá <noname.nuno@gmail.com> wrote:

> On Thu, 2024-08-01 at 08:13 +0200, Javier Carrasco wrote:
> > Drop the manual access to the fwnode of the device to iterate over its
> > child nodes. `device_for_each_child_node` macro provides direct access
> > to the child nodes, and given that they are only required within the
> > loop, the scoped variant of the macro can be used.
> > 
> > Use the `device_for_each_child_node_scoped` macro to iterate over the
> > direct child nodes of the device.
> > 
> > Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com>
> > ---  
> 
> Reviewed-by: Nuno Sa <nuno.sa@analog.com>
Applied
> 
> >  drivers/iio/adc/ad7768-1.c | 5 +----
> >  1 file changed, 1 insertion(+), 4 deletions(-)
> > 
> > diff --git a/drivers/iio/adc/ad7768-1.c b/drivers/iio/adc/ad7768-1.c
> > index 70a25949142c..721672fe84ab 100644
> > --- a/drivers/iio/adc/ad7768-1.c
> > +++ b/drivers/iio/adc/ad7768-1.c
> > @@ -544,13 +544,10 @@ static int ad7768_set_channel_label(struct iio_dev
> > *indio_dev,
> >  {
> >  	struct ad7768_state *st = iio_priv(indio_dev);
> >  	struct device *device = indio_dev->dev.parent;
> > -	struct fwnode_handle *fwnode;
> > -	struct fwnode_handle *child;
> >  	const char *label;
> >  	int crt_ch = 0;
> >  
> > -	fwnode = dev_fwnode(device);
> > -	fwnode_for_each_child_node(fwnode, child) {
> > +	device_for_each_child_node_scoped(device, child) {
> >  		if (fwnode_property_read_u32(child, "reg", &crt_ch))
> >  			continue;
> >  
> >   
>
diff mbox series

Patch

diff --git a/drivers/iio/adc/ad7768-1.c b/drivers/iio/adc/ad7768-1.c
index 70a25949142c..721672fe84ab 100644
--- a/drivers/iio/adc/ad7768-1.c
+++ b/drivers/iio/adc/ad7768-1.c
@@ -544,13 +544,10 @@  static int ad7768_set_channel_label(struct iio_dev *indio_dev,
 {
 	struct ad7768_state *st = iio_priv(indio_dev);
 	struct device *device = indio_dev->dev.parent;
-	struct fwnode_handle *fwnode;
-	struct fwnode_handle *child;
 	const char *label;
 	int crt_ch = 0;
 
-	fwnode = dev_fwnode(device);
-	fwnode_for_each_child_node(fwnode, child) {
+	device_for_each_child_node_scoped(device, child) {
 		if (fwnode_property_read_u32(child, "reg", &crt_ch))
 			continue;