On Wed, May 18, 2022 at 9:30 PM Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> wrote: > Supported GPIO IRQs by the chip is not always equal to the number of GPIO > pins. For example on Renesas RZ/G2L SoC where it has GPIO0-122 pins but at > a given point a maximum of only 32 GPIO pins can be used as IRQ lines in > the IRQC domain. > > This patch adds ngirq member to struct gpio_irq_chip and passes this as a > size to irq_domain_create_hierarchy()/irq_domain_create_simple() if it is > being set in the driver otherwise fallbacks to using ngpio. > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> NAK As pointed out this is a property of the hardware and thus you should derive this property of the hardware from the compatible string. For example by passing per-variant .data in struct of_device_id. Unique hardware properties means unique hardware means it should have a unique compatible string. Otherwise something is wrong with the compatibles. Yours, Linus Walleij