On certain QTI chipsets some GPIOs are direct-connect interrupts to the GIC to be used as regular interrupt lines. When the GPIOs are not used for interrupt generation the interrupt line is disabled. But disabling the interrupt at GIC does not prevent the interrupt to be reported as pending at GIC_ISPEND. Later, when drivers call enable_irq() on the interrupt, an unwanted interrupt occurs. Introduce get and set methods for irqchip's parent to clear it's pending irq state. This then can be invoked by the GPIO interrupt controller on the parents in it hierarchy to clear the interrupt before enabling the interrupt. Change-Id: Ie8559657bd8da926cc741514809ffe9adbd73a80 Signed-off-by: Maulik Shah <mkshah@codeaurora.org> [updated commit text and minor code fixes] Signed-off-by: Lina Iyer <ilina@codeaurora.org>
40 KiB
40 KiB