forked from Minki/linux
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);
|
||||
if (!drvdata)
|
||||
return -ENOMEM;
|
||||
platform_set_drvdata(pdev, drvdata);
|
||||
|
||||
drvdata->wm831x = wm831x;
|
||||
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.groups = wm831x_status_groups;
|
||||
|
||||
ret = led_classdev_register(wm831x->dev, &drvdata->cdev);
|
||||
ret = devm_led_classdev_register(wm831x->dev, &drvdata->cdev);
|
||||
if (ret < 0) {
|
||||
dev_err(&pdev->dev, "Failed to register LED: %d\n", ret);
|
||||
return ret;
|
||||
@ -293,21 +292,11 @@ static int wm831x_status_probe(struct platform_device *pdev)
|
||||
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 = {
|
||||
.driver = {
|
||||
.name = "wm831x-status",
|
||||
},
|
||||
.probe = wm831x_status_probe,
|
||||
.remove = wm831x_status_remove,
|
||||
};
|
||||
|
||||
module_platform_driver(wm831x_status_driver);
|
||||
|
Loading…
Reference in New Issue
Block a user