Message ID | 1351183898-12856-1-git-send-email-dromede@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, Oct 26, 2012 at 12:51 AM, <dromede@gmail.com> wrote: > From: Marko Katic <dromede.gmail.com> > > Devices that use spitz_pm.c will fail to resume > from STR (Suspend To Ram) when the charger plug is inserted > or removed when a device is in STR mode. The culprit is > a misconfigured gpio line - GPIO18. GPIO18 should be configured as a > regular GPIO input but it gets configured as an alternate function > GPIO18_RDY. And then later in postsuspend() it gets configured as > a regular GPIO18 input line. > > Fix this by removing the GPIO18_RDY configuration so that GPIO18 > only gets configured as a regular gpio input. > > Signed-off-by: Marko Katic <dromede.gmail.com> Applied with fixing your email to dromede@gmail.com Thanks Haojian
diff --git a/arch/arm/mach-pxa/spitz_pm.c b/arch/arm/mach-pxa/spitz_pm.c index 438f02f..842596d 100644 --- a/arch/arm/mach-pxa/spitz_pm.c +++ b/arch/arm/mach-pxa/spitz_pm.c @@ -86,10 +86,7 @@ static void spitz_discharge1(int on) gpio_set_value(SPITZ_GPIO_LED_GREEN, on); } -static unsigned long gpio18_config[] = { - GPIO18_RDY, - GPIO18_GPIO, -}; +static unsigned long gpio18_config = GPIO18_GPIO; static void spitz_presuspend(void) { @@ -112,7 +109,7 @@ static void spitz_presuspend(void) PGSR3 &= ~SPITZ_GPIO_G3_STROBE_BIT; PGSR2 |= GPIO_bit(SPITZ_GPIO_KEY_STROBE0); - pxa2xx_mfp_config(&gpio18_config[0], 1); + pxa2xx_mfp_config(&gpio18_config, 1); gpio_request_one(18, GPIOF_OUT_INIT_HIGH, "Unknown"); gpio_free(18); @@ -131,7 +128,6 @@ static void spitz_presuspend(void) static void spitz_postsuspend(void) { - pxa2xx_mfp_config(&gpio18_config[1], 1); } static int spitz_should_wakeup(unsigned int resume_on_alarm)