]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
iio: adc: ad7380: fix adi,gain-milli property parsing
authorDavid Lechner <dlechner@baylibre.com>
Thu, 19 Jun 2025 15:24:22 +0000 (10:24 -0500)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 29 Jun 2025 16:15:40 +0000 (17:15 +0100)
Change the data type of the "adi,gain-milli" property from u32 to u16.
The devicetree binding specifies it as uint16, so we need to read it as
such to avoid an -EOVERFLOW error when parsing the property.

Fixes: c904e6dcf402 ("iio: adc: ad7380: add support for adaq4370-4 and adaq4380-4")
Signed-off-by: David Lechner <dlechner@baylibre.com>
Link: https://patch.msgid.link/20250619-iio-adc-ad7380-fix-adi-gain-milli-parsing-v1-1-4c27fb426860@baylibre.com
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/ad7380.c

index d96bd12dfea632b62475d6537c8d6601b042de1f..cabf5511d116179250e8e4cc1e291d9a63752971 100644 (file)
@@ -1953,8 +1953,9 @@ static int ad7380_probe(struct spi_device *spi)
 
        if (st->chip_info->has_hardware_gain) {
                device_for_each_child_node_scoped(dev, node) {
-                       unsigned int channel, gain;
+                       unsigned int channel;
                        int gain_idx;
+                       u16 gain;
 
                        ret = fwnode_property_read_u32(node, "reg", &channel);
                        if (ret)
@@ -1966,7 +1967,7 @@ static int ad7380_probe(struct spi_device *spi)
                                                     "Invalid channel number %i\n",
                                                     channel);
 
-                       ret = fwnode_property_read_u32(node, "adi,gain-milli",
+                       ret = fwnode_property_read_u16(node, "adi,gain-milli",
                                                       &gain);
                        if (ret && ret != -EINVAL)
                                return dev_err_probe(dev, ret,