regulator: wm831x-isink: Convert to devm_regulator_register()

Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
Mark Brown 2013-08-31 11:59:57 +01:00
parent d73b4cb7b3
commit af151ded1b
1 changed files with 3 additions and 14 deletions

View File

@ -194,7 +194,8 @@ static int wm831x_isink_probe(struct platform_device *pdev)
config.init_data = pdata->isink[id]; config.init_data = pdata->isink[id];
config.driver_data = isink; config.driver_data = isink;
isink->regulator = regulator_register(&isink->desc, &config); isink->regulator = devm_regulator_register(&pdev->dev, &isink->desc,
&config);
if (IS_ERR(isink->regulator)) { if (IS_ERR(isink->regulator)) {
ret = PTR_ERR(isink->regulator); ret = PTR_ERR(isink->regulator);
dev_err(wm831x->dev, "Failed to register ISINK%d: %d\n", dev_err(wm831x->dev, "Failed to register ISINK%d: %d\n",
@ -210,31 +211,19 @@ static int wm831x_isink_probe(struct platform_device *pdev)
if (ret != 0) { if (ret != 0) {
dev_err(&pdev->dev, "Failed to request ISINK IRQ %d: %d\n", dev_err(&pdev->dev, "Failed to request ISINK IRQ %d: %d\n",
irq, ret); irq, ret);
goto err_regulator; goto err;
} }
platform_set_drvdata(pdev, isink); platform_set_drvdata(pdev, isink);
return 0; return 0;
err_regulator:
regulator_unregister(isink->regulator);
err: err:
return ret; return ret;
} }
static int wm831x_isink_remove(struct platform_device *pdev)
{
struct wm831x_isink *isink = platform_get_drvdata(pdev);
regulator_unregister(isink->regulator);
return 0;
}
static struct platform_driver wm831x_isink_driver = { static struct platform_driver wm831x_isink_driver = {
.probe = wm831x_isink_probe, .probe = wm831x_isink_probe,
.remove = wm831x_isink_remove,
.driver = { .driver = {
.name = "wm831x-isink", .name = "wm831x-isink",
.owner = THIS_MODULE, .owner = THIS_MODULE,