Skip to content

Commit

Permalink
leds: renesas: set gpio_request_one() flags param correctly
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Jingoo Han authored and Bryan Wu committed Apr 1, 2013
1 parent 9d04cba commit 901b74a
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion drivers/leds/leds-renesas-tpu.c
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,8 @@ static void r_tpu_set_pin(struct r_tpu_priv *p, enum r_tpu_pin new_state,
gpio_free(cfg->pin_gpio_fn);

if (new_state == R_TPU_PIN_GPIO)
gpio_request_one(cfg->pin_gpio, GPIOF_DIR_OUT | !!brightness,
gpio_request_one(cfg->pin_gpio, !!brightness ?
GPIOF_OUT_INIT_HIGH : GPIOF_OUT_INIT_LOW,
cfg->name);

if (new_state == R_TPU_PIN_GPIO_FN)
Expand Down

0 comments on commit 901b74a

Please sign in to comment.