aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/regulator/wm8994-regulator.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/regulator/wm8994-regulator.c')
-rw-r--r--drivers/regulator/wm8994-regulator.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/drivers/regulator/wm8994-regulator.c b/drivers/regulator/wm8994-regulator.c
index 5ee2a208457c..71c5911f2e71 100644
--- a/drivers/regulator/wm8994-regulator.c
+++ b/drivers/regulator/wm8994-regulator.c
@@ -165,7 +165,9 @@ static int wm8994_ldo_probe(struct platform_device *pdev)
165 ldo->init_data = *pdata->ldo[id].init_data; 165 ldo->init_data = *pdata->ldo[id].init_data;
166 } 166 }
167 167
168 ldo->regulator = regulator_register(&wm8994_ldo_desc[id], &config); 168 ldo->regulator = devm_regulator_register(&pdev->dev,
169 &wm8994_ldo_desc[id],
170 &config);
169 if (IS_ERR(ldo->regulator)) { 171 if (IS_ERR(ldo->regulator)) {
170 ret = PTR_ERR(ldo->regulator); 172 ret = PTR_ERR(ldo->regulator);
171 dev_err(wm8994->dev, "Failed to register LDO%d: %d\n", 173 dev_err(wm8994->dev, "Failed to register LDO%d: %d\n",
@@ -181,18 +183,8 @@ err:
181 return ret; 183 return ret;
182} 184}
183 185
184static int wm8994_ldo_remove(struct platform_device *pdev)
185{
186 struct wm8994_ldo *ldo = platform_get_drvdata(pdev);
187
188 regulator_unregister(ldo->regulator);
189
190 return 0;
191}
192
193static struct platform_driver wm8994_ldo_driver = { 186static struct platform_driver wm8994_ldo_driver = {
194 .probe = wm8994_ldo_probe, 187 .probe = wm8994_ldo_probe,
195 .remove = wm8994_ldo_remove,
196 .driver = { 188 .driver = {
197 .name = "wm8994-ldo", 189 .name = "wm8994-ldo",
198 .owner = THIS_MODULE, 190 .owner = THIS_MODULE,