aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-samsung/pm-gpio.c
diff options
context:
space:
mode:
authorPinkava J <Jiri.Pinkava@vscht.cz>2010-05-23 00:42:26 -0400
committerBen Dooks <ben-linux@fluff.org>2010-05-23 11:26:04 -0400
commit91dc74e479e1ea0bb8864694303e6fe5612b707c (patch)
tree55a08b31f1c11c306dbd42936989342751c76535 /arch/arm/plat-samsung/pm-gpio.c
parentfda225774ed0f3742eb2337680e5221dfa49dad8 (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/arm/plat-samsung/pm-gpio.c')
-rw-r--r--arch/arm/plat-samsung/pm-gpio.c8
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