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? -- With Best Regards, Andy Shevchenko