Re: [PATCH 1/3] leds: leds-lt3593: set devm_gpio_request_one() flags param correctly

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Mar 7, 2013 at 6:37 PM, Jingoo Han <jg1.han@xxxxxxxxxxx> wrote:
> 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().
>

Good catch, I will merge these 3 patches.

Thanks,
-Bryan

> Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx>
> ---
>  drivers/leds/leds-lt3593.c |    5 +++--
>  1 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/leds/leds-lt3593.c b/drivers/leds/leds-lt3593.c
> index c9b9e1f..ca48a7d 100644
> --- a/drivers/leds/leds-lt3593.c
> +++ b/drivers/leds/leds-lt3593.c
> @@ -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;
>
> --
> 1.7.2.5
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-leds" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux