Message ID | 20220106062255.3208817-1-cosmin.tanislav@analog.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [1/3] iio: addac: ad74413r: use ngpio size when iterating over mask | expand |
On Fri, Jan 7, 2022 at 7:34 AM Cosmin Tanislav <demonsingur@gmail.com> wrote: > > ngpio is the actual number of GPIOs handled by the GPIO chip, > as opposed to the max number of GPIOs. Fixes? > Signed-off-by: Cosmin Tanislav <cosmin.tanislav@analog.com> > --- > drivers/iio/addac/ad74413r.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/iio/addac/ad74413r.c b/drivers/iio/addac/ad74413r.c > index 5271073bb74e..6ea3cd933d05 100644 > --- a/drivers/iio/addac/ad74413r.c > +++ b/drivers/iio/addac/ad74413r.c > @@ -288,7 +288,7 @@ static void ad74413r_gpio_set_multiple(struct gpio_chip *chip, > unsigned int offset = 0; > int ret; > > - for_each_set_bit_from(offset, mask, AD74413R_CHANNEL_MAX) { > + for_each_set_bit_from(offset, mask, chip->ngpio) { > unsigned int real_offset = st->gpo_gpio_offsets[offset]; > > ret = ad74413r_set_gpo_config(st, real_offset, > @@ -334,7 +334,7 @@ static int ad74413r_gpio_get_multiple(struct gpio_chip *chip, > if (ret) > return ret; > > - for_each_set_bit_from(offset, mask, AD74413R_CHANNEL_MAX) { > + for_each_set_bit_from(offset, mask, chip->ngpio) { > unsigned int real_offset = st->comp_gpio_offsets[offset]; > > if (val & BIT(real_offset)) > -- > 2.34.1 >
diff --git a/drivers/iio/addac/ad74413r.c b/drivers/iio/addac/ad74413r.c index 5271073bb74e..6ea3cd933d05 100644 --- a/drivers/iio/addac/ad74413r.c +++ b/drivers/iio/addac/ad74413r.c @@ -288,7 +288,7 @@ static void ad74413r_gpio_set_multiple(struct gpio_chip *chip, unsigned int offset = 0; int ret; - for_each_set_bit_from(offset, mask, AD74413R_CHANNEL_MAX) { + for_each_set_bit_from(offset, mask, chip->ngpio) { unsigned int real_offset = st->gpo_gpio_offsets[offset]; ret = ad74413r_set_gpo_config(st, real_offset, @@ -334,7 +334,7 @@ static int ad74413r_gpio_get_multiple(struct gpio_chip *chip, if (ret) return ret; - for_each_set_bit_from(offset, mask, AD74413R_CHANNEL_MAX) { + for_each_set_bit_from(offset, mask, chip->ngpio) { unsigned int real_offset = st->comp_gpio_offsets[offset]; if (val & BIT(real_offset))
ngpio is the actual number of GPIOs handled by the GPIO chip, as opposed to the max number of GPIOs. Signed-off-by: Cosmin Tanislav <cosmin.tanislav@analog.com> --- drivers/iio/addac/ad74413r.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)