aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/iio/buffer/kfifo_buf.c
diff options
context:
space:
mode:
authorAlexandru Ardelean <ardeleanalex@gmail.com>2021-03-06 18:28:34 +0200
committerJonathan Cameron <Jonathan.Cameron@huawei.com>2021-03-25 19:13:49 +0000
commitbbc1308de79368879580635ded6df51d232845ef (patch)
tree4790ef3693550c852b1f09d9b56d69754a55409d /drivers/iio/buffer/kfifo_buf.c
parentiio: hrtimer: Allow sub Hz granularity (diff)
downloadlinux-dev-bbc1308de79368879580635ded6df51d232845ef.tar.xz
linux-dev-bbc1308de79368879580635ded6df51d232845ef.zip
iio: kfifo: mask flags without zero-check in devm_iio_kfifo_buffer_setup()
As pointed by Lars, this doesn't require a zero-check. Also, while looking at this a little closer at it (again), the masking can be done later, as there is a zero-check for 'mode_flags' anyway, which returns -EINVAL. And we only need the 'mode_flags' later in the logic. This change is more of a tweak. Fixes: e36db6a06937 ("iio: kfifo: add devm_iio_kfifo_buffer_setup() helper") Cc: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com> Link: https://lore.kernel.org/r/20210306162834.7339-1-ardeleanalex@gmail.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Diffstat (limited to 'drivers/iio/buffer/kfifo_buf.c')
-rw-r--r--drivers/iio/buffer/kfifo_buf.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/iio/buffer/kfifo_buf.c b/drivers/iio/buffer/kfifo_buf.c
index 34289ce12f20..4ecfa0ec3016 100644
--- a/drivers/iio/buffer/kfifo_buf.c
+++ b/drivers/iio/buffer/kfifo_buf.c
@@ -225,9 +225,6 @@ int devm_iio_kfifo_buffer_setup(struct device *dev,
{
struct iio_buffer *buffer;
- if (mode_flags)
- mode_flags &= kfifo_access_funcs.modes;
-
if (!mode_flags)
return -EINVAL;
@@ -235,6 +232,8 @@ int devm_iio_kfifo_buffer_setup(struct device *dev,
if (!buffer)
return -ENOMEM;
+ mode_flags &= kfifo_access_funcs.modes;
+
indio_dev->modes |= mode_flags;
indio_dev->setup_ops = setup_ops;