iio: adc: ad7292: Switch from of specific to fwnode property handling
authorJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 18 Feb 2024 17:27:27 +0000 (17:27 +0000)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Mon, 25 Mar 2024 19:50:09 +0000 (19:50 +0000)
This reduces the wrong of device tree only IIO drivers that might
be copied by converting over this simple case.
Makes use of the new _scoped() handling to automatically release
the fwnode_handle on early exit from the loop.

Cc: Nuno Sá <nuno.sa@analog.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20240218172731.1023367-5-jic23@kernel.org
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/ad7292.c

index cccacec5db6d22414d818760aed8d404f99aa922..6aadd14f459dfedc9e35cad80a031b67824fe477 100644 (file)
@@ -8,7 +8,8 @@
 #include <linux/bitfield.h>
 #include <linux/device.h>
 #include <linux/module.h>
-#include <linux/of.h>
+#include <linux/mod_devicetable.h>
+#include <linux/property.h>
 #include <linux/regulator/consumer.h>
 #include <linux/spi/spi.h>
 
@@ -260,7 +261,6 @@ static int ad7292_probe(struct spi_device *spi)
 {
        struct ad7292_state *st;
        struct iio_dev *indio_dev;
-       struct device_node *child;
        bool diff_channels = false;
        int ret;
 
@@ -305,12 +305,11 @@ static int ad7292_probe(struct spi_device *spi)
        indio_dev->modes = INDIO_DIRECT_MODE;
        indio_dev->info = &ad7292_info;
 
-       for_each_available_child_of_node(spi->dev.of_node, child) {
-               diff_channels = of_property_read_bool(child, "diff-channels");
-               if (diff_channels) {
-                       of_node_put(child);
+       device_for_each_child_node_scoped(&spi->dev, child) {
+               diff_channels = fwnode_property_read_bool(child,
+                                                         "diff-channels");
+               if (diff_channels)
                        break;
-               }
        }
 
        if (diff_channels) {