aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmitoj Kaur Chawla <amitoj1606@gmail.com>2016-03-08 22:24:32 -0500
committerJacek Anaszewski <j.anaszewski@samsung.com>2016-03-14 04:22:23 -0400
commit1c430f90216d00b7db13abe306d4f7fac9c6869f (patch)
tree74cc3e1a9cde673bdebb469b9e58af7479129b02
parenteed16255d66bde1abbce272400912a9ea9e69e08 (diff)
leds: max8997: 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 in probe function and the remove function, max8997_led_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>
-rw-r--r--drivers/leds/leds-max8997.c14
1 files changed, 1 insertions, 13 deletions
diff --git a/drivers/leds/leds-max8997.c b/drivers/leds/leds-max8997.c
index 01b459069358..4edf74f1d6d4 100644
--- a/drivers/leds/leds-max8997.c
+++ b/drivers/leds/leds-max8997.c
@@ -281,30 +281,18 @@ static int max8997_led_probe(struct platform_device *pdev)
281 281
282 mutex_init(&led->mutex); 282 mutex_init(&led->mutex);
283 283
284 platform_set_drvdata(pdev, led); 284 ret = devm_led_classdev_register(&pdev->dev, &led->cdev);
285
286 ret = led_classdev_register(&pdev->dev, &led->cdev);
287 if (ret < 0) 285 if (ret < 0)
288 return ret; 286 return ret;
289 287
290 return 0; 288 return 0;
291} 289}
292 290
293static int max8997_led_remove(struct platform_device *pdev)
294{
295 struct max8997_led *led = platform_get_drvdata(pdev);
296
297 led_classdev_unregister(&led->cdev);
298
299 return 0;
300}
301
302static struct platform_driver max8997_led_driver = { 291static struct platform_driver max8997_led_driver = {
303 .driver = { 292 .driver = {
304 .name = "max8997-led", 293 .name = "max8997-led",
305 }, 294 },
306 .probe = max8997_led_probe, 295 .probe = max8997_led_probe,
307 .remove = max8997_led_remove,
308}; 296};
309 297
310module_platform_driver(max8997_led_driver); 298module_platform_driver(max8997_led_driver);