mfd/tc3589x: undo gpio module reset during chip init
authorSundar Iyer <sundar.iyer@stericsson.com>
Mon, 13 Dec 2010 04:03:17 +0000 (09:33 +0530)
committerLinus Walleij <linus.walleij@stericsson.com>
Sun, 19 Dec 2010 18:27:55 +0000 (19:27 +0100)
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.

Acked-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Sundar Iyer <sundar.iyer@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
drivers/mfd/tc3589x.c

index 708349a5c0e397fed0657bc0199adbc2e419af8d..f000d2ed23e0bd725641f276ceda40f88d58e0f1 100644 (file)
@@ -231,12 +231,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;