From dcf29b078b82e20a0a0ac6ff3ba155f86828b9d0 Mon Sep 17 00:00:00 2001 From: Tushar Nimkar Date: Wed, 17 Mar 2021 21:41:29 +0530 Subject: [PATCH] pinctrl: qcom: Fix msm_gpio_wakeirq to correctly find parent hwirq For mpm gpio irq chip domain do not handle wakeup but the parent hwirq still need to send to mpm gpio chip. Add change to skip sending parent irq where domain handles wakeup. Change-Id: I1eb6fdefe6811dcf3d77cca4d54cce8b4efdc6b6 Signed-off-by: Tushar Nimkar --- drivers/pinctrl/qcom/pinctrl-msm.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinctrl-msm.c index 9fef3573478f..9430df6269c5 100644 --- a/drivers/pinctrl/qcom/pinctrl-msm.c +++ b/drivers/pinctrl/qcom/pinctrl-msm.c @@ -1284,11 +1284,13 @@ static int msm_gpio_wakeirq(struct gpio_chip *gc, struct msm_pinctrl *pctrl = gpiochip_get_data(gc); const struct msm_gpio_wakeirq_map *map; int i; + bool skip; *parent = GPIO_NO_WAKE_IRQ; *parent_type = IRQ_TYPE_EDGE_RISING; - if (!test_bit(child, pctrl->skip_wake_irqs)) + skip = irq_domain_qcom_handle_wakeup(gc->irq.parent_domain); + if (!test_bit(child, pctrl->skip_wake_irqs) && skip) return 0; for (i = 0; i < pctrl->soc->nwakeirq_map; i++) {