On pią, 2014-09-12 at 16:13 +0100, Russell King - ARM Linux wrote: > On Fri, Sep 12, 2014 at 04:56:18PM +0200, Krzysztof Kozlowski wrote: > > The AMBA bus driver defines runtime Power Management functions which > > disable and unprepare AMBA bus clock. This is problematic for runtime PM > > because unpreparing a clock might sleep so it is not interrupt safe. > > > > However some drivers may want to implement runtime PM functions in > > interrupt-safe way (see pm_runtime_irq_safe()). If such driver > > implements its own runtime PM functions then assume it will handle the > > runtime PM completely and it will replace our clock handling. > > > > Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> > > Actually, I'd rather just revert 5303c0f46c8708fff4148ebcc491f78710356952 > which is clearly the wrong thing to do when we have non-IRQ safe runtime > PM. > > What we /could/ do instead is to check whether irq_safe is set after > probe, record that, and then select whether to use the prepare/unprepare > methods based on that. (Drivers should never dynamically change this.) I'll try this approach. Thank you for feedback, Krzysztof -- To unsubscribe from this list: send the line "unsubscribe dmaengine" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html