leds-88pm860x: use devm_kzalloc function
PATCH 1/1 leds-88pm860x: use devm_kzalloc function
Using devm_kzalloc will remove all the error checks and the frees are automatically done at the driver unload side.
Signed-off-by Devendra Naga <[email protected]>
---
Thanks Bryan for advising me.. ;-)
drivers/leds/leds-88pm860x.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-)
drivers/leds/leds-88pm860x.c +2 -7
@@ -209,7 +209,7 @@ static int pm860x_led_probe(struct platform_device *pdev)return -EINVAL ; } - data =kzalloc (sizeof (struct pm860x_led ),GFP_KERNEL ); + data =devm_kzalloc (&pdev->dev,sizeof (struct pm860x_led ),GFP_KERNEL );if (data ==NULL )return -ENOMEM ;strncpy (data->name, res->name,MFD_NAME_SIZE -1 );
@@ -220,7 +220,6 @@ static int pm860x_led_probe(struct platform_device *pdev) data->port = pdata->flags;if (data->port <0 ) {dev_err (&pdev->dev,"check device failed\n" ); -kfree (data);return -EINVAL ; }
@@ -233,13 +232,10 @@ static int pm860x_led_probe(struct platform_device *pdev) ret =led_classdev_register (chip->dev, &data->cdev);if (ret <0 ) {dev_err (&pdev->dev,"Failed to register LED: %d\n" , ret); - goto out; +return ret; }pm860x_led_set (&data->cdev,0 );return 0 ; -out: -kfree (data); -return ret; }static int pm860x_led_remove (struct platform_device *pdev)
@@ -247,7 +243,6 @@ static int pm860x_led_remove(struct platform_device *pdev)struct pm860x_led *data =platform_get_drvdata (pdev);led_classdev_unregister (&data->cdev); -kfree (data);return 0 ; }
Signature · 1 line
1.7.9.5
Quoted 3 lines · Devendra Naga
Using
devm_kzallocwill remove all the error checks and the frees are automatically done at the driver unload side.Signed-off-by Devendra Naga <[email protected]>
Great, Applied to my for-next branch. Thanks,
-Bryan
Quoted 54 lines
---
Thanks Bryan for advising me.. ;-)
drivers/leds/leds-88pm860x.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-)drivers/leds/leds-88pm860x.c +2
-8@@ -209,7 +209,7 @@ static int pm860x_led_probe(struct platform_device *pdev)return -EINVAL ; } - data =kzalloc (sizeof (struct pm860x_led ),GFP_KERNEL ); + data =devm_kzalloc (&pdev->dev,sizeof (struct pm860x_led ),GFP_KERNEL );if (data ==NULL )return -ENOMEM ;strncpy (data->name, res->name,MFD_NAME_SIZE -1 );@@ -220,7 +220,6 @@ static int pm860x_led_probe(struct platform_device *pdev) data->port = pdata->flags;if (data->port <0 ) {dev_err (&pdev->dev,"check device failed\n" ); -kfree (data);return -EINVAL ; }@@ -233,13 +232,10 @@ static int pm860x_led_probe(struct platform_device *pdev) ret =led_classdev_register (chip->dev, &data->cdev);if (ret <0 ) {dev_err (&pdev->dev,"Failed to register LED: %d\n" , ret); - goto out; +return ret; }pm860x_led_set (&data->cdev,0 );return 0 ; -out: -kfree (data); -return ret; }static int pm860x_led_remove (struct platform_device *pdev)@@ -247,7 +243,6 @@ static int pm860x_led_remove(struct platform_device *pdev)struct pm860x_led *data =platform_get_drvdata (pdev);led_classdev_unregister (&data->cdev); -kfree (data);return 0 ; } --1.7.9.5
Signature · 4 lines
Bryan Wu <[email protected]> Kernel Developer +86.186-168-78255 Mobile Canonical Ltd. www.canonical.com Ubuntu - Linux for human beings | www.ubuntu.com