summaryrefslogtreecommitdiff
path: root/target/linux/s3c24xx/patches-2.6.24/1132-fix-gta01-pmu-irq-edge-lost-on-resume.patch.patch
blob: 7ce89c067933daa2f35ae652a843d46c94233108 (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 f54af99850ae25da80e491b1864bb90e14c80b1f Mon Sep 17 00:00:00 2001
From: Mike Wester <mwester@dis.net>
Date: Sun, 13 Apr 2008 07:25:59 +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.5