mfd: max8997: Disable interrupt handling for suspend/resume cycle
Disable IRQs during suspend/resume cycle to ensure handling of wakeup interrupts (i.e. RTC wake alarm) after max8997_resume(). This way it can be properly handled when I2C bus is finally available. This pattern is also used in other MAX PMIC MFD drivers. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
This commit is contained in:
parent
efddff27c8
commit
c1aaaa1cb7
|
@ -448,6 +448,7 @@ static int max8997_suspend(struct device *dev)
|
|||
struct i2c_client *i2c = to_i2c_client(dev);
|
||||
struct max8997_dev *max8997 = i2c_get_clientdata(i2c);
|
||||
|
||||
disable_irq(max8997->irq);
|
||||
if (device_may_wakeup(dev))
|
||||
irq_set_irq_wake(max8997->irq, 1);
|
||||
return 0;
|
||||
|
@ -460,6 +461,7 @@ static int max8997_resume(struct device *dev)
|
|||
|
||||
if (device_may_wakeup(dev))
|
||||
irq_set_irq_wake(max8997->irq, 0);
|
||||
enable_irq(max8997->irq);
|
||||
return max8997_irq_resume(max8997);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue