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>
This commit is contained in:
parent
9d04cbaadf
commit
901b74a3c4
1 changed files with 2 additions and 1 deletions
|
@ -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);
|
gpio_free(cfg->pin_gpio_fn);
|
||||||
|
|
||||||
if (new_state == R_TPU_PIN_GPIO)
|
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);
|
cfg->name);
|
||||||
|
|
||||||
if (new_state == R_TPU_PIN_GPIO_FN)
|
if (new_state == R_TPU_PIN_GPIO_FN)
|
||||||
|
|
Loading…
Reference in a new issue