leds: wm831x-status: Use devm_led_classdev_register
Switch to resource-managed function devm_led_classdev_register instead of led_classdev_register and remove unneeded led_classdev_unregister. Also, remove platform_set_drvdata from probe function and the remove function, wm831x_status_remove as it is now has nothing to do. The Coccinelle semantic patch used to make this change is as follows: //<smpl> @platform@ identifier p, probefn, removefn; @@ struct platform_driver p = { .probe = probefn, .remove = removefn, }; @prb@ identifier platform.probefn, pdev; expression e; @@ probefn(struct platform_device *pdev, ...) { ... e = - led_classdev_register + devm_led_classdev_register (...); ... ?- led_classdev_unregister(...); ... } @remove depends on prb@ identifier platform.removefn; @@ removefn(...) { ... ?- led_classdev_unregister(...); ... } //</smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@gmail.com> Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
This commit is contained in:
parent
f165a66e16
commit
8d3b6a4001
|
@ -239,7 +239,6 @@ static int wm831x_status_probe(struct platform_device *pdev)
|
||||||
GFP_KERNEL);
|
GFP_KERNEL);
|
||||||
if (!drvdata)
|
if (!drvdata)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
platform_set_drvdata(pdev, drvdata);
|
|
||||||
|
|
||||||
drvdata->wm831x = wm831x;
|
drvdata->wm831x = wm831x;
|
||||||
drvdata->reg = res->start;
|
drvdata->reg = res->start;
|
||||||
|
@ -284,7 +283,7 @@ static int wm831x_status_probe(struct platform_device *pdev)
|
||||||
drvdata->cdev.blink_set = wm831x_status_blink_set;
|
drvdata->cdev.blink_set = wm831x_status_blink_set;
|
||||||
drvdata->cdev.groups = wm831x_status_groups;
|
drvdata->cdev.groups = wm831x_status_groups;
|
||||||
|
|
||||||
ret = led_classdev_register(wm831x->dev, &drvdata->cdev);
|
ret = devm_led_classdev_register(wm831x->dev, &drvdata->cdev);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
dev_err(&pdev->dev, "Failed to register LED: %d\n", ret);
|
dev_err(&pdev->dev, "Failed to register LED: %d\n", ret);
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -293,21 +292,11 @@ static int wm831x_status_probe(struct platform_device *pdev)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int wm831x_status_remove(struct platform_device *pdev)
|
|
||||||
{
|
|
||||||
struct wm831x_status *drvdata = platform_get_drvdata(pdev);
|
|
||||||
|
|
||||||
led_classdev_unregister(&drvdata->cdev);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct platform_driver wm831x_status_driver = {
|
static struct platform_driver wm831x_status_driver = {
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "wm831x-status",
|
.name = "wm831x-status",
|
||||||
},
|
},
|
||||||
.probe = wm831x_status_probe,
|
.probe = wm831x_status_probe,
|
||||||
.remove = wm831x_status_remove,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
module_platform_driver(wm831x_status_driver);
|
module_platform_driver(wm831x_status_driver);
|
||||||
|
|
Loading…
Reference in New Issue