aboutsummaryrefslogtreecommitdiffstats
path: root/meta-moblin/packages/linux/linux-moblin-2.6.33.2/linux-2.6.33-i2c-workaround-for-aava-koski-touchscreen.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-moblin/packages/linux/linux-moblin-2.6.33.2/linux-2.6.33-i2c-workaround-for-aava-koski-touchscreen.patch')
-rw-r--r--meta-moblin/packages/linux/linux-moblin-2.6.33.2/linux-2.6.33-i2c-workaround-for-aava-koski-touchscreen.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/meta-moblin/packages/linux/linux-moblin-2.6.33.2/linux-2.6.33-i2c-workaround-for-aava-koski-touchscreen.patch b/meta-moblin/packages/linux/linux-moblin-2.6.33.2/linux-2.6.33-i2c-workaround-for-aava-koski-touchscreen.patch
new file mode 100644
index 0000000000..fd267df47b
--- /dev/null
+++ b/meta-moblin/packages/linux/linux-moblin-2.6.33.2/linux-2.6.33-i2c-workaround-for-aava-koski-touchscreen.patch
@@ -0,0 +1,41 @@
+From b766d59f044858ed3d149e97619a0bf5cc2873f3 Mon Sep 17 00:00:00 2001
+From: Priya Vijayan <priya.vijayan@intel.com>
+Date: Tue, 27 Apr 2010 13:23:28 -0700
+Subject: [PATCH] workaround for aava KOSKI
+
+Signed-off-by: Priya Vijayan <priya.vijayan@intel.com>
+---
+ drivers/i2c/busses/i2c-mrst.c | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/i2c/busses/i2c-mrst.c b/drivers/i2c/busses/i2c-mrst.c
+index e591a90..0737f42 100644
+--- a/drivers/i2c/busses/i2c-mrst.c
++++ b/drivers/i2c/busses/i2c-mrst.c
+@@ -217,6 +217,7 @@ static int mrst_i2c_disable(struct i2c_adapter *adap)
+ dev_dbg(&adap->dev, "i2c is busy, count is %d\n", count);
+ if (count++ > 10000)
+ return -EBUSY;
++ udelay(10);
+ }
+
+ /* Set IC_ENABLE to 0 */
+@@ -468,6 +469,7 @@ static int xfer_read(struct i2c_adapter *adap, unsigned char *buf, int length)
+ reg_val = mrst_i2c_read(i2c->base + IC_STATUS);
+ if (count++ > MAX_T_POLL_COUNT)
+ goto read_loop;
++ udelay(10);
+ }
+
+ reg_val = mrst_i2c_read(i2c->base + IC_DATA_CMD);
+@@ -522,6 +524,7 @@ static int xfer_write(struct i2c_adapter *adap,
+ while ((reg_val & bit_get) == 0) {
+ if (count++ > MAX_T_POLL_COUNT)
+ goto write_loop;
++ udelay(10);
+ reg_val = mrst_i2c_read(i2c->base + IC_STATUS);
+ }
+
+--
+1.6.2.2
+