Re: [PATCH v3 6/7] gpio: exar: switch to using regmap

From: Bartosz Golaszewski
Date: Tue Nov 10 2020 - 09:24:19 EST


On Tue, Nov 10, 2020 at 3:11 PM Andy Shevchenko
<andy.shevchenko@xxxxxxxxx> wrote:
>
> On Tue, Nov 10, 2020 at 2:35 PM Bartosz Golaszewski <brgl@xxxxxxxx> wrote:
>
> ...
>
> > struct exar_gpio_chip {
> > struct gpio_chip gpio_chip;
> > - struct mutex lock;
>
> > + struct regmap *regs;
>
> Leaving the same name is a call for potential troubles.
>
> > int index;
> > - void __iomem *regs;
> > char name[20];
> > unsigned int first_pin;
> > };
>
> ...
>
> > +static const struct regmap_config exar_regmap_config = {
> > + .name = "exar-gpio",
> > + .reg_bits = 8,
> > + .val_bits = 8,
> > +};
>
> Looking at the crash, are you sure this is a comprehensive description?
> Maybe it requires something like stride or so?
>

This is what I'm looking at ATM. Looking at the datasheet[1], there
are no breaks in the registers so the default stride of 1 should be
fine as is the value bits width of 8. I think that I got the address
width wrong though. Should be 16 bits probably.

Jan: could you change reg_bits to 16 and try again?

Bartosz

[1] https://www.maxlinear.com/ds/xr17v352.pdf