Stop forwarding irq_disable and irq_enable from msmgpio to parent PDC. The irq gets enabled/disabled at wakeup capable parent PDC when wakeup capability changes with enable_irq_wake or disable_irq_wake. Signed-off-by: Maulik Shah <mkshah@xxxxxxxxxxxxxx> --- drivers/pinctrl/qcom/pinctrl-msm.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinctrl-msm.c index 9a8daa2..a8973d2 100644 --- a/drivers/pinctrl/qcom/pinctrl-msm.c +++ b/drivers/pinctrl/qcom/pinctrl-msm.c @@ -803,10 +803,8 @@ static void msm_gpio_irq_enable(struct irq_data *d) * the interrupt from being latched at the GIC. The state at * GIC needs to be cleared before enabling. */ - if (d->parent_data) { + if (d->parent_data) irq_chip_set_parent_state(d, IRQCHIP_STATE_PENDING, 0); - irq_chip_enable_parent(d); - } msm_gpio_irq_clear_unmask(d, true); } @@ -816,9 +814,6 @@ static void msm_gpio_irq_disable(struct irq_data *d) struct gpio_chip *gc = irq_data_get_irq_chip_data(d); struct msm_pinctrl *pctrl = gpiochip_get_data(gc); - if (d->parent_data) - irq_chip_disable_parent(d); - if (!test_bit(d->hwirq, pctrl->skip_wake_irqs)) msm_gpio_irq_mask(d); } -- QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation