aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s5p64x0
diff options
context:
space:
mode:
authorKukjin Kim <kgene.kim@samsung.com>2010-11-24 11:00:16 +0900
committerKukjin Kim <kgene.kim@samsung.com>2010-12-30 09:37:28 +0900
commitbb1d7002bbfd1471368e1c830a1e6ddcfdff1767 (patch)
treecefeb45b1b9779c52e76f9e77538101edad9d19d /arch/arm/mach-s5p64x0
parent4603089d7c5186d255c4718171187d00ee4d3452 (diff)
downloadkernel_samsung_smdk4412-bb1d7002bbfd1471368e1c830a1e6ddcfdff1767.zip
kernel_samsung_smdk4412-bb1d7002bbfd1471368e1c830a1e6ddcfdff1767.tar.gz
kernel_samsung_smdk4412-bb1d7002bbfd1471368e1c830a1e6ddcfdff1767.tar.bz2
ARM: S5P64X0: Cleanup S5P64X0 GPIOlib adding 2bit chips
This patch changes S5P6440 and S5P6450 GPIOlib adding 2bit chips. Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm/mach-s5p64x0')
-rw-r--r--arch/arm/mach-s5p64x0/gpio.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/arch/arm/mach-s5p64x0/gpio.c b/arch/arm/mach-s5p64x0/gpio.c
index 17a2eee..0670fcc 100644
--- a/arch/arm/mach-s5p64x0/gpio.c
+++ b/arch/arm/mach-s5p64x0/gpio.c
@@ -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));