Messages in this thread | | | Date | Thu, 23 Apr 2015 10:44:44 -0400 (EDT) | From | Alan Stern <> | Subject | Re: [PATCH/RFC 00/03] irqchip: renesas-irqc: Fine grained Runtime PM support |
| |
On Thu, 23 Apr 2015, Geert Uytterhoeven wrote:
> >> I'm afraid you can't call pm_runtime_get_sync() from these methods, as > >> they may be called from interrupt context. > > > > Ouch. I know the clock framework has prepare/enable separated with > > context, but with the irqchip callbacks I suppose no such separation > > It's not the clock operations, but the pm_runtime operations that cannot be > called from interrupt context.
In fact the pm_runtime operations _can_ be called from interrupt context, provided the driver has first invoked pm_runtime_irq_safe(). Of course, this requires that none of the runtime-PM callback routines ever sleep or perform a blocking operation.
This is all explained in Documentation/power/runtime_pm.txt (search for "irq_safe").
Alan Stern
| |