On Fri, Feb 8, 2019 at 11:40 AM Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxx> wrote: > The Zynq GPIO driver currently implements runtime PM by: > > - Enabling runtime PM support in ->probe() and letting the runtime PM > reference counter drop to zero at the end of ->probe(). > > - Increasing the runtime PM reference counter in ->request() and > decreasing it in ->free(). > > However, the latter is not sufficient: when a GPIO is used as an > interrupt, ->request() and ->free() are not called. Due to this, the > runtime PM counter remains to zero when the only GPIOs in use are used > as interrupts, causing them to simply not work. > > To address this problem, this commit implement the > ->irq_request_resources() and ->irq_release_resources() hooks, > ensuring that the runtime PM counter is properly > incremented/decremented. Since we override the default hooks, we keep > the existing behavior by making sure they call gpiochip_reqres_irq() / > gpiochip_relres_irq() respectively. > > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxx> Patch applied with Shubhrajyoti's review tag. Yours, Linus Walleij