[PATCH v3 10/15] iio: resolver: ad2s1210: use bitmap_write

From: David Lechner
Date: Mon Feb 10 2025 - 17:41:38 EST


Replace bitmap array access with bitmap_write.

Accessing the bitmap array directly is not recommended and now there is
a helper function that can be used.

Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
Signed-off-by: David Lechner <dlechner@xxxxxxxxxxxx>
---
drivers/iio/resolver/ad2s1210.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/iio/resolver/ad2s1210.c b/drivers/iio/resolver/ad2s1210.c
index 7f18df790157f1e411fb70de193a49f0677c999f..04879e6d538bce664469c5f6759d8b1cedea16e9 100644
--- a/drivers/iio/resolver/ad2s1210.c
+++ b/drivers/iio/resolver/ad2s1210.c
@@ -46,6 +46,7 @@
*/

#include <linux/bitfield.h>
+#include <linux/bitmap.h>
#include <linux/bits.h>
#include <linux/cleanup.h>
#include <linux/clk.h>
@@ -180,7 +181,7 @@ static int ad2s1210_set_mode(struct ad2s1210_state *st, enum ad2s1210_mode mode)
if (!gpios)
return mode == st->fixed_mode ? 0 : -EOPNOTSUPP;

- bitmap[0] = mode;
+ bitmap_write(bitmap, mode, 0, 2);

return gpiod_multi_set_value_cansleep(gpios, bitmap);
}
@@ -1470,7 +1471,7 @@ static int ad2s1210_setup_gpios(struct ad2s1210_state *st)
return dev_err_probe(dev, -EINVAL,
"requires exactly 2 resolution-gpios\n");

- bitmap[0] = st->resolution;
+ bitmap_write(bitmap, st->resolution, 0, 2);

ret = gpiod_multi_set_value_cansleep(resolution_gpios, bitmap);
if (ret < 0)

--
2.43.0