Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 490dcee9 authored by Axel Lin's avatar Axel Lin Committed by Bryan Wu
Browse files

leds: wm8350: Convert to devm_regulator_get()



Signed-off-by: default avatarAxel Lin <axel.lin@gmail.com>
Signed-off-by: default avatarBryan Wu <bryan.wu@canonical.com>
parent ee539a93
Loading
Loading
Loading
Loading
+7 −22
Original line number Diff line number Diff line
@@ -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;
}