From: Sundar Iyer Date: Mon, 13 Dec 2010 04:03:17 +0000 (+0530) Subject: mfd/tc3589x: undo gpio module reset during chip init X-Git-Tag: v3.12-rc1~7846^2^2~1^2~9 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=523bc3820f023169671e9726b8dc075669d14bec;p=kernel%2Fkernel-generic.git mfd/tc3589x: 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. Acked-by: Samuel Ortiz Signed-off-by: Sundar Iyer Signed-off-by: Linus Walleij --- diff --git a/drivers/mfd/tc3589x.c b/drivers/mfd/tc3589x.c index 708349a..f000d2e 100644 --- a/drivers/mfd/tc3589x.c +++ b/drivers/mfd/tc3589x.c @@ -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;