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(-)
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;
--
2.43.0
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;
> >
> >
>
© 2016 - 2026 Red Hat, Inc.