backlight: atmel-pwm-bl: use devm_gpio_request()
The devm_ functions allocate memory that is released when a driver detaches. This patch uses devm_gpio_request() for these functions. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Cc: Hans-Christian Egtvedt <egtvedt@samfundet.no> Cc: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
b4a74615a4
Коммит
5f9dd5c9fd
|
@ -155,7 +155,8 @@ static int atmel_pwm_bl_probe(struct platform_device *pdev)
|
||||||
goto err_free_mem;
|
goto err_free_mem;
|
||||||
|
|
||||||
if (pwmbl->gpio_on != -1) {
|
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) {
|
if (retval) {
|
||||||
pwmbl->gpio_on = -1;
|
pwmbl->gpio_on = -1;
|
||||||
goto err_free_pwm;
|
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,
|
retval = gpio_direction_output(pwmbl->gpio_on,
|
||||||
0 ^ pdata->on_active_low);
|
0 ^ pdata->on_active_low);
|
||||||
if (retval)
|
if (retval)
|
||||||
goto err_free_gpio;
|
goto err_free_pwm;
|
||||||
}
|
}
|
||||||
|
|
||||||
memset(&props, 0, sizeof(struct backlight_properties));
|
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);
|
&atmel_pwm_bl_ops, &props);
|
||||||
if (IS_ERR(bldev)) {
|
if (IS_ERR(bldev)) {
|
||||||
retval = PTR_ERR(bldev);
|
retval = PTR_ERR(bldev);
|
||||||
goto err_free_gpio;
|
goto err_free_pwm;
|
||||||
}
|
}
|
||||||
|
|
||||||
pwmbl->bldev = bldev;
|
pwmbl->bldev = bldev;
|
||||||
|
@ -197,9 +198,6 @@ static int atmel_pwm_bl_probe(struct platform_device *pdev)
|
||||||
err_free_bl_dev:
|
err_free_bl_dev:
|
||||||
platform_set_drvdata(pdev, NULL);
|
platform_set_drvdata(pdev, NULL);
|
||||||
backlight_device_unregister(bldev);
|
backlight_device_unregister(bldev);
|
||||||
err_free_gpio:
|
|
||||||
if (pwmbl->gpio_on != -1)
|
|
||||||
gpio_free(pwmbl->gpio_on);
|
|
||||||
err_free_pwm:
|
err_free_pwm:
|
||||||
pwm_channel_free(&pwmbl->pwmc);
|
pwm_channel_free(&pwmbl->pwmc);
|
||||||
err_free_mem:
|
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);
|
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_set_value(pwmbl->gpio_on, 0);
|
||||||
gpio_free(pwmbl->gpio_on);
|
|
||||||
}
|
|
||||||
pwm_channel_disable(&pwmbl->pwmc);
|
pwm_channel_disable(&pwmbl->pwmc);
|
||||||
pwm_channel_free(&pwmbl->pwmc);
|
pwm_channel_free(&pwmbl->pwmc);
|
||||||
backlight_device_unregister(pwmbl->bldev);
|
backlight_device_unregister(pwmbl->bldev);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче