提交 f1b60d46 编写于 作者: J Jingoo Han 提交者: Linus Torvalds

drivers/video/backlight/ot200_bl.c: use devm_ functions

The devm_ functions allocate memory that is released when a driver
detaches. This patch uses devm_kzalloc of these functions
Signed-off-by: NJingoo Han <jg1.han@samsung.com>
Cc: Christian Gmeiner <christian.gmeiner@gmail.com>
Cc: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 a4be29ac
...@@ -97,10 +97,10 @@ static int ot200_backlight_probe(struct platform_device *pdev) ...@@ -97,10 +97,10 @@ static int ot200_backlight_probe(struct platform_device *pdev)
goto error_mfgpt_alloc; goto error_mfgpt_alloc;
} }
data = kzalloc(sizeof(*data), GFP_KERNEL); data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
if (!data) { if (!data) {
retval = -ENOMEM; retval = -ENOMEM;
goto error_kzalloc; goto error_devm_kzalloc;
} }
/* setup gpio */ /* setup gpio */
...@@ -122,16 +122,14 @@ static int ot200_backlight_probe(struct platform_device *pdev) ...@@ -122,16 +122,14 @@ static int ot200_backlight_probe(struct platform_device *pdev)
if (IS_ERR(bl)) { if (IS_ERR(bl)) {
dev_err(&pdev->dev, "failed to register backlight\n"); dev_err(&pdev->dev, "failed to register backlight\n");
retval = PTR_ERR(bl); retval = PTR_ERR(bl);
goto error_backlight_device_register; goto error_devm_kzalloc;
} }
platform_set_drvdata(pdev, bl); platform_set_drvdata(pdev, bl);
return 0; return 0;
error_backlight_device_register: error_devm_kzalloc:
kfree(data);
error_kzalloc:
cs5535_mfgpt_free_timer(pwm_timer); cs5535_mfgpt_free_timer(pwm_timer);
error_mfgpt_alloc: error_mfgpt_alloc:
gpio_free(GPIO_DIMM); gpio_free(GPIO_DIMM);
...@@ -141,7 +139,6 @@ static int ot200_backlight_probe(struct platform_device *pdev) ...@@ -141,7 +139,6 @@ static int ot200_backlight_probe(struct platform_device *pdev)
static int ot200_backlight_remove(struct platform_device *pdev) static int ot200_backlight_remove(struct platform_device *pdev)
{ {
struct backlight_device *bl = platform_get_drvdata(pdev); struct backlight_device *bl = platform_get_drvdata(pdev);
struct ot200_backlight_data *data = bl_get_data(bl);
backlight_device_unregister(bl); backlight_device_unregister(bl);
...@@ -154,7 +151,6 @@ static int ot200_backlight_remove(struct platform_device *pdev) ...@@ -154,7 +151,6 @@ static int ot200_backlight_remove(struct platform_device *pdev)
cs5535_mfgpt_free_timer(pwm_timer); cs5535_mfgpt_free_timer(pwm_timer);
gpio_free(GPIO_DIMM); gpio_free(GPIO_DIMM);
kfree(data);
return 0; return 0;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册