On Thu, Jan 28, 2021 at 2:21 PM Nikita Shubin <nikita.shubin@xxxxxxxxxxx> wrote: > > Fixes the following warnings which results in interrupts disabled on > port B/F: > > gpio gpiochip1: (B): detected irqchip that is shared with multiple gpiochips: please fix the driver. > gpio gpiochip5: (F): detected irqchip that is shared with multiple gpiochips: please fix the driver. > > - added separate irqchip for each interrupt capable gpiochip > - provided unique names for each irqchip > - reworked ep93xx_gpio_port to make it usable before chip_add_data > in ep93xx_init_irq_chips > > Fixes: d2b091961510 ("gpio: ep93xx: Pass irqchip when adding gpiochip") > Signed-off-by: Nikita Shubin <nikita.shubin@xxxxxxxxxxx> ... > +#define EP93XX_GPIO_IRQ_CHIPS_NUM 3 > + > struct ep93xx_gpio { > void __iomem *base; > struct gpio_chip gc[8]; > + struct irq_chip ic[EP93XX_GPIO_IRQ_CHIPS_NUM]; > }; > /* Port ordering is: A B F */ > +static const char * const irq_chip_names[] = { > + "gpio-irq-a", > + "gpio-irq-b", > + "gpio-irq-f", > +}; Depending on the solution from the previous patch I would also go here rather with holes, than messing up with mapping between port index and index in this array. -- With Best Regards, Andy Shevchenko