ARM: S5P64X0: Cleanup S5P64X0 GPIOlib adding 2bit chips
authorKukjin Kim <kgene.kim@samsung.com>
Wed, 24 Nov 2010 02:00:16 +0000 (11:00 +0900)
committerKukjin Kim <kgene.kim@samsung.com>
Thu, 30 Dec 2010 00:37:28 +0000 (09:37 +0900)
This patch changes S5P6440 and S5P6450 GPIOlib adding 2bit chips.

Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
arch/arm/mach-s5p64x0/gpio.c

index 17a2eee3da725d2d68807ca598b0b8cc3267ed37..0670fcceed49790c5a8209a57e965ddc015683e3 100644 (file)
@@ -473,21 +473,16 @@ static void __init s5p64x0_gpio_add_rbank_4bit2(struct s3c_gpio_chip *chip,
 
 static int __init s5p64x0_gpiolib_init(void)
 {
-       struct s3c_gpio_chip *s5p6440_chips = s5p6440_gpio_2bit;
-       int s5p6440_nr_chips = ARRAY_SIZE(s5p6440_gpio_2bit);
-
-       struct s3c_gpio_chip *s5p6450_chips = s5p6450_gpio_2bit;
-       int s5p6450_nr_chips = ARRAY_SIZE(s5p6450_gpio_2bit);
-
        unsigned int chipid;
 
+       chipid = __raw_readl(S5P64X0_SYS_ID);
+
        s5p64x0_gpiolib_set_cfg(s5p64x0_gpio_cfgs,
                                ARRAY_SIZE(s5p64x0_gpio_cfgs));
-       chipid = __raw_readl(S5P64X0_SYS_ID);
 
        if ((chipid & 0xff000) == 0x50000) {
-               for (; s5p6450_nr_chips > 0; s5p6450_nr_chips--, s5p6450_chips++)
-                       s3c_gpiolib_add(s5p6450_chips);
+               samsung_gpiolib_add_2bit_chips(s5p6450_gpio_2bit,
+                                       ARRAY_SIZE(s5p6450_gpio_2bit));
 
                samsung_gpiolib_add_4bit_chips(s5p6450_gpio_4bit,
                                        ARRAY_SIZE(s5p6450_gpio_4bit));
@@ -498,8 +493,8 @@ static int __init s5p64x0_gpiolib_init(void)
                s5p64x0_gpio_add_rbank_4bit2(s5p6450_gpio_rbank_4bit2,
                                        ARRAY_SIZE(s5p6450_gpio_rbank_4bit2));
        } else {
-               for (; s5p6440_nr_chips > 0; s5p6440_nr_chips--, s5p6440_chips++)
-                       s3c_gpiolib_add(s5p6440_chips);
+               samsung_gpiolib_add_2bit_chips(s5p6440_gpio_2bit,
+                                       ARRAY_SIZE(s5p6440_gpio_2bit));
 
                samsung_gpiolib_add_4bit_chips(s5p6440_gpio_4bit,
                                        ARRAY_SIZE(s5p6440_gpio_4bit));