From: Abhilash Kesavan <[email protected]>

Fix the "no pm for GPIOXX" messages appearing during bootup due
to the lack of save/restore functions for those GPIO banks.

Signed-off-by: Abhilash Kesavan <[email protected]>
Signed-off-by: Sangbeom Kim <[email protected]>
---
 arch/arm/mach-s5p64x0/gpiolib.c |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-s5p64x0/gpiolib.c b/arch/arm/mach-s5p64x0/gpiolib.c
index 072668a..9302d86 100644
--- a/arch/arm/mach-s5p64x0/gpiolib.c
+++ b/arch/arm/mach-s5p64x0/gpiolib.c
@@ -460,6 +460,15 @@ void __init s5p64x0_gpiolib_set_cfg(struct s3c_gpio_cfg 
*chipcfg, int nr_chips)
        }
 }
 
+static void __init s5p64x0_gpio_add_2bit(struct s3c_gpio_chip *chip,
+                                               int nr_chips)
+{
+       for (; nr_chips > 0; nr_chips--, chip++) {
+               chip->pm = __gpio_pm(&s3c_gpio_pm_2bit);
+               s3c_gpiolib_add(chip);
+       }
+}
+
 static void __init s5p64x0_gpio_add_rbank_4bit2(struct s3c_gpio_chip *chip,
                                                int nr_chips)
 {
@@ -467,6 +476,7 @@ static void __init s5p64x0_gpio_add_rbank_4bit2(struct 
s3c_gpio_chip *chip,
                chip->chip.direction_input = s5p64x0_gpiolib_rbank_4bit2_input;
                chip->chip.direction_output =
                                        s5p64x0_gpiolib_rbank_4bit2_output;
+               chip->pm = __gpio_pm(&s3c_gpio_pm_4bit);
                s3c_gpiolib_add(chip);
        }
 }
@@ -481,7 +491,7 @@ static int __init s5p64x0_gpiolib_init(void)
                                ARRAY_SIZE(s5p64x0_gpio_cfgs));
 
        if ((chipid & 0xff000) == 0x50000) {
-               samsung_gpiolib_add_2bit_chips(s5p6450_gpio_2bit,
+               s5p64x0_gpio_add_2bit(s5p6450_gpio_2bit,
                                        ARRAY_SIZE(s5p6450_gpio_2bit));
 
                samsung_gpiolib_add_4bit_chips(s5p6450_gpio_4bit,
@@ -493,7 +503,7 @@ static int __init s5p64x0_gpiolib_init(void)
                s5p64x0_gpio_add_rbank_4bit2(s5p6450_gpio_rbank_4bit2,
                                        ARRAY_SIZE(s5p6450_gpio_rbank_4bit2));
        } else {
-               samsung_gpiolib_add_2bit_chips(s5p6440_gpio_2bit,
+               s5p64x0_gpio_add_2bit(s5p6440_gpio_2bit,
                                        ARRAY_SIZE(s5p6440_gpio_2bit));
 
                samsung_gpiolib_add_4bit_chips(s5p6440_gpio_4bit,
-- 
1.6.6.1

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to