Re: [PATCH] leds: regulator: Convert to devm_regulator_get_exclusive

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

 



On Fri, Oct 24, 2014 at 7:45 AM, Axel Lin <axel.lin@xxxxxxxxxx> wrote:
> Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx>

Good move, I will merge it.

Thanks,
-Bryan


> ---
>  drivers/leds/leds-regulator.c | 18 +++++-------------
>  1 file changed, 5 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/leds/leds-regulator.c b/drivers/leds/leds-regulator.c
> index 358430d..a6354f1 100644
> --- a/drivers/leds/leds-regulator.c
> +++ b/drivers/leds/leds-regulator.c
> @@ -153,24 +153,21 @@ static int regulator_led_probe(struct platform_device *pdev)
>                 return -ENODEV;
>         }
>
> -       vcc = regulator_get_exclusive(&pdev->dev, "vled");
> +       vcc = devm_regulator_get_exclusive(&pdev->dev, "vled");
>         if (IS_ERR(vcc)) {
>                 dev_err(&pdev->dev, "Cannot get vcc for %s\n", pdata->name);
>                 return PTR_ERR(vcc);
>         }
>
>         led = devm_kzalloc(&pdev->dev, sizeof(*led), GFP_KERNEL);
> -       if (led == NULL) {
> -               ret = -ENOMEM;
> -               goto err_vcc;
> -       }
> +       if (led == NULL)
> +               return -ENOMEM;
>
>         led->cdev.max_brightness = led_regulator_get_max_brightness(vcc);
>         if (pdata->brightness > led->cdev.max_brightness) {
>                 dev_err(&pdev->dev, "Invalid default brightness %d\n",
>                                 pdata->brightness);
> -               ret = -EINVAL;
> -               goto err_vcc;
> +               return -EINVAL;
>         }
>         led->value = pdata->brightness;
>
> @@ -191,7 +188,7 @@ static int regulator_led_probe(struct platform_device *pdev)
>         ret = led_classdev_register(&pdev->dev, &led->cdev);
>         if (ret < 0) {
>                 cancel_work_sync(&led->work);
> -               goto err_vcc;
> +               return ret;
>         }
>
>         /* to expose the default value to userspace */
> @@ -201,10 +198,6 @@ static int regulator_led_probe(struct platform_device *pdev)
>         regulator_led_set_value(led);
>
>         return 0;
> -
> -err_vcc:
> -       regulator_put(vcc);
> -       return ret;
>  }
>
>  static int regulator_led_remove(struct platform_device *pdev)
> @@ -214,7 +207,6 @@ static int regulator_led_remove(struct platform_device *pdev)
>         led_classdev_unregister(&led->cdev);
>         cancel_work_sync(&led->work);
>         regulator_led_disable(led);
> -       regulator_put(led->vcc);
>         return 0;
>  }
>
> --
> 1.9.1
>
>
>
--
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