aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/leds
diff options
context:
space:
mode:
authorJingoo Han <jg1.han@samsung.com>2013-03-07 21:39:04 -0500
committerBryan Wu <cooloney@gmail.com>2013-04-01 14:04:49 -0400
commit901b74a3c4044a07c7149365aa9c4eaa6c71964b (patch)
treed4f60671f442adc1130dfc37907f2d162c68efd4 /drivers/leds
parent9d04cbaadf563db3ba04426c317d3e84bc27bac1 (diff)
leds: renesas: set gpio_request_one() flags param correctly
The gpio_request_one() flags parameter was set to: GPIOF_DIR_OUT | !!brightness GPIOF_DIR_OUT and GPIOF_DIR_IN are defined as below: GPIOF_DIR_OUT (0 << 0) GPIOF_DIR_IN (1 << 0) So, when '!!brightness' is 1, the gpio pin can be set as input, instead of output. To prevent this problem, GPIOF_OUT_INIT flags should be used when using gpio_request_one(). Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Bryan Wu <cooloney@gmail.com>
Diffstat (limited to 'drivers/leds')
-rw-r--r--drivers/leds/leds-renesas-tpu.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/leds/leds-renesas-tpu.c b/drivers/leds/leds-renesas-tpu.c
index d3c2b7e68fbc..9483f1c1078d 100644
--- a/drivers/leds/leds-renesas-tpu.c
+++ b/drivers/leds/leds-renesas-tpu.c
@@ -205,7 +205,8 @@ static void r_tpu_set_pin(struct r_tpu_priv *p, enum r_tpu_pin new_state,
205 gpio_free(cfg->pin_gpio_fn); 205 gpio_free(cfg->pin_gpio_fn);
206 206
207 if (new_state == R_TPU_PIN_GPIO) 207 if (new_state == R_TPU_PIN_GPIO)
208 gpio_request_one(cfg->pin_gpio, GPIOF_DIR_OUT | !!brightness, 208 gpio_request_one(cfg->pin_gpio, !!brightness ?
209 GPIOF_OUT_INIT_HIGH : GPIOF_OUT_INIT_LOW,
209 cfg->name); 210 cfg->name);
210 211
211 if (new_state == R_TPU_PIN_GPIO_FN) 212 if (new_state == R_TPU_PIN_GPIO_FN)