Quoting Maulik Shah (2020-05-23 10:11:12) > Add irqchip specific flags for msmgpio irqchip to mask non wakeirqs > during suspend and mask before setting irq type. Why do we need to mask before setting irq type? Does something go wrong? Can you explain in the commit text? > > Signed-off-by: Maulik Shah <mkshah@xxxxxxxxxxxxxx> Does this need a Fixes tag? > --- > drivers/pinctrl/qcom/pinctrl-msm.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinctrl-msm.c > index 2419023..b909ffe 100644 > --- a/drivers/pinctrl/qcom/pinctrl-msm.c > +++ b/drivers/pinctrl/qcom/pinctrl-msm.c > @@ -1143,6 +1143,8 @@ static int msm_gpio_init(struct msm_pinctrl *pctrl) > pctrl->irq_chip.irq_release_resources = msm_gpio_irq_relres; > pctrl->irq_chip.irq_set_affinity = msm_gpio_irq_set_affinity; > pctrl->irq_chip.irq_set_vcpu_affinity = msm_gpio_irq_set_vcpu_affinity; > + pctrl->irq_chip.flags = IRQCHIP_MASK_ON_SUSPEND This is sort of sad. We have to set the IRQCHIP_MASK_ON_SUSPEND flag here so that genirq can call the mask op during suspend for the parent irqchip (pdc)? Is there some way to not need to do that and instead let genirq do mask on suspend at the chip level instead of the irq level? > + | IRQCHIP_SET_TYPE_MASKED; > > np = of_parse_phandle(pctrl->dev->of_node, "wakeup-parent", 0); > if (np) {