diff options
author | Sachin Kamat <sachin.kamat@linaro.org> | 2013-09-04 02:31:02 -0400 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2013-09-16 19:28:42 -0400 |
commit | 1377530910da1502b07d09df1a368ce9a246c114 (patch) | |
tree | 329d81ac2ecfa6eca0efc915dce532baab50f8a5 | |
parent | 51c86b3eb80ebe0a35aba5ba3e96b22d61043ad1 (diff) |
regulator: rc5t583: Use devm_regulator_register
devm_* simplifies the code.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Acked-by: Marek Vasut <marex@denx.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
-rw-r--r-- | drivers/regulator/rc5t583-regulator.c | 22 |
1 files changed, 2 insertions, 20 deletions
diff --git a/drivers/regulator/rc5t583-regulator.c b/drivers/regulator/rc5t583-regulator.c index 5885b4504596..b58affb33143 100644 --- a/drivers/regulator/rc5t583-regulator.c +++ b/drivers/regulator/rc5t583-regulator.c | |||
@@ -173,33 +173,16 @@ skip_ext_pwr_config: | |||
173 | config.driver_data = reg; | 173 | config.driver_data = reg; |
174 | config.regmap = rc5t583->regmap; | 174 | config.regmap = rc5t583->regmap; |
175 | 175 | ||
176 | rdev = regulator_register(&ri->desc, &config); | 176 | rdev = devm_regulator_register(&pdev->dev, &ri->desc, &config); |
177 | if (IS_ERR(rdev)) { | 177 | if (IS_ERR(rdev)) { |
178 | dev_err(&pdev->dev, "Failed to register regulator %s\n", | 178 | dev_err(&pdev->dev, "Failed to register regulator %s\n", |
179 | ri->desc.name); | 179 | ri->desc.name); |
180 | ret = PTR_ERR(rdev); | 180 | return PTR_ERR(rdev); |
181 | goto clean_exit; | ||
182 | } | 181 | } |
183 | reg->rdev = rdev; | 182 | reg->rdev = rdev; |
184 | } | 183 | } |
185 | platform_set_drvdata(pdev, regs); | 184 | platform_set_drvdata(pdev, regs); |
186 | return 0; | 185 | return 0; |
187 | |||
188 | clean_exit: | ||
189 | while (--id >= 0) | ||
190 | regulator_unregister(regs[id].rdev); | ||
191 | |||
192 | return ret; | ||
193 | } | ||
194 | |||
195 | static int rc5t583_regulator_remove(struct platform_device *pdev) | ||
196 | { | ||
197 | struct rc5t583_regulator *regs = platform_get_drvdata(pdev); | ||
198 | int id; | ||
199 | |||
200 | for (id = 0; id < RC5T583_REGULATOR_MAX; ++id) | ||
201 | regulator_unregister(regs[id].rdev); | ||
202 | return 0; | ||
203 | } | 186 | } |
204 | 187 | ||
205 | static struct platform_driver rc5t583_regulator_driver = { | 188 | static struct platform_driver rc5t583_regulator_driver = { |
@@ -208,7 +191,6 @@ static struct platform_driver rc5t583_regulator_driver = { | |||
208 | .owner = THIS_MODULE, | 191 | .owner = THIS_MODULE, |
209 | }, | 192 | }, |
210 | .probe = rc5t583_regulator_probe, | 193 | .probe = rc5t583_regulator_probe, |
211 | .remove = rc5t583_regulator_remove, | ||
212 | }; | 194 | }; |
213 | 195 | ||
214 | static int __init rc5t583_regulator_init(void) | 196 | static int __init rc5t583_regulator_init(void) |