Commit 362f2f86 authored by Lee Jones's avatar Lee Jones Committed by Jonathan Cameron

iio: sensors-core: st: Allow full-scale to be an optional feature

Some chips either don't support it or fail to provide adequate documentation,
so sometimes it's impossible to enable the feature even if it is supported.
Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
Acked-by: default avatarDenis Ciocca <denis.ciocca@st.com>
Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
parent aab9ba7e
...@@ -235,10 +235,13 @@ int st_sensors_init_sensor(struct iio_dev *indio_dev, ...@@ -235,10 +235,13 @@ int st_sensors_init_sensor(struct iio_dev *indio_dev,
if (err < 0) if (err < 0)
goto init_error; goto init_error;
if (sdata->current_fullscale) {
err = st_sensors_set_fullscale(indio_dev, err = st_sensors_set_fullscale(indio_dev,
sdata->current_fullscale->num); sdata->current_fullscale->num);
if (err < 0) if (err < 0)
goto init_error; goto init_error;
} else
dev_info(&indio_dev->dev, "Full-scale not possible\n");
err = st_sensors_set_odr(indio_dev, sdata->odr); err = st_sensors_set_odr(indio_dev, sdata->odr);
if (err < 0) if (err < 0)
......
...@@ -226,8 +226,10 @@ int st_press_common_probe(struct iio_dev *indio_dev, ...@@ -226,8 +226,10 @@ int st_press_common_probe(struct iio_dev *indio_dev,
indio_dev->channels = pdata->sensor->ch; indio_dev->channels = pdata->sensor->ch;
indio_dev->num_channels = ARRAY_SIZE(st_press_channels); indio_dev->num_channels = ARRAY_SIZE(st_press_channels);
if (pdata->sensor->fs.addr != 0)
pdata->current_fullscale = (struct st_sensor_fullscale_avl *) pdata->current_fullscale = (struct st_sensor_fullscale_avl *)
&pdata->sensor->fs.fs_avl[0]; &pdata->sensor->fs.fs_avl[0];
pdata->odr = pdata->sensor->odr.odr_avl[0].hz; pdata->odr = pdata->sensor->odr.odr_avl[0].hz;
if (!plat_data) if (!plat_data)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment