aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmitoj Kaur Chawla <amitoj1606@gmail.com>2016-03-08 22:24:10 -0500
committerJacek Anaszewski <j.anaszewski@samsung.com>2016-03-14 04:22:22 -0400
commiteed16255d66bde1abbce272400912a9ea9e69e08 (patch)
tree95c1d66bd3c7be5b11a424dd2fb4bb87eccce1b1
parent48a7032ba044103cf89af680d3e3bb9bf0ba9072 (diff)
leds: da903x: 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, da903x_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-da903x.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/drivers/leds/leds-da903x.c b/drivers/leds/leds-da903x.c
index 4752a2b6ba2b..5ff7d72f73aa 100644
--- a/drivers/leds/leds-da903x.c
+++ b/drivers/leds/leds-da903x.c
@@ -113,21 +113,12 @@ static int da903x_led_probe(struct platform_device *pdev)
113 led->flags = pdata->flags; 113 led->flags = pdata->flags;
114 led->master = pdev->dev.parent; 114 led->master = pdev->dev.parent;
115 115
116 ret = led_classdev_register(led->master, &led->cdev); 116 ret = devm_led_classdev_register(led->master, &led->cdev);
117 if (ret) { 117 if (ret) {
118 dev_err(&pdev->dev, "failed to register LED %d\n", id); 118 dev_err(&pdev->dev, "failed to register LED %d\n", id);
119 return ret; 119 return ret;
120 } 120 }
121 121
122 platform_set_drvdata(pdev, led);
123 return 0;
124}
125
126static int da903x_led_remove(struct platform_device *pdev)
127{
128 struct da903x_led *led = platform_get_drvdata(pdev);
129
130 led_classdev_unregister(&led->cdev);
131 return 0; 122 return 0;
132} 123}
133 124
@@ -136,7 +127,6 @@ static struct platform_driver da903x_led_driver = {
136 .name = "da903x-led", 127 .name = "da903x-led",
137 }, 128 },
138 .probe = da903x_led_probe, 129 .probe = da903x_led_probe,
139 .remove = da903x_led_remove,
140}; 130};
141 131
142module_platform_driver(da903x_led_driver); 132module_platform_driver(da903x_led_driver);