leds-lm3530: Use devm_regulator_get function
authorSachin Kamat <sachin.kamat@linaro.org>
Tue, 11 Sep 2012 11:42:10 +0000 (19:42 +0800)
committerBryan Wu <bryan.wu@canonical.com>
Wed, 12 Sep 2012 07:04:16 +0000 (15:04 +0800)
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>
drivers/leds/leds-lm3530.c

index 23637bd..1e7ed2a 100644 (file)
@@ -416,7 +416,7 @@ static int __devinit lm3530_probe(struct i2c_client *client,
 
        i2c_set_clientdata(client, drvdata);
 
-       drvdata->regulator = regulator_get(&client->dev, "vin");
+       drvdata->regulator = devm_regulator_get(&client->dev, "vin");
        if (IS_ERR(drvdata->regulator)) {
                dev_err(&client->dev, "regulator get failed\n");
                err = PTR_ERR(drvdata->regulator);
@@ -429,15 +429,13 @@ static int __devinit lm3530_probe(struct i2c_client *client,
                if (err < 0) {
                        dev_err(&client->dev,
                                "Register Init failed: %d\n", err);
-                       err = -ENODEV;
-                       goto err_reg_init;
+                       return -ENODEV;
                }
        }
        err = led_classdev_register(&client->dev, &drvdata->led_dev);
        if (err < 0) {
                dev_err(&client->dev, "Register led class failed: %d\n", err);
-               err = -ENODEV;
-               goto err_class_register;
+               return -ENODEV;
        }
 
        err = device_create_file(drvdata->led_dev.dev, &dev_attr_mode);
@@ -451,9 +449,6 @@ static int __devinit lm3530_probe(struct i2c_client *client,
 
 err_create_file:
        led_classdev_unregister(&drvdata->led_dev);
-err_class_register:
-err_reg_init:
-       regulator_put(drvdata->regulator);
        return err;
 }
 
@@ -465,7 +460,6 @@ static int __devexit lm3530_remove(struct i2c_client *client)
 
        if (drvdata->enable)
                regulator_disable(drvdata->regulator);
-       regulator_put(drvdata->regulator);
        led_classdev_unregister(&drvdata->led_dev);
        return 0;
 }