]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
iio: adc: ad7192: fix channel select
authorMarkus Burri <markus.burri@mt.com>
Fri, 24 Jan 2025 15:07:03 +0000 (16:07 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Mar 2025 12:02:17 +0000 (13:02 +0100)
commit 21d7241faf406e8aee3ce348451cc362d5db6a02 upstream.

Channel configuration doesn't work as expected.
For FIELD_PREP the bit mask is needed and not the bit number.

Fixes: 874bbd1219c7 ("iio: adc: ad7192: Use bitfield access macros")
Signed-off-by: Markus Burri <markus.burri@mt.com>
Reviewed-by: Nuno Sá <nuno.sa@analog.com>
Link: https://patch.msgid.link/20250124150703.97848-1-markus.burri@mt.com
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/iio/adc/ad7192.c

index 955e9eff0099e5c91491ca5b1f836534ac0db2f9..6fe32f866765bf7837f39327649b1f61a7a50c30 100644 (file)
@@ -1082,7 +1082,7 @@ static int ad7192_update_scan_mode(struct iio_dev *indio_dev, const unsigned lon
 
        conf &= ~AD7192_CONF_CHAN_MASK;
        for_each_set_bit(i, scan_mask, 8)
-               conf |= FIELD_PREP(AD7192_CONF_CHAN_MASK, i);
+               conf |= FIELD_PREP(AD7192_CONF_CHAN_MASK, BIT(i));
 
        ret = ad_sd_write_reg(&st->sd, AD7192_REG_CONF, 3, conf);
        if (ret < 0)