summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s3c24xx/common-smdk.c
diff options
context:
space:
mode:
authorSylwester Nawrocki2012-07-13 11:04:25 +0200
committerKukjin Kim2012-07-13 11:04:25 +0200
commitff40b4b154415eceb54daae989f5459ed74d0ca2 (patch)
tree77a98abc8451b3451a6e82c1f1bb3ab06f74c4fb /arch/arm/mach-s3c24xx/common-smdk.c
parentARM: S3C24XX: Free the backlight gpio requested in Mini2440 board code (diff)
downloadkernel-qcow2-linux-ff40b4b154415eceb54daae989f5459ed74d0ca2.tar.gz
kernel-qcow2-linux-ff40b4b154415eceb54daae989f5459ed74d0ca2.tar.xz
kernel-qcow2-linux-ff40b4b154415eceb54daae989f5459ed74d0ca2.zip
ARM: S3C24XX: Convert SMDK board file to the gpiolib API
Replace SoC specific GPIO functions with the gpiolib API. The LED gpios are freed right after they are initially configured so they can be acquired in the s3c24xx_led driver. This change is required for converting the s3c24xx_led driver to the gpiolib API. Signed-off-by: Sylwester Nawrocki <sylvester.nawrocki@gmail.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm/mach-s3c24xx/common-smdk.c')
-rw-r--r--arch/arm/mach-s3c24xx/common-smdk.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/arch/arm/mach-s3c24xx/common-smdk.c b/arch/arm/mach-s3c24xx/common-smdk.c
index 084604be6ad1..87e75a250d5e 100644
--- a/arch/arm/mach-s3c24xx/common-smdk.c
+++ b/arch/arm/mach-s3c24xx/common-smdk.c
@@ -182,19 +182,21 @@ static struct platform_device __initdata *smdk_devs[] = {
&smdk_led7,
};
+static const struct gpio smdk_led_gpios[] = {
+ { S3C2410_GPF(4), GPIOF_OUT_INIT_HIGH, NULL },
+ { S3C2410_GPF(5), GPIOF_OUT_INIT_HIGH, NULL },
+ { S3C2410_GPF(6), GPIOF_OUT_INIT_HIGH, NULL },
+ { S3C2410_GPF(7), GPIOF_OUT_INIT_HIGH, NULL },
+};
+
void __init smdk_machine_init(void)
{
/* Configure the LEDs (even if we have no LED support)*/
- s3c_gpio_cfgpin(S3C2410_GPF(4), S3C2410_GPIO_OUTPUT);
- s3c_gpio_cfgpin(S3C2410_GPF(5), S3C2410_GPIO_OUTPUT);
- s3c_gpio_cfgpin(S3C2410_GPF(6), S3C2410_GPIO_OUTPUT);
- s3c_gpio_cfgpin(S3C2410_GPF(7), S3C2410_GPIO_OUTPUT);
-
- s3c2410_gpio_setpin(S3C2410_GPF(4), 1);
- s3c2410_gpio_setpin(S3C2410_GPF(5), 1);
- s3c2410_gpio_setpin(S3C2410_GPF(6), 1);
- s3c2410_gpio_setpin(S3C2410_GPF(7), 1);
+ int ret = gpio_request_array(smdk_led_gpios,
+ ARRAY_SIZE(smdk_led_gpios));
+ if (!WARN_ON(ret < 0))
+ gpio_free_array(smdk_led_gpios, ARRAY_SIZE(smdk_led_gpios));
if (machine_is_smdk2443())
smdk_nand_info.twrph0 = 50;