summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonghwa Lee <jonghwa3.lee@samsung.com>2014-10-14 18:03:09 +0900
committerChanho Park <chanho61.park@samsung.com>2014-11-18 12:00:59 +0900
commit9895637ddf2e9238e35af814e09801a4d6e78f11 (patch)
treefc910a42ca801a70ca9beb33f809d95b1764df00
parent3d1ea135bebc838e213194651b58a3c2435cf137 (diff)
downloadlinux-3.10-9895637ddf2e9238e35af814e09801a4d6e78f11.tar.gz
linux-3.10-9895637ddf2e9238e35af814e09801a4d6e78f11.tar.bz2
linux-3.10-9895637ddf2e9238e35af814e09801a4d6e78f11.zip
mfd: sec-core: Postpone handling of IRQ until I2C bus is enabled.
Like most of other external chips, it needs to defer handling of IRQ arised during suspend until i2c bus is re-enabled. Change-Id: I6052fed2c89b349374a1cad510f7a9fed757699f Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
-rw-r--r--drivers/mfd/sec-core.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c
index b281ddc7126..80f11af4ef1 100644
--- a/drivers/mfd/sec-core.c
+++ b/drivers/mfd/sec-core.c
@@ -414,6 +414,9 @@ static int sec_pmic_suspend(struct device *dev)
if (device_may_wakeup(dev))
enable_irq_wake(sec_pmic->irq);
+ /* Postpone handling of IRQ until I2C bus is enabled. */
+ disable_irq(sec_pmic->irq);
+
return 0;
}
@@ -425,6 +428,8 @@ static int sec_pmic_resume(struct device *dev)
if (device_may_wakeup(dev))
disable_irq_wake(sec_pmic->irq);
+ enable_irq(sec_pmic->irq);
+
return 0;
}
#endif