|
@@ -155,7 +155,8 @@ static int atmel_pwm_bl_probe(struct platform_device *pdev)
|
|
|
goto err_free_mem;
|
|
|
|
|
|
if (pwmbl->gpio_on != -1) {
|
|
|
- retval = gpio_request(pwmbl->gpio_on, "gpio_atmel_pwm_bl");
|
|
|
+ retval = devm_gpio_request(&pdev->dev, pwmbl->gpio_on,
|
|
|
+ "gpio_atmel_pwm_bl");
|
|
|
if (retval) {
|
|
|
pwmbl->gpio_on = -1;
|
|
|
goto err_free_pwm;
|
|
@@ -165,7 +166,7 @@ static int atmel_pwm_bl_probe(struct platform_device *pdev)
|
|
|
retval = gpio_direction_output(pwmbl->gpio_on,
|
|
|
0 ^ pdata->on_active_low);
|
|
|
if (retval)
|
|
|
- goto err_free_gpio;
|
|
|
+ goto err_free_pwm;
|
|
|
}
|
|
|
|
|
|
memset(&props, 0, sizeof(struct backlight_properties));
|
|
@@ -175,7 +176,7 @@ static int atmel_pwm_bl_probe(struct platform_device *pdev)
|
|
|
&atmel_pwm_bl_ops, &props);
|
|
|
if (IS_ERR(bldev)) {
|
|
|
retval = PTR_ERR(bldev);
|
|
|
- goto err_free_gpio;
|
|
|
+ goto err_free_pwm;
|
|
|
}
|
|
|
|
|
|
pwmbl->bldev = bldev;
|
|
@@ -197,9 +198,6 @@ static int atmel_pwm_bl_probe(struct platform_device *pdev)
|
|
|
err_free_bl_dev:
|
|
|
platform_set_drvdata(pdev, NULL);
|
|
|
backlight_device_unregister(bldev);
|
|
|
-err_free_gpio:
|
|
|
- if (pwmbl->gpio_on != -1)
|
|
|
- gpio_free(pwmbl->gpio_on);
|
|
|
err_free_pwm:
|
|
|
pwm_channel_free(&pwmbl->pwmc);
|
|
|
err_free_mem:
|
|
@@ -210,10 +208,8 @@ static int __exit atmel_pwm_bl_remove(struct platform_device *pdev)
|
|
|
{
|
|
|
struct atmel_pwm_bl *pwmbl = platform_get_drvdata(pdev);
|
|
|
|
|
|
- if (pwmbl->gpio_on != -1) {
|
|
|
+ if (pwmbl->gpio_on != -1)
|
|
|
gpio_set_value(pwmbl->gpio_on, 0);
|
|
|
- gpio_free(pwmbl->gpio_on);
|
|
|
- }
|
|
|
pwm_channel_disable(&pwmbl->pwmc);
|
|
|
pwm_channel_free(&pwmbl->pwmc);
|
|
|
backlight_device_unregister(pwmbl->bldev);
|