aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mfd
diff options
context:
space:
mode:
authorTodd Poynor <toddpoynor@google.com>2011-09-26 19:44:24 -0400
committerSamuel Ortiz <sameo@linux.intel.com>2011-10-24 08:09:17 -0400
commit782baa20b201100e14ce065bb7b890169e7a5d3c (patch)
treea1e65c51e6750bc0c1b0bf890325bd08f2acb160 /drivers/mfd
parentab2b9260df67e29d5bd69d989f2f84f8c2ed4238 (diff)
mfd: Disable twl6030 IRQ during suspend
Module IRQs may still be disabled by DPM at the time the TWL6030 ISR runs, causing handle_simple_irq() to silently do nothing. This may result in missing TWL RTC alarm wakeups, for example, since the RTC child module ISR is not called to ack the IRQ. Disable the TWL6030 IRQ during suspend, enable it at DPM resume time, at which time the child module IRQs will be re-enabled. Signed-off-by: Todd Poynor <toddpoynor@google.com> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'drivers/mfd')
-rw-r--r--drivers/mfd/twl6030-irq.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/mfd/twl6030-irq.c b/drivers/mfd/twl6030-irq.c
index a014ec489e68..deec3ec858bf 100644
--- a/drivers/mfd/twl6030-irq.c
+++ b/drivers/mfd/twl6030-irq.c
@@ -109,7 +109,13 @@ static int twl6030_irq_pm_notifier(struct notifier_block *notifier,
109 twl_irq_wake_enabled = false; 109 twl_irq_wake_enabled = false;
110 } 110 }
111 111
112 disable_irq(twl_irq);
112 break; 113 break;
114
115 case PM_POST_SUSPEND:
116 enable_irq(twl_irq);
117 break;
118
113 default: 119 default:
114 break; 120 break;
115 } 121 }