On Tue, 26 Nov 2013, Krzysztof Kozlowski wrote: > Add PM suspend/resume ops to the sec MFD core driver and make it a wake > up source. This allows proper waking from suspend to RAM and also fixes > broken interrupts after resuming: > [ 42.705703] sec_pmic 7-0066: Failed to read IRQ status: -5 > > Interrupts stop working after first resume initiated by them (e.g. by > RTC Alarm interrupt) because interrupt registers were not cleared properly. > > When device is woken up from suspend by RTC Alarm, an interrupt occurs > before resuming I2C bus controller. The interrupt is handled by > regmap_irq_thread which tries to read RTC registers. This read fails > (I2C is still suspended) and RTC Alarm interrupt is disabled. > > Disable the S5M8767 interrupts during suspend (disable_irq()) and enable > them during resume so the device will be still woken up but the interrupt > won't happen before resuming I2C bus. > > Signed-off-by: Krzysztof Kozlowski <[email protected]> > Signed-off-by: Kyungmin Park <[email protected]> > --- > drivers/mfd/sec-core.c | 40 ++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 40 insertions(+)
Patch looks good to me and appears to be orthogonal therefore I have tentatively applied it. -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

