diff mbox series

[1/3] iio: addac: ad74413r: use ngpio size when iterating over mask

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

Commit Message

Cosmin Tanislav Jan. 6, 2022, 6:22 a.m. UTC
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(-)

Comments

Andy Shevchenko Jan. 9, 2022, 12:07 p.m. UTC | #1
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 mbox series

Patch

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))