diff options
| author | Jingoo Han <jg1.han@samsung.com> | 2013-03-07 18:39:04 -0800 | 
|---|---|---|
| committer | Bryan Wu <cooloney@gmail.com> | 2013-04-01 11:04:49 -0700 | 
| commit | 901b74a3c4044a07c7149365aa9c4eaa6c71964b (patch) | |
| tree | d4f60671f442adc1130dfc37907f2d162c68efd4 | |
| parent | 9d04cbaadf563db3ba04426c317d3e84bc27bac1 (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>
| -rw-r--r-- | drivers/leds/leds-renesas-tpu.c | 3 | 
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,  		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)  | 
