summaryrefslogtreecommitdiff
path: root/drivers/mfd/tc35892.c
diff options
context:
space:
mode:
authorSundar Iyer <sundar.iyer@stericsson.com>2010-11-24 12:31:55 +0530
committerPhilippe Langlais <philippe.langlais@stericsson.com>2012-05-22 10:59:58 +0200
commitba133989bb85a49900862b7851b11f0680a967e9 (patch)
tree32c030e452ffeba3c8818b105a43e4eb2202b025 /drivers/mfd/tc35892.c
parent66e3f449d104dd7a432ede36ac16fdcaf2fdf5c1 (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>
Diffstat (limited to 'drivers/mfd/tc35892.c')
-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;