RE: [PATCH] ARM: EXYNOS: Use gpio_request_one
Jingoo Han wrote: By using gpio_request_one it is possible to set the direction and initial value in one shot. Thus, using gpio_request_one can make the code simpler. Signed-off-by: Jingoo Han jg1@samsung.com --- arch/arm/mach-exynos/mach-nuri.c |4 +--- arch/arm/mach-exynos/mach-smdkv310.c |4 +--- arch/arm/mach-exynos/mach-universal_c210.c | 10 +++--- 3 files changed, 5 insertions(+), 13 deletions(-) diff --git a/arch/arm/mach-exynos/mach-nuri.c b/arch/arm/mach-exynos/mach- nuri.c index 236bbe1..c96de1f 100644 --- a/arch/arm/mach-exynos/mach-nuri.c +++ b/arch/arm/mach-exynos/mach-nuri.c @@ -249,9 +249,7 @@ static int nuri_bl_init(struct device *dev) { int ret, gpio = EXYNOS4_GPE2(3); - ret = gpio_request(gpio, LCD_LDO_EN); - if (!ret) - gpio_direction_output(gpio, 0); + ret = gpio_request_one(gpio, GPIOF_OUT_INIT_LOW, LCD_LD0_EN); Looks good, but following is better? static int nuri_bl_init(struct device *dev) { - int ret, gpio = EXYNOS4_GPE2(3); - - ret = gpio_request(gpio, LCD_LDO_EN); - if (!ret) - gpio_direction_output(gpio, 0); - - return ret; + return gpio_request_one(EXYNOS4_GPE2(3), GPIOF_OUT_INIT_LOW, LCD_LDO_EN); } Others, ok to me. Could you please re-send? Thanks. Best regards, Kgene. -- Kukjin Kim kgene@samsung.com, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd. return ret; } diff --git a/arch/arm/mach-exynos/mach-smdkv310.c b/arch/arm/mach- exynos/mach-smdkv310.c index cec2afa..cbf31bd 100644 --- a/arch/arm/mach-exynos/mach-smdkv310.c +++ b/arch/arm/mach-exynos/mach-smdkv310.c @@ -129,9 +129,7 @@ static void lcd_lte480wv_set_power(struct plat_lcd_data *pd, gpio_free(EXYNOS4_GPD0(1)); #endif /* fire nRESET on power up */ - gpio_request(EXYNOS4_GPX0(6), GPX0); - - gpio_direction_output(EXYNOS4_GPX0(6), 1); + gpio_request_one(EXYNOS4_GPX0(6), GPIOF_OUT_INIT_HIGH, GPX0); mdelay(100); gpio_set_value(EXYNOS4_GPX0(6), 0); diff --git a/arch/arm/mach-exynos/mach-universal_c210.c b/arch/arm/mach- exynos/mach-universal_c210.c index a2a177f..0a04cd6 100644 --- a/arch/arm/mach-exynos/mach-universal_c210.c +++ b/arch/arm/mach-exynos/mach-universal_c210.c @@ -608,8 +608,7 @@ static void __init universal_tsp_init(void) /* TSP_LDO_ON: XMDMADDR_11 */ gpio = EXYNOS4_GPE2(3); - gpio_request(gpio, TSP_LDO_ON); - gpio_direction_output(gpio, 1); + gpio_request_one(gpio, GPIOF_OUT_INIT_HIGH, TSP_LDO_ON); gpio_export(gpio, 0); /* TSP_INT: XMDMADDR_7 */ @@ -669,8 +668,7 @@ static void __init universal_touchkey_init(void) i2c_gpio12_devs[0].irq = gpio_to_irq(gpio); gpio = EXYNOS4_GPE3(3); /* XMDMDATA_3 */ - gpio_request(gpio, 3_TOUCH_EN); - gpio_direction_output(gpio, 1); + gpio_request_one(gpio, GPIOF_OUT_INIT_HIGH, 3_TOUCH_EN); } static struct s3c2410_platform_i2c universal_i2c0_platdata __initdata = { @@ -1000,9 +998,7 @@ static void __init universal_map_io(void) void s5p_tv_setup(void) { /* direct HPD to HDMI chip */ - gpio_request(EXYNOS4_GPX3(7), hpd-plug); - - gpio_direction_input(EXYNOS4_GPX3(7)); + gpio_request_one(EXYNOS4_GPX3(7), GPIOF_IN, hpd-plug); s3c_gpio_cfgpin(EXYNOS4_GPX3(7), S3C_GPIO_SFN(0x3)); s3c_gpio_setpull(EXYNOS4_GPX3(7), S3C_GPIO_PULL_NONE); -- 1.7.1 -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: [PATCH] ARM: EXYNOS: Use gpio_request_one
Kukjin Kim wrote: -Original Message- Subject: RE: [PATCH] ARM: EXYNOS: Use gpio_request_one Jingoo Han wrote: By using gpio_request_one it is possible to set the direction and initial value in one shot. Thus, using gpio_request_one can make the code simpler. Signed-off-by: Jingoo Han jg1@samsung.com --- arch/arm/mach-exynos/mach-nuri.c |4 +--- arch/arm/mach-exynos/mach-smdkv310.c |4 +--- arch/arm/mach-exynos/mach-universal_c210.c | 10 +++--- 3 files changed, 5 insertions(+), 13 deletions(-) diff --git a/arch/arm/mach-exynos/mach-nuri.c b/arch/arm/mach-exynos/mach- nuri.c index 236bbe1..c96de1f 100644 --- a/arch/arm/mach-exynos/mach-nuri.c +++ b/arch/arm/mach-exynos/mach-nuri.c @@ -249,9 +249,7 @@ static int nuri_bl_init(struct device *dev) { int ret, gpio = EXYNOS4_GPE2(3); - ret = gpio_request(gpio, LCD_LDO_EN); - if (!ret) - gpio_direction_output(gpio, 0); + ret = gpio_request_one(gpio, GPIOF_OUT_INIT_LOW, LCD_LD0_EN); Looks good, but following is better? static int nuri_bl_init(struct device *dev) { - int ret, gpio = EXYNOS4_GPE2(3); - - ret = gpio_request(gpio, LCD_LDO_EN); - if (!ret) - gpio_direction_output(gpio, 0); - - return ret; + return gpio_request_one(EXYNOS4_GPE2(3), GPIOF_OUT_INIT_LOW, LCD_LDO_EN); } Others, ok to me. Could you please re-send? OK, I will send you v2 patch. Thank you. Thanks. Best regards, Kgene. -- Kukjin Kim kgene@samsung.com, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd. return ret; } diff --git a/arch/arm/mach-exynos/mach-smdkv310.c b/arch/arm/mach- exynos/mach-smdkv310.c index cec2afa..cbf31bd 100644 --- a/arch/arm/mach-exynos/mach-smdkv310.c +++ b/arch/arm/mach-exynos/mach-smdkv310.c @@ -129,9 +129,7 @@ static void lcd_lte480wv_set_power(struct plat_lcd_data *pd, gpio_free(EXYNOS4_GPD0(1)); #endif /* fire nRESET on power up */ - gpio_request(EXYNOS4_GPX0(6), GPX0); - - gpio_direction_output(EXYNOS4_GPX0(6), 1); + gpio_request_one(EXYNOS4_GPX0(6), GPIOF_OUT_INIT_HIGH, GPX0); mdelay(100); gpio_set_value(EXYNOS4_GPX0(6), 0); diff --git a/arch/arm/mach-exynos/mach-universal_c210.c b/arch/arm/mach- exynos/mach-universal_c210.c index a2a177f..0a04cd6 100644 --- a/arch/arm/mach-exynos/mach-universal_c210.c +++ b/arch/arm/mach-exynos/mach-universal_c210.c @@ -608,8 +608,7 @@ static void __init universal_tsp_init(void) /* TSP_LDO_ON: XMDMADDR_11 */ gpio = EXYNOS4_GPE2(3); - gpio_request(gpio, TSP_LDO_ON); - gpio_direction_output(gpio, 1); + gpio_request_one(gpio, GPIOF_OUT_INIT_HIGH, TSP_LDO_ON); gpio_export(gpio, 0); /* TSP_INT: XMDMADDR_7 */ @@ -669,8 +668,7 @@ static void __init universal_touchkey_init(void) i2c_gpio12_devs[0].irq = gpio_to_irq(gpio); gpio = EXYNOS4_GPE3(3); /* XMDMDATA_3 */ - gpio_request(gpio, 3_TOUCH_EN); - gpio_direction_output(gpio, 1); + gpio_request_one(gpio, GPIOF_OUT_INIT_HIGH, 3_TOUCH_EN); } static struct s3c2410_platform_i2c universal_i2c0_platdata __initdata = { @@ -1000,9 +998,7 @@ static void __init universal_map_io(void) void s5p_tv_setup(void) { /* direct HPD to HDMI chip */ - gpio_request(EXYNOS4_GPX3(7), hpd-plug); - - gpio_direction_input(EXYNOS4_GPX3(7)); + gpio_request_one(EXYNOS4_GPX3(7), GPIOF_IN, hpd-plug); s3c_gpio_cfgpin(EXYNOS4_GPX3(7), S3C_GPIO_SFN(0x3)); s3c_gpio_setpull(EXYNOS4_GPX3(7), S3C_GPIO_PULL_NONE); -- 1.7.1 -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] ARM: EXYNOS: Use gpio_request_one
By using gpio_request_one it is possible to set the direction and initial value in one shot. Thus, using gpio_request_one can make the code simpler. Signed-off-by: Jingoo Han jg1@samsung.com --- arch/arm/mach-exynos/mach-nuri.c |4 +--- arch/arm/mach-exynos/mach-smdkv310.c |4 +--- arch/arm/mach-exynos/mach-universal_c210.c | 10 +++--- 3 files changed, 5 insertions(+), 13 deletions(-) diff --git a/arch/arm/mach-exynos/mach-nuri.c b/arch/arm/mach-exynos/mach-nuri.c index 236bbe1..c96de1f 100644 --- a/arch/arm/mach-exynos/mach-nuri.c +++ b/arch/arm/mach-exynos/mach-nuri.c @@ -249,9 +249,7 @@ static int nuri_bl_init(struct device *dev) { int ret, gpio = EXYNOS4_GPE2(3); - ret = gpio_request(gpio, LCD_LDO_EN); - if (!ret) - gpio_direction_output(gpio, 0); + ret = gpio_request_one(gpio, GPIOF_OUT_INIT_LOW, LCD_LD0_EN); return ret; } diff --git a/arch/arm/mach-exynos/mach-smdkv310.c b/arch/arm/mach-exynos/mach-smdkv310.c index cec2afa..cbf31bd 100644 --- a/arch/arm/mach-exynos/mach-smdkv310.c +++ b/arch/arm/mach-exynos/mach-smdkv310.c @@ -129,9 +129,7 @@ static void lcd_lte480wv_set_power(struct plat_lcd_data *pd, gpio_free(EXYNOS4_GPD0(1)); #endif /* fire nRESET on power up */ - gpio_request(EXYNOS4_GPX0(6), GPX0); - - gpio_direction_output(EXYNOS4_GPX0(6), 1); + gpio_request_one(EXYNOS4_GPX0(6), GPIOF_OUT_INIT_HIGH, GPX0); mdelay(100); gpio_set_value(EXYNOS4_GPX0(6), 0); diff --git a/arch/arm/mach-exynos/mach-universal_c210.c b/arch/arm/mach-exynos/mach-universal_c210.c index a2a177f..0a04cd6 100644 --- a/arch/arm/mach-exynos/mach-universal_c210.c +++ b/arch/arm/mach-exynos/mach-universal_c210.c @@ -608,8 +608,7 @@ static void __init universal_tsp_init(void) /* TSP_LDO_ON: XMDMADDR_11 */ gpio = EXYNOS4_GPE2(3); - gpio_request(gpio, TSP_LDO_ON); - gpio_direction_output(gpio, 1); + gpio_request_one(gpio, GPIOF_OUT_INIT_HIGH, TSP_LDO_ON); gpio_export(gpio, 0); /* TSP_INT: XMDMADDR_7 */ @@ -669,8 +668,7 @@ static void __init universal_touchkey_init(void) i2c_gpio12_devs[0].irq = gpio_to_irq(gpio); gpio = EXYNOS4_GPE3(3); /* XMDMDATA_3 */ - gpio_request(gpio, 3_TOUCH_EN); - gpio_direction_output(gpio, 1); + gpio_request_one(gpio, GPIOF_OUT_INIT_HIGH, 3_TOUCH_EN); } static struct s3c2410_platform_i2c universal_i2c0_platdata __initdata = { @@ -1000,9 +998,7 @@ static void __init universal_map_io(void) void s5p_tv_setup(void) { /* direct HPD to HDMI chip */ - gpio_request(EXYNOS4_GPX3(7), hpd-plug); - - gpio_direction_input(EXYNOS4_GPX3(7)); + gpio_request_one(EXYNOS4_GPX3(7), GPIOF_IN, hpd-plug); s3c_gpio_cfgpin(EXYNOS4_GPX3(7), S3C_GPIO_SFN(0x3)); s3c_gpio_setpull(EXYNOS4_GPX3(7), S3C_GPIO_PULL_NONE); -- 1.7.1 -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html