On Fri, Jun 12, 2020 at 03:00:03PM +0200, Wolfram Sang wrote:
On Fri, Jun 12, 2020 at 02:18:06PM +0200, Marc Kleine-Budde wrote:
On 6/12/20 1:51 PM, Wolfram Sang wrote:
This basically kills the concept of devm for interrupts. Some other
It only works when you can ensure you have all interrupts disabled (and none pending) in remove() or the error paths of probe() etc.
But when requesting the interrupt as shared the interrupt handler can get called any time, even if you have disabled the IRQ source in your IP core....The shared IRQ debug code tests this.
Yes, so you'd need something like
if (clks_are_off) return IRQ_NONE;
Maybe then: if (pm_runtime_enabled())?
The device structure should be valid at this point so the call should work.
or skip devm_ for interrupts and handle it manually. (IIRC the input subsystem really frowns upon devm + irqs for such reasons)
D'accord?
I guess dream of managing every resource automatically is an utopia :)
Best regards, Krzysztof