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

iio: adc: ad7606: use gpiod_multi_set_value_cansleep



Reduce verbosity by using gpiod_multi_set_value_cansleep() instead of
gpiod_set_array_value().

These are not called in an atomic context, so changing to the cansleep
variant is fine.

Also drop unnecessary braces while we are at it.

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-7-d6a673674da8@baylibre.com


Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent b2881a48
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -828,8 +828,7 @@ static int ad7606_write_os_hw(struct iio_dev *indio_dev, int val)

	values[0] = val & GENMASK(2, 0);

	gpiod_set_array_value(st->gpio_os->ndescs, st->gpio_os->desc,
			      st->gpio_os->info, values);
	gpiod_multi_set_value_cansleep(st->gpio_os, values);

	/* AD7616 requires a reset to update value */
	if (st->chip_info->os_req_reset)
@@ -1260,10 +1259,9 @@ static int ad7606b_sw_mode_setup(struct iio_dev *indio_dev)
	 * in the device tree, then they need to be set to high,
	 * otherwise, they must be hardwired to VDD
	 */
	if (st->gpio_os) {
		gpiod_set_array_value(st->gpio_os->ndescs, st->gpio_os->desc,
				      st->gpio_os->info, os);
	}
	if (st->gpio_os)
		gpiod_multi_set_value_cansleep(st->gpio_os, os);

	/* OS of 128 and 256 are available only in software mode */
	st->oversampling_avail = ad7606b_oversampling_avail;
	st->num_os_ratios = ARRAY_SIZE(ad7606b_oversampling_avail);