From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751058AbaCVMUF (ORCPT ); Sat, 22 Mar 2014 08:20:05 -0400 Received: from saturn.retrosnub.co.uk ([178.18.118.26]:53271 "EHLO saturn.retrosnub.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750738AbaCVMT7 (ORCPT ); Sat, 22 Mar 2014 08:19:59 -0400 Message-ID: <532D8030.40607@kernel.org> Date: Sat, 22 Mar 2014 12:21:04 +0000 From: Jonathan Cameron User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 To: Alec Berg , linux-iio@vger.kernel.org CC: linux-kernel@vger.kernel.org, Vincent Palatin , olof@lixom.net Subject: Re: [PATCH] iio: querying buffer scan_mask should return 0/1 References: <1395255044-20173-1-git-send-email-alecaberg@chromium.org> In-Reply-To: <1395255044-20173-1-git-send-email-alecaberg@chromium.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 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); > >