[PATCH 12/20] mfd/tc3589x: undo gpio module reset during chip init

Sundar Iyer sundar.iyer at stericsson.com
Fri Dec 3 10:05:45 EST 2010


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.

Signed-off-by: Sundar Iyer <sundar.iyer at stericsson.com>
---
 drivers/mfd/tc3589x.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/mfd/tc3589x.c b/drivers/mfd/tc3589x.c
index e173f33..fd206fd 100644
--- a/drivers/mfd/tc3589x.c
+++ b/drivers/mfd/tc3589x.c
@@ -247,12 +247,15 @@ static int tc3589x_chip_init(struct tc3589x *tc3589x)
 
 	dev_info(tc3589x->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 = tc3589x_reg_write(tc3589x, TC3589x_RSTCTRL,
 				TC3589x_RSTCTRL_TIMRST
 				| TC3589x_RSTCTRL_ROTRST
-				| TC3589x_RSTCTRL_KBDRST
-				| TC3589x_RSTCTRL_GPIRST);
+				| TC3589x_RSTCTRL_KBDRST);
 	if (ret < 0)
 		return ret;
 
-- 
1.7.2.dirty




More information about the linux-arm-kernel mailing list