Skip to content

Commit

Permalink
leds: leds-lt3593: set devm_gpio_request_one() flags param correctly
Browse files Browse the repository at this point in the history
The devm_gpio_request_one() flags parameter was set to:

  GPIOF_DIR_OUT | state

GPIOF_DIR_OUT and GPIOF_DIR_IN are defined as below:

  GPIOF_DIR_OUT   (0 << 0)
  GPIOF_DIR_IN    (1 << 0)

So, when 'state' 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 devm_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 cooloney committed Apr 1, 2013
1 parent e9dd68c commit 84f6942
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions drivers/leds/leds-lt3593.c
Original file line number Diff line number Diff line change
Expand Up @@ -106,8 +106,9 @@ static int create_lt3593_led(const struct gpio_led *template,
if (!template->retain_state_suspended)
led_dat->cdev.flags |= LED_CORE_SUSPENDRESUME;

ret = devm_gpio_request_one(parent, template->gpio,
GPIOF_DIR_OUT | state, template->name);
ret = devm_gpio_request_one(parent, template->gpio, state ?
GPIOF_OUT_INIT_HIGH : GPIOF_OUT_INIT_LOW,
template->name);
if (ret < 0)
return ret;

Expand Down

0 comments on commit 84f6942

Please sign in to comment.