aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/leds
diff options
context:
space:
mode:
authorSachin Kamat <sachin.kamat@linaro.org>2012-09-11 07:42:10 -0400
committerBryan Wu <bryan.wu@canonical.com>2012-09-12 03:04:16 -0400
commita47df97c9936cff6d31f03e12651ad897e0e374c (patch)
tree57e7bd8f233529d12f82a6a315d1501db788d383 /drivers/leds
parent8fe4554f675c5822a0e12382e6843965ffd11c30 (diff)
leds-lm3530: Use devm_regulator_get function
Device managed functions are already used in this file. Hence convert regulator_get() too to use it. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
Diffstat (limited to 'drivers/leds')
-rw-r--r--drivers/leds/leds-lm3530.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/drivers/leds/leds-lm3530.c b/drivers/leds/leds-lm3530.c
index 23637bdb275d..1e7ed2abfdcc 100644
--- a/drivers/leds/leds-lm3530.c
+++ b/drivers/leds/leds-lm3530.c
@@ -416,7 +416,7 @@ static int __devinit lm3530_probe(struct i2c_client *client,
416 416
417 i2c_set_clientdata(client, drvdata); 417 i2c_set_clientdata(client, drvdata);
418 418
419 drvdata->regulator = regulator_get(&client->dev, "vin"); 419 drvdata->regulator = devm_regulator_get(&client->dev, "vin");
420 if (IS_ERR(drvdata->regulator)) { 420 if (IS_ERR(drvdata->regulator)) {
421 dev_err(&client->dev, "regulator get failed\n"); 421 dev_err(&client->dev, "regulator get failed\n");
422 err = PTR_ERR(drvdata->regulator); 422 err = PTR_ERR(drvdata->regulator);
@@ -429,15 +429,13 @@ static int __devinit lm3530_probe(struct i2c_client *client,
429 if (err < 0) { 429 if (err < 0) {
430 dev_err(&client->dev, 430 dev_err(&client->dev,
431 "Register Init failed: %d\n", err); 431 "Register Init failed: %d\n", err);
432 err = -ENODEV; 432 return -ENODEV;
433 goto err_reg_init;
434 } 433 }
435 } 434 }
436 err = led_classdev_register(&client->dev, &drvdata->led_dev); 435 err = led_classdev_register(&client->dev, &drvdata->led_dev);
437 if (err < 0) { 436 if (err < 0) {
438 dev_err(&client->dev, "Register led class failed: %d\n", err); 437 dev_err(&client->dev, "Register led class failed: %d\n", err);
439 err = -ENODEV; 438 return -ENODEV;
440 goto err_class_register;
441 } 439 }
442 440
443 err = device_create_file(drvdata->led_dev.dev, &dev_attr_mode); 441 err = device_create_file(drvdata->led_dev.dev, &dev_attr_mode);
@@ -451,9 +449,6 @@ static int __devinit lm3530_probe(struct i2c_client *client,
451 449
452err_create_file: 450err_create_file:
453 led_classdev_unregister(&drvdata->led_dev); 451 led_classdev_unregister(&drvdata->led_dev);
454err_class_register:
455err_reg_init:
456 regulator_put(drvdata->regulator);
457 return err; 452 return err;
458} 453}
459 454
@@ -465,7 +460,6 @@ static int __devexit lm3530_remove(struct i2c_client *client)
465 460
466 if (drvdata->enable) 461 if (drvdata->enable)
467 regulator_disable(drvdata->regulator); 462 regulator_disable(drvdata->regulator);
468 regulator_put(drvdata->regulator);
469 led_classdev_unregister(&drvdata->led_dev); 463 led_classdev_unregister(&drvdata->led_dev);
470 return 0; 464 return 0;
471} 465}