summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSundar Iyer <sundar.iyer@stericsson.com>2010-11-24 12:31:55 +0530
committerUlf Hansson <ulf.hansson@stericsson.com>2011-09-19 16:00:14 +0200
commit25d6e2fad92661e169809f9238ce56e4eda24727 (patch)
treec1c5e3199827952db4bf15ed6c7c8814d77db924
parentd675d2339b2867f2ae4ed59de5526e0d5a31912c (diff)
mfd/tc35892: undo gpio module reset during chip init
Skip putting the GPIO module into a reset during the chip init. This makes sure to preserve any existing GPIO configurations done by pre-kernel boot code. ST-Ericsson ID: ER277334 Change-Id: Ia6727a1f268db0576f5eb40b5dc5c30f6abecba7 Signed-off-by: Sundar Iyer <sundar.iyer@stericsson.com>
-rw-r--r--drivers/mfd/tc35892.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/mfd/tc35892.c b/drivers/mfd/tc35892.c
index c470917e288..33d44bbc731 100644
--- a/drivers/mfd/tc35892.c
+++ b/drivers/mfd/tc35892.c
@@ -234,12 +234,15 @@ static int tc35892_chip_init(struct tc35892 *tc35892)
dev_info(tc35892->dev, "manufacturer: %#x, version: %#x\n", manf, ver);
- /* Put everything except the IRQ module into reset */
+ /*
+ * Put everything except the IRQ module into reset;
+ * also spare the GPIO module for any pin initialization
+ * done during pre-kernel boot
+ */
ret = tc35892_reg_write(tc35892, TC35892_RSTCTRL,
TC35892_RSTCTRL_TIMRST
| TC35892_RSTCTRL_ROTRST
- | TC35892_RSTCTRL_KBDRST
- | TC35892_RSTCTRL_GPIRST);
+ | TC35892_RSTCTRL_KBDRST);
if (ret < 0)
return ret;