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/

Reply via email to