1
0
Fork 0

staging:iio:ad7606: Use oversampling ratio of 1 for no oversampling

Currently the ad7606 driver uses a value of 0 for the oversampling ratio to
express that no oversampling is done. Strictly speaking this means though
that no data capture is done at all. Instead change the driver to use a
value of 1, this is in accordance with what other drivers do and what the
IIO spec suggests.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
hifive-unleashed-5.1
Lars-Peter Clausen 2016-10-19 19:07:00 +02:00 committed by Jonathan Cameron
parent aa96026668
commit e79e8027c1
1 changed files with 3 additions and 3 deletions

View File

@ -149,7 +149,7 @@ static IIO_CONST_ATTR(in_voltage_range_available, "5000 10000");
static int ad7606_oversampling_get_index(unsigned int val)
{
unsigned char supported[] = {0, 2, 4, 8, 16, 32, 64};
unsigned char supported[] = {1, 2, 4, 8, 16, 32, 64};
int i;
for (i = 0; i < ARRAY_SIZE(supported); i++)
@ -188,7 +188,7 @@ static int ad7606_write_raw(struct iio_dev *indio_dev,
}
}
static IIO_CONST_ATTR(oversampling_ratio_available, "0 2 4 8 16 32 64");
static IIO_CONST_ATTR(oversampling_ratio_available, "1 2 4 8 16 32 64");
static struct attribute *ad7606_attributes_os_and_range[] = {
&iio_dev_attr_in_voltage_range.dev_attr.attr,
@ -449,7 +449,7 @@ struct iio_dev *ad7606_probe(struct device *dev, int irq,
st->bops = bops;
st->base_address = base_address;
st->range = 5000;
st->oversampling = 0;
st->oversampling = 1;
st->reg = devm_regulator_get(dev, "vcc");
if (!IS_ERR(st->reg)) {