Thanks, it's a good change. I've applied it to my for-next branch. -Bryan
On Fri, Aug 10, 2012 at 10:08 AM, Axel Lin <axel....@gmail.com> wrote: > Signed-off-by: Axel Lin <axel....@gmail.com> > --- > drivers/leds/leds-wm8350.c | 29 +++++++---------------------- > 1 file changed, 7 insertions(+), 22 deletions(-) > > diff --git a/drivers/leds/leds-wm8350.c b/drivers/leds/leds-wm8350.c > index 918d4ba..f5d9ac3 100644 > --- a/drivers/leds/leds-wm8350.c > +++ b/drivers/leds/leds-wm8350.c > @@ -201,7 +201,7 @@ static int wm8350_led_probe(struct platform_device *pdev) > struct regulator *isink, *dcdc; > struct wm8350_led *led; > struct wm8350_led_platform_data *pdata = pdev->dev.platform_data; > - int ret, i; > + int i; > > if (pdata == NULL) { > dev_err(&pdev->dev, "no platform data\n"); > @@ -214,24 +214,21 @@ static int wm8350_led_probe(struct platform_device > *pdev) > return -EINVAL; > } > > - isink = regulator_get(&pdev->dev, "led_isink"); > + isink = devm_regulator_get(&pdev->dev, "led_isink"); > if (IS_ERR(isink)) { > printk(KERN_ERR "%s: can't get ISINK\n", __func__); > return PTR_ERR(isink); > } > > - dcdc = regulator_get(&pdev->dev, "led_vcc"); > + dcdc = devm_regulator_get(&pdev->dev, "led_vcc"); > if (IS_ERR(dcdc)) { > printk(KERN_ERR "%s: can't get DCDC\n", __func__); > - ret = PTR_ERR(dcdc); > - goto err_isink; > + return PTR_ERR(dcdc); > } > > led = devm_kzalloc(&pdev->dev, sizeof(*led), GFP_KERNEL); > - if (led == NULL) { > - ret = -ENOMEM; > - goto err_dcdc; > - } > + if (led == NULL) > + return -ENOMEM; > > led->cdev.brightness_set = wm8350_led_set; > led->cdev.default_trigger = pdata->default_trigger; > @@ -257,17 +254,7 @@ static int wm8350_led_probe(struct platform_device *pdev) > led->value = LED_OFF; > platform_set_drvdata(pdev, led); > > - ret = led_classdev_register(&pdev->dev, &led->cdev); > - if (ret < 0) > - goto err_dcdc; > - > - return 0; > - > - err_dcdc: > - regulator_put(dcdc); > - err_isink: > - regulator_put(isink); > - return ret; > + return led_classdev_register(&pdev->dev, &led->cdev); > } > > static int wm8350_led_remove(struct platform_device *pdev) > @@ -277,8 +264,6 @@ static int wm8350_led_remove(struct platform_device *pdev) > led_classdev_unregister(&led->cdev); > flush_work_sync(&led->work); > wm8350_led_disable(led); > - regulator_put(led->dcdc); > - regulator_put(led->isink); > return 0; > } > > -- > 1.7.9.5 > > > -- Bryan Wu <bryan...@canonical.com> Kernel Developer +86.186-168-78255 Mobile Canonical Ltd. www.canonical.com Ubuntu - Linux for human beings | www.ubuntu.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/