Hi Maulik, In the future, please always add a cover-letter email if sending a series that has more than a single patch. This considerably helps the tracking, and gives you an opportunity to explain what you are doing. On Tue, 17 Aug 2021 11:19:06 +0100, Maulik Shah <mkshah@xxxxxxxxxxxxxx> wrote: > > gpio_to_irq() reports error at irq_domain_trim_hierarchy() for non wakeup > capable GPIOs that do not have dedicated interrupt at GIC. > > Since PDC irqchip do not allocate irq at parent GIC domain for such GPIOs > indicate same by using irq_domain_disconnect_hierarchy(). > > Signed-off-by: Maulik Shah <mkshah@xxxxxxxxxxxxxx> > --- > drivers/irqchip/qcom-pdc.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/irqchip/qcom-pdc.c b/drivers/irqchip/qcom-pdc.c > index 32d5920..0ba0461 100644 > --- a/drivers/irqchip/qcom-pdc.c > +++ b/drivers/irqchip/qcom-pdc.c > @@ -324,8 +324,11 @@ static int qcom_pdc_gpio_alloc(struct irq_domain *domain, unsigned int virq, > if (ret) > return ret; > > - if (hwirq == GPIO_NO_WAKE_IRQ) > + if (hwirq == GPIO_NO_WAKE_IRQ) { > + if (domain->parent) > + irq_domain_disconnect_hierarchy(domain->parent, virq); > return 0; > + } > > parent_hwirq = get_parent_hwirq(hwirq); > if (parent_hwirq == PDC_NO_PARENT_IRQ) It feels like you are papering over the core of the problem, which is that most of the GPIO_NO_WAKE_IRQ stuff should simply go away now that we have a way to drop parts of the hierarchy. I had a go at that a few months back, but never had the opportunity to actually test the resulting code[1]. Could you please give it a go and let me know what breaks? Thanks, M. [1] https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git/commit/?h=irq/qcom-pdc-nowake&id=331b2ba388a4a79b5c40b8addf56cbe35099a410 -- Without deviation from the norm, progress is not possible.