[PATCH] iio: kfifo: mask flags without zero-check in devm_iio_kfifo_buffer_setup()

From: Alexandru Ardelean
Date: Sat Mar 06 2021 - 11:30:03 EST


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: ae9886d6aa29 ("iio: kfifo: add devm_iio_kfifo_buffer_setup() helper")
Cc: Lars-Peter Clausen <lars@xxxxxxxxxx>
Signed-off-by: Alexandru Ardelean <ardeleanalex@xxxxxxxxx>
---

Apologies for the late-ness of this.
I don't know if this makes sense to squash in the original, or to have
as a fix commit.
It is a bit messy now that the original is committed into the tree,
and now we're fixing/tweaking it.

drivers/iio/buffer/kfifo_buf.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/iio/buffer/kfifo_buf.c b/drivers/iio/buffer/kfifo_buf.c
index e8a434f84778..8e3a1a9e495c 100644
--- a/drivers/iio/buffer/kfifo_buf.c
+++ b/drivers/iio/buffer/kfifo_buf.c
@@ -275,9 +275,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;

@@ -285,6 +282,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;

--
2.25.1