Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

leds: wm8350: Convert to devm_regulator_get()

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Bryan Wu <bryan.wu@canonical.com>

authored by

Axel Lin and committed by
Bryan Wu
490dcee9 ee539a93

+7 -22
+7 -22
drivers/leds/leds-wm8350.c
··· 201 201 struct regulator *isink, *dcdc; 202 202 struct wm8350_led *led; 203 203 struct wm8350_led_platform_data *pdata = pdev->dev.platform_data; 204 - int ret, i; 204 + int i; 205 205 206 206 if (pdata == NULL) { 207 207 dev_err(&pdev->dev, "no platform data\n"); ··· 214 214 return -EINVAL; 215 215 } 216 216 217 - isink = regulator_get(&pdev->dev, "led_isink"); 217 + isink = devm_regulator_get(&pdev->dev, "led_isink"); 218 218 if (IS_ERR(isink)) { 219 219 printk(KERN_ERR "%s: can't get ISINK\n", __func__); 220 220 return PTR_ERR(isink); 221 221 } 222 222 223 - dcdc = regulator_get(&pdev->dev, "led_vcc"); 223 + dcdc = devm_regulator_get(&pdev->dev, "led_vcc"); 224 224 if (IS_ERR(dcdc)) { 225 225 printk(KERN_ERR "%s: can't get DCDC\n", __func__); 226 - ret = PTR_ERR(dcdc); 227 - goto err_isink; 226 + return PTR_ERR(dcdc); 228 227 } 229 228 230 229 led = devm_kzalloc(&pdev->dev, sizeof(*led), GFP_KERNEL); 231 - if (led == NULL) { 232 - ret = -ENOMEM; 233 - goto err_dcdc; 234 - } 230 + if (led == NULL) 231 + return -ENOMEM; 235 232 236 233 led->cdev.brightness_set = wm8350_led_set; 237 234 led->cdev.default_trigger = pdata->default_trigger; ··· 254 257 led->value = LED_OFF; 255 258 platform_set_drvdata(pdev, led); 256 259 257 - ret = led_classdev_register(&pdev->dev, &led->cdev); 258 - if (ret < 0) 259 - goto err_dcdc; 260 - 261 - return 0; 262 - 263 - err_dcdc: 264 - regulator_put(dcdc); 265 - err_isink: 266 - regulator_put(isink); 267 - return ret; 260 + return led_classdev_register(&pdev->dev, &led->cdev); 268 261 } 269 262 270 263 static int wm8350_led_remove(struct platform_device *pdev) ··· 264 277 led_classdev_unregister(&led->cdev); 265 278 flush_work_sync(&led->work); 266 279 wm8350_led_disable(led); 267 - regulator_put(led->dcdc); 268 - regulator_put(led->isink); 269 280 return 0; 270 281 } 271 282