Merge tag 'iio-for-4.21a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23...
[linux-2.6-block.git] / drivers / staging / iio / adc / ad7606.c
index 230faae38c12311199429db6ed7d6eedd38e1aaf..7308fa8fbb4cab4991ca73dd5062a83359bc26f1 100644 (file)
@@ -205,7 +205,7 @@ static int ad7606_write_raw(struct iio_dev *indio_dev,
                            long mask)
 {
        struct ad7606_state *st = iio_priv(indio_dev);
-       int values[3];
+       DECLARE_BITMAP(values, 3);
        int ret, i;
 
        switch (mask) {
@@ -230,12 +230,10 @@ static int ad7606_write_raw(struct iio_dev *indio_dev,
                if (ret < 0)
                        return ret;
 
-               values[0] = (ret >> 0) & 1;
-               values[1] = (ret >> 1) & 1;
-               values[2] = (ret >> 2) & 1;
+               values[0] = ret;
 
                mutex_lock(&st->lock);
-               gpiod_set_array_value(ARRAY_SIZE(values), st->gpio_os->desc,
+               gpiod_set_array_value(3, st->gpio_os->desc, st->gpio_os->info,
                                      values);
                st->oversampling = val;
                mutex_unlock(&st->lock);