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;
 
 
 out_unregister_lcd:
        lcd_device_unregister(lcd->ld);
-out_free_regulator:
-       regulator_bulk_free(ARRAY_SIZE(supplies), supplies);
 
        return ret;
 }
        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;
 }