summaryrefslogtreecommitdiffstats
path: root/target/linux/s3c24xx/patches-2.6.26/1120-fix-gta01-pmu-irq-edge-lost-on-resume.patch.patch
blob: 018115ef621c896248b43b6c7911a402f5160d0e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
From a0852d1ca05076a7f5129b57248fc72ea719ff2b Mon Sep 17 00:00:00 2001
From: Mike Wester <mwester@dis.net>
Date: Fri, 25 Jul 2008 23:06:06 +0100
Subject: [PATCH] fix-gta01-pmu-irq-edge-lost-on-resume.patch

GTA01 -only

Restore power button functionality after resume operation

Per Werner's suggestion, run the PMU interrupt handler immediately after resume
to clear/handle any pending interrupts from that device.  This appears to
resolve the  dead-powerbutton-after-resume problem.  This is not well-tested;
need feedback to see if there are any side-effects or other problems.

From BZ 1313

Signed-off-by: Mike Wester <mwester@dis.net>
---
 drivers/i2c/chips/pcf50606.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/drivers/i2c/chips/pcf50606.c b/drivers/i2c/chips/pcf50606.c
index 6f71e6c..aa841e3 100644
--- a/drivers/i2c/chips/pcf50606.c
+++ b/drivers/i2c/chips/pcf50606.c
@@ -1957,6 +1957,9 @@ static int pcf50606_resume(struct device *dev)
 
 	mutex_unlock(&pcf->lock);
 
+	/* Hack to fix the gta01 power button problem on resume */
+	pcf50606_irq(0, pcf);
+
 	return 0;
 }
 #else
-- 
1.5.6.3