Messages in this thread | | | Date | Sat, 22 Mar 2014 12:21:04 +0000 | From | Jonathan Cameron <> | Subject | Re: [PATCH] iio: querying buffer scan_mask should return 0/1 |
| |
On 19/03/14 18:50, Alec Berg wrote: > Ensure that querying the IIO buffer scan_mask returns a value of > 0 or 1. Currently querying the scan mask has the value returned > by test_bit(), which returns either true or false. For some > architectures test_bit() may return -1 for true, which will appear > to return an error when returning from iio_scan_mask_query(). > > Additionally, it's important for the sysfs interface to consistently > return the same thing when querying the scan_mask. > > Signed-off-by: Alec Berg <alecaberg@chromium.org> Applied to the fixes-togreg branch of iio.git and marked for stable.
This will probably now go in shortly after rc1.
Thanks,
Jonathan > --- > drivers/iio/industrialio-buffer.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/iio/industrialio-buffer.c b/drivers/iio/industrialio-buffer.c > index c67d83b..fe25042 100644 > --- a/drivers/iio/industrialio-buffer.c > +++ b/drivers/iio/industrialio-buffer.c > @@ -165,7 +165,8 @@ static ssize_t iio_scan_el_show(struct device *dev, > int ret; > struct iio_dev *indio_dev = dev_to_iio_dev(dev); > > - ret = test_bit(to_iio_dev_attr(attr)->address, > + /* Ensure ret is 0 or 1. */ > + ret = !!test_bit(to_iio_dev_attr(attr)->address, > indio_dev->buffer->scan_mask); > > return sprintf(buf, "%d\n", ret); > @@ -866,7 +867,8 @@ int iio_scan_mask_query(struct iio_dev *indio_dev, > if (!buffer->scan_mask) > return 0; > > - return test_bit(bit, buffer->scan_mask); > + /* Ensure return value is 0 or 1. */ > + return !!test_bit(bit, buffer->scan_mask); > }; > EXPORT_SYMBOL_GPL(iio_scan_mask_query); > >
| |