Skip to content

Commit 48a7032

Browse files
musicakcjanaszewski
authored andcommitted
leds: s3c24xx: 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 unnecessary function pdev_to_gpio, platform_set_drvdata in the probe function and the remove function, s3c24xx_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>
1 parent 8d3b6a4 commit 48a7032

File tree

1 file changed

+1
-18
lines changed

1 file changed

+1
-18
lines changed

drivers/leds/leds-s3c24xx.c

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,6 @@ struct s3c24xx_gpio_led {
2929
struct s3c24xx_led_platdata *pdata;
3030
};
3131

32-
static inline struct s3c24xx_gpio_led *pdev_to_gpio(struct platform_device *dev)
33-
{
34-
return platform_get_drvdata(dev);
35-
}
36-
3732
static inline struct s3c24xx_gpio_led *to_gpio(struct led_classdev *led_cdev)
3833
{
3934
return container_of(led_cdev, struct s3c24xx_gpio_led, cdev);
@@ -59,15 +54,6 @@ static void s3c24xx_led_set(struct led_classdev *led_cdev,
5954
}
6055
}
6156

62-
static int s3c24xx_led_remove(struct platform_device *dev)
63-
{
64-
struct s3c24xx_gpio_led *led = pdev_to_gpio(dev);
65-
66-
led_classdev_unregister(&led->cdev);
67-
68-
return 0;
69-
}
70-
7157
static int s3c24xx_led_probe(struct platform_device *dev)
7258
{
7359
struct s3c24xx_led_platdata *pdata = dev_get_platdata(&dev->dev);
@@ -79,8 +65,6 @@ static int s3c24xx_led_probe(struct platform_device *dev)
7965
if (!led)
8066
return -ENOMEM;
8167

82-
platform_set_drvdata(dev, led);
83-
8468
led->cdev.brightness_set = s3c24xx_led_set;
8569
led->cdev.default_trigger = pdata->def_trigger;
8670
led->cdev.name = pdata->name;
@@ -104,7 +88,7 @@ static int s3c24xx_led_probe(struct platform_device *dev)
10488

10589
/* register our new led device */
10690

107-
ret = led_classdev_register(&dev->dev, &led->cdev);
91+
ret = devm_led_classdev_register(&dev->dev, &led->cdev);
10892
if (ret < 0)
10993
dev_err(&dev->dev, "led_classdev_register failed\n");
11094

@@ -113,7 +97,6 @@ static int s3c24xx_led_probe(struct platform_device *dev)
11397

11498
static struct platform_driver s3c24xx_led_driver = {
11599
.probe = s3c24xx_led_probe,
116-
.remove = s3c24xx_led_remove,
117100
.driver = {
118101
.name = "s3c24xx_led",
119102
},

0 commit comments

Comments
 (0)