2019-08-27 06:58:48

by David Jander

[permalink] [raw]
Subject: [PATCH 1/2] gpio: gpio-pca953x.c: Correct type of reg_direction

The type of reg_direction needs to match the type of the regmap, which is
u8.

Signed-off-by: David Jander <[email protected]>
---
drivers/gpio/gpio-pca953x.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpio/gpio-pca953x.c b/drivers/gpio/gpio-pca953x.c
index 378b206d2dc9..30072a570bc2 100644
--- a/drivers/gpio/gpio-pca953x.c
+++ b/drivers/gpio/gpio-pca953x.c
@@ -604,7 +604,7 @@ static void pca953x_irq_bus_sync_unlock(struct irq_data *d)
u8 new_irqs;
int level, i;
u8 invert_irq_mask[MAX_BANK];
- int reg_direction[MAX_BANK];
+ u8 reg_direction[MAX_BANK];

regmap_bulk_read(chip->regmap, chip->regs->direction, reg_direction,
NBANK(chip));
@@ -679,7 +679,7 @@ static bool pca953x_irq_pending(struct pca953x_chip *chip, u8 *pending)
bool pending_seen = false;
bool trigger_seen = false;
u8 trigger[MAX_BANK];
- int reg_direction[MAX_BANK];
+ u8 reg_direction[MAX_BANK];
int ret, i;

if (chip->driver_data & PCA_PCAL) {
@@ -768,7 +768,7 @@ static int pca953x_irq_setup(struct pca953x_chip *chip,
{
struct i2c_client *client = chip->client;
struct irq_chip *irq_chip = &chip->irq_chip;
- int reg_direction[MAX_BANK];
+ u8 reg_direction[MAX_BANK];
int ret, i;

if (!client->irq)
--
2.19.1


2019-08-28 08:39:59

by Bartosz Golaszewski

[permalink] [raw]
Subject: Re: [PATCH 1/2] gpio: gpio-pca953x.c: Correct type of reg_direction

wt., 27 sie 2019 o 08:46 David Jander <[email protected]> napisał(a):
>
> The type of reg_direction needs to match the type of the regmap, which is
> u8.
>
> Signed-off-by: David Jander <[email protected]>
> ---
> drivers/gpio/gpio-pca953x.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpio/gpio-pca953x.c b/drivers/gpio/gpio-pca953x.c
> index 378b206d2dc9..30072a570bc2 100644
> --- a/drivers/gpio/gpio-pca953x.c
> +++ b/drivers/gpio/gpio-pca953x.c
> @@ -604,7 +604,7 @@ static void pca953x_irq_bus_sync_unlock(struct irq_data *d)
> u8 new_irqs;
> int level, i;
> u8 invert_irq_mask[MAX_BANK];
> - int reg_direction[MAX_BANK];
> + u8 reg_direction[MAX_BANK];
>
> regmap_bulk_read(chip->regmap, chip->regs->direction, reg_direction,
> NBANK(chip));
> @@ -679,7 +679,7 @@ static bool pca953x_irq_pending(struct pca953x_chip *chip, u8 *pending)
> bool pending_seen = false;
> bool trigger_seen = false;
> u8 trigger[MAX_BANK];
> - int reg_direction[MAX_BANK];
> + u8 reg_direction[MAX_BANK];
> int ret, i;
>
> if (chip->driver_data & PCA_PCAL) {
> @@ -768,7 +768,7 @@ static int pca953x_irq_setup(struct pca953x_chip *chip,
> {
> struct i2c_client *client = chip->client;
> struct irq_chip *irq_chip = &chip->irq_chip;
> - int reg_direction[MAX_BANK];
> + u8 reg_direction[MAX_BANK];
> int ret, i;
>
> if (!client->irq)
> --
> 2.19.1
>

Applied for v5.4.

Thanks!
Bart

2019-08-28 10:58:23

by Bartosz Golaszewski

[permalink] [raw]
Subject: Re: [PATCH 1/2] gpio: gpio-pca953x.c: Correct type of reg_direction

śr., 28 sie 2019 o 10:38 Bartosz Golaszewski
<[email protected]> napisał(a):
>
> wt., 27 sie 2019 o 08:46 David Jander <[email protected]> napisał(a):
> >
> > The type of reg_direction needs to match the type of the regmap, which is
> > u8.
> >
> > Signed-off-by: David Jander <[email protected]>
> > ---
> > drivers/gpio/gpio-pca953x.c | 6 +++---
> > 1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/gpio/gpio-pca953x.c b/drivers/gpio/gpio-pca953x.c
> > index 378b206d2dc9..30072a570bc2 100644
> > --- a/drivers/gpio/gpio-pca953x.c
> > +++ b/drivers/gpio/gpio-pca953x.c
> > @@ -604,7 +604,7 @@ static void pca953x_irq_bus_sync_unlock(struct irq_data *d)
> > u8 new_irqs;
> > int level, i;
> > u8 invert_irq_mask[MAX_BANK];
> > - int reg_direction[MAX_BANK];
> > + u8 reg_direction[MAX_BANK];
> >
> > regmap_bulk_read(chip->regmap, chip->regs->direction, reg_direction,
> > NBANK(chip));
> > @@ -679,7 +679,7 @@ static bool pca953x_irq_pending(struct pca953x_chip *chip, u8 *pending)
> > bool pending_seen = false;
> > bool trigger_seen = false;
> > u8 trigger[MAX_BANK];
> > - int reg_direction[MAX_BANK];
> > + u8 reg_direction[MAX_BANK];
> > int ret, i;
> >
> > if (chip->driver_data & PCA_PCAL) {
> > @@ -768,7 +768,7 @@ static int pca953x_irq_setup(struct pca953x_chip *chip,
> > {
> > struct i2c_client *client = chip->client;
> > struct irq_chip *irq_chip = &chip->irq_chip;
> > - int reg_direction[MAX_BANK];
> > + u8 reg_direction[MAX_BANK];
> > int ret, i;
> >
> > if (!client->irq)
> > --
> > 2.19.1
> >
>
> Applied for v5.4.

Actually the second patch depends on the first one, so moved it over to fixes.

Bart

>
> Thanks!
> Bart

2019-08-28 11:15:14

by David Jander

[permalink] [raw]
Subject: Re: [PATCH 1/2] gpio: gpio-pca953x.c: Correct type of reg_direction

On Wed, 28 Aug 2019 12:56:28 +0200
Bartosz Golaszewski <[email protected]> wrote:

> śr., 28 sie 2019 o 10:38 Bartosz Golaszewski
> <[email protected]> napisał(a):
> >
> > wt., 27 sie 2019 o 08:46 David Jander <[email protected]> napisał(a):
> > >
> > > The type of reg_direction needs to match the type of the regmap, which is
> > > u8.
> > >
> > > Signed-off-by: David Jander <[email protected]>
> > > ---
> > > drivers/gpio/gpio-pca953x.c | 6 +++---
> > > 1 file changed, 3 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/drivers/gpio/gpio-pca953x.c b/drivers/gpio/gpio-pca953x.c
> > > index 378b206d2dc9..30072a570bc2 100644
> > > --- a/drivers/gpio/gpio-pca953x.c
> > > +++ b/drivers/gpio/gpio-pca953x.c
> > > @@ -604,7 +604,7 @@ static void pca953x_irq_bus_sync_unlock(struct irq_data *d)
> > > u8 new_irqs;
> > > int level, i;
> > > u8 invert_irq_mask[MAX_BANK];
> > > - int reg_direction[MAX_BANK];
> > > + u8 reg_direction[MAX_BANK];
> > >
> > > regmap_bulk_read(chip->regmap, chip->regs->direction, reg_direction,
> > > NBANK(chip));
> > > @@ -679,7 +679,7 @@ static bool pca953x_irq_pending(struct pca953x_chip *chip, u8 *pending)
> > > bool pending_seen = false;
> > > bool trigger_seen = false;
> > > u8 trigger[MAX_BANK];
> > > - int reg_direction[MAX_BANK];
> > > + u8 reg_direction[MAX_BANK];
> > > int ret, i;
> > >
> > > if (chip->driver_data & PCA_PCAL) {
> > > @@ -768,7 +768,7 @@ static int pca953x_irq_setup(struct pca953x_chip *chip,
> > > {
> > > struct i2c_client *client = chip->client;
> > > struct irq_chip *irq_chip = &chip->irq_chip;
> > > - int reg_direction[MAX_BANK];
> > > + u8 reg_direction[MAX_BANK];
> > > int ret, i;
> > >
> > > if (!client->irq)
> > > --
> > > 2.19.1
> > >
> >
> > Applied for v5.4.
>
> Actually the second patch depends on the first one, so moved it over to fixes.

Btw, they are both bugfixes, IMHO it would be valuable to have them in 5.3rc
if possible... there is some severe breakage there right now.

Best regards,

--
David Jander

2019-08-28 12:18:43

by Bartosz Golaszewski

[permalink] [raw]
Subject: Re: [PATCH 1/2] gpio: gpio-pca953x.c: Correct type of reg_direction

śr., 28 sie 2019 o 13:13 David Jander <[email protected]> napisał(a):
>
> On Wed, 28 Aug 2019 12:56:28 +0200
> Bartosz Golaszewski <[email protected]> wrote:
>
> > śr., 28 sie 2019 o 10:38 Bartosz Golaszewski
> > <[email protected]> napisał(a):
> > >
> > > wt., 27 sie 2019 o 08:46 David Jander <[email protected]> napisał(a):
> > > >
> > > > The type of reg_direction needs to match the type of the regmap, which is
> > > > u8.
> > > >
> > > > Signed-off-by: David Jander <[email protected]>
> > > > ---
> > > > drivers/gpio/gpio-pca953x.c | 6 +++---
> > > > 1 file changed, 3 insertions(+), 3 deletions(-)
> > > >
> > > > diff --git a/drivers/gpio/gpio-pca953x.c b/drivers/gpio/gpio-pca953x.c
> > > > index 378b206d2dc9..30072a570bc2 100644
> > > > --- a/drivers/gpio/gpio-pca953x.c
> > > > +++ b/drivers/gpio/gpio-pca953x.c
> > > > @@ -604,7 +604,7 @@ static void pca953x_irq_bus_sync_unlock(struct irq_data *d)
> > > > u8 new_irqs;
> > > > int level, i;
> > > > u8 invert_irq_mask[MAX_BANK];
> > > > - int reg_direction[MAX_BANK];
> > > > + u8 reg_direction[MAX_BANK];
> > > >
> > > > regmap_bulk_read(chip->regmap, chip->regs->direction, reg_direction,
> > > > NBANK(chip));
> > > > @@ -679,7 +679,7 @@ static bool pca953x_irq_pending(struct pca953x_chip *chip, u8 *pending)
> > > > bool pending_seen = false;
> > > > bool trigger_seen = false;
> > > > u8 trigger[MAX_BANK];
> > > > - int reg_direction[MAX_BANK];
> > > > + u8 reg_direction[MAX_BANK];
> > > > int ret, i;
> > > >
> > > > if (chip->driver_data & PCA_PCAL) {
> > > > @@ -768,7 +768,7 @@ static int pca953x_irq_setup(struct pca953x_chip *chip,
> > > > {
> > > > struct i2c_client *client = chip->client;
> > > > struct irq_chip *irq_chip = &chip->irq_chip;
> > > > - int reg_direction[MAX_BANK];
> > > > + u8 reg_direction[MAX_BANK];
> > > > int ret, i;
> > > >
> > > > if (!client->irq)
> > > > --
> > > > 2.19.1
> > > >
> > >
> > > Applied for v5.4.
> >
> > Actually the second patch depends on the first one, so moved it over to fixes.
>
> Btw, they are both bugfixes, IMHO it would be valuable to have them in 5.3rc
> if possible... there is some severe breakage there right now.
>
> Best regards,
>
> --
> David Jander
>

Yes, that's why I said I moved it to fixes.

Bart