leds: wm8350: Convert to devm_regulator_get()
Subsystems (2)
PATCH 1/1 leds: wm8350: Convert to devm_regulator_get()
Signed-off-by Axel Lin <[email protected]>
--- drivers/leds/leds-wm8350.c | 29 +++++++---------------------- 1 file changed, 7 insertions(+), 22 deletions(-)
drivers/leds/leds-wm8350.c +7 -22
@@ -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 ; }
Signature · 1 line
1.7.9.5
Thanks, it's a good change. I've applied it to my for-next branch.
-Bryan
Quoted 81 lines · Axel Lin
Signed-off-by Axel Lin <[email protected]>--- drivers/leds/leds-wm8350.c | 29 +++++++---------------------- 1 file changed, 7 insertions(+), 22 deletions(-)drivers/leds/leds-wm8350.c +7
-23@@ -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
Signature · 4 lines
Bryan Wu <[email protected]> Kernel Developer +86.186-168-78255 Mobile Canonical Ltd. www.canonical.com Ubuntu - Linux for human beings | www.ubuntu.com