Message ID | 20240801-device_child_node_access-v1-2-ddfa21bef6f2@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | use device_for_each_child_node_scoped to access device child nodes | expand |
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; > >
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 --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;
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(-)