Commit 66e80e2f authored by David Lechner's avatar David Lechner Committed by Jonathan Cameron
Browse files

iio: resolver: ad2s1210: use bitmap_write



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: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarDavid Lechner <dlechner@baylibre.com>
Link: https://patch.msgid.link/20250210-gpio-set-array-helper-v3-10-d6a673674da8@baylibre.com


Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent 76ce6e6e
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@
 */

#include <linux/bitfield.h>
#include <linux/bitmap.h>
#include <linux/bits.h>
#include <linux/cleanup.h>
#include <linux/clk.h>
@@ -175,12 +176,12 @@ struct ad2s1210_state {
static int ad2s1210_set_mode(struct ad2s1210_state *st, enum ad2s1210_mode mode)
{
	struct gpio_descs *gpios = st->mode_gpios;
	DECLARE_BITMAP(bitmap, 2);
	DECLARE_BITMAP(bitmap, 2) = { };

	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);
}
@@ -1426,7 +1427,7 @@ static int ad2s1210_setup_gpios(struct ad2s1210_state *st)
	struct device *dev = &st->sdev->dev;
	struct gpio_descs *resolution_gpios;
	struct gpio_desc *reset_gpio;
	DECLARE_BITMAP(bitmap, 2);
	DECLARE_BITMAP(bitmap, 2) = { };
	int ret;

	/* should not be sampling on startup */
@@ -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)