From: Gwendal Grignou Date: Thu, 4 Nov 2021 08:24:06 +0000 (-0700) Subject: iio: stk8ba50: Use scan_type when processing raw data X-Git-Tag: v5.17-rc1~82^2~40^2~73 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ded408b1135437540d27012da7b6f1afb4f4bf65;p=thirdparty%2Fkernel%2Flinux.git iio: stk8ba50: Use scan_type when processing raw data Use channel definition as root of trust and replace constant when reading elements directly using the raw sysfs attributes. Signed-off-by: Gwendal Grignou Link: https://lore.kernel.org/r/20211104082413.3681212-7-gwendal@chromium.org Signed-off-by: Jonathan Cameron --- diff --git a/drivers/iio/accel/stk8ba50.c b/drivers/iio/accel/stk8ba50.c index e137a34b5c9a9..517c57ed9e949 100644 --- a/drivers/iio/accel/stk8ba50.c +++ b/drivers/iio/accel/stk8ba50.c @@ -227,7 +227,8 @@ static int stk8ba50_read_raw(struct iio_dev *indio_dev, mutex_unlock(&data->lock); return -EINVAL; } - *val = sign_extend32(ret >> STK8BA50_DATA_SHIFT, 9); + *val = sign_extend32(ret >> chan->scan_type.shift, + chan->scan_type.realbits - 1); stk8ba50_set_power(data, STK8BA50_MODE_SUSPEND); mutex_unlock(&data->lock); return IIO_VAL_INT;