iio: mag3110: 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 <gwendal@chromium.org> Link: https://lore.kernel.org/r/20211104082413.3681212-11-gwendal@chromium.org Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
Родитель
a5cd0e7f5b
Коммит
4d57fb548a
|
@ -291,7 +291,8 @@ static int mag3110_read_raw(struct iio_dev *indio_dev,
|
|||
if (ret < 0)
|
||||
goto release;
|
||||
*val = sign_extend32(
|
||||
be16_to_cpu(buffer[chan->scan_index]), 15);
|
||||
be16_to_cpu(buffer[chan->scan_index]),
|
||||
chan->scan_type.realbits - 1);
|
||||
ret = IIO_VAL_INT;
|
||||
break;
|
||||
case IIO_TEMP: /* in 1 C / LSB */
|
||||
|
@ -306,7 +307,8 @@ static int mag3110_read_raw(struct iio_dev *indio_dev,
|
|||
mutex_unlock(&data->lock);
|
||||
if (ret < 0)
|
||||
goto release;
|
||||
*val = sign_extend32(ret, 7);
|
||||
*val = sign_extend32(ret,
|
||||
chan->scan_type.realbits - 1);
|
||||
ret = IIO_VAL_INT;
|
||||
break;
|
||||
default:
|
||||
|
|
Загрузка…
Ссылка в новой задаче