]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
drivers/video/backlight/ld9040.c: use devm_regulator_bulk_get() API
authorSachin Kamat <sachin.kamat@linaro.org>
Wed, 20 Feb 2013 02:15:27 +0000 (13:15 +1100)
committerStephen Rothwell <sfr@canb.auug.org.au>
Wed, 20 Feb 2013 05:53:15 +0000 (16:53 +1100)
devm_regulator_bulk_get is device managed and saves some cleanup
and exit code.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Donghwa Lee <dh09.lee@samsung.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
drivers/video/backlight/ld9040.c

index 24f2c9aa10f189c879c8a58a1236c8901a85501e..1b642f5f381a2d448fc63418063032b5f23756d2 100644 (file)
@@ -710,17 +710,15 @@ static int ld9040_probe(struct spi_device *spi)
 
        mutex_init(&lcd->lock);
 
-       ret = regulator_bulk_get(lcd->dev, ARRAY_SIZE(supplies), supplies);
+       ret = devm_regulator_bulk_get(lcd->dev, ARRAY_SIZE(supplies), supplies);
        if (ret) {
                dev_err(lcd->dev, "Failed to get regulators: %d\n", ret);
                return ret;
        }
 
        ld = lcd_device_register("ld9040", &spi->dev, lcd, &ld9040_lcd_ops);
-       if (IS_ERR(ld)) {
-               ret = PTR_ERR(ld);
-               goto out_free_regulator;
-       }
+       if (IS_ERR(ld))
+               return PTR_ERR(ld);
 
        lcd->ld = ld;
 
@@ -762,8 +760,6 @@ static int ld9040_probe(struct spi_device *spi)
 
 out_unregister_lcd:
        lcd_device_unregister(lcd->ld);
-out_free_regulator:
-       regulator_bulk_free(ARRAY_SIZE(supplies), supplies);
 
        return ret;
 }
@@ -775,7 +771,6 @@ static int ld9040_remove(struct spi_device *spi)
        ld9040_power(lcd, FB_BLANK_POWERDOWN);
        backlight_device_unregister(lcd->bd);
        lcd_device_unregister(lcd->ld);
-       regulator_bulk_free(ARRAY_SIZE(supplies), supplies);
 
        return 0;
 }