RE: [PATCH] ARM: EXYNOS: Use gpio_request_one

2011-12-20 Thread Kukjin Kim
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

2011-12-20 Thread Jingoo Han
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

2011-12-11 Thread Jingoo Han
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