diff options
author | Pinkava J <Jiri.Pinkava@vscht.cz> | 2010-05-23 00:42:26 -0400 |
---|---|---|
committer | Ben Dooks <ben-linux@fluff.org> | 2010-05-23 11:26:04 -0400 |
commit | 91dc74e479e1ea0bb8864694303e6fe5612b707c (patch) | |
tree | 55a08b31f1c11c306dbd42936989342751c76535 /arch | |
parent | fda225774ed0f3742eb2337680e5221dfa49dad8 (diff) |
ARM: SAMSUNG: fix suspend/resume on if some GPIO banks not present
When saving GPIOs during suspend/resume we need skip missing GPIO banks, not
trying get corresponding chip again and again in infinite loop.
Signed-off-by: Jiri Pinkava <jiri.pinkava@vscht.cz>
[ben-linux@fluff.org: shorten subject]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/plat-samsung/pm-gpio.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/arm/plat-samsung/pm-gpio.c b/arch/arm/plat-samsung/pm-gpio.c index d50ab9d2af53..7df03f87fbfa 100644 --- a/arch/arm/plat-samsung/pm-gpio.c +++ b/arch/arm/plat-samsung/pm-gpio.c | |||
@@ -331,8 +331,10 @@ void s3c_pm_save_gpios(void) | |||
331 | 331 | ||
332 | for (gpio_nr = 0; gpio_nr < S3C_GPIO_END;) { | 332 | for (gpio_nr = 0; gpio_nr < S3C_GPIO_END;) { |
333 | ourchip = s3c_gpiolib_getchip(gpio_nr); | 333 | ourchip = s3c_gpiolib_getchip(gpio_nr); |
334 | if (!ourchip) | 334 | if (!ourchip) { |
335 | gpio_nr++; | ||
335 | continue; | 336 | continue; |
337 | } | ||
336 | 338 | ||
337 | s3c_pm_save_gpio(ourchip); | 339 | s3c_pm_save_gpio(ourchip); |
338 | 340 | ||
@@ -369,8 +371,10 @@ void s3c_pm_restore_gpios(void) | |||
369 | 371 | ||
370 | for (gpio_nr = 0; gpio_nr < S3C_GPIO_END;) { | 372 | for (gpio_nr = 0; gpio_nr < S3C_GPIO_END;) { |
371 | ourchip = s3c_gpiolib_getchip(gpio_nr); | 373 | ourchip = s3c_gpiolib_getchip(gpio_nr); |
372 | if (!ourchip) | 374 | if (!ourchip) { |
375 | gpio_nr++; | ||
373 | continue; | 376 | continue; |
377 | } | ||
374 | 378 | ||
375 | s3c_pm_resume_gpio(ourchip); | 379 | s3c_pm_resume_gpio(ourchip); |
376 | 380 | ||