Skip to contentSkip to conversation

leds: leds-cobalt-qube: Use devm_led_classdev_register

PATCH Superseded Vaishali Thakkar 2 participants 3 messages Aug 27, 2015 – Aug 28, 2015 LED

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 leds: leds-cobalt-qube: Use devm_led_classdev_register

Use resource-managed function devm_led_classdev_register instead of led_classdev_register to make the error-path simpler.

To be compatible with the change, goto is replaced with direct return and unneeded label is dropped. Also, remove redundant cobalt_qube_led_remove.

---
 drivers/leds/leds-cobalt-qube.c | 20 ++------------------
 1 file changed, 2 insertions(+), 18 deletions(-)
drivers/leds/leds-cobalt-qube.c +2 -18
index d975220..59818df 100644
@@ -49,31 +49,15 @@ static int cobalt_qube_led_probe(struct platform_device *pdev)
 	led_value = LED_FRONT_LEFT | LED_FRONT_RIGHT;
 	writeb(led_value, led_port);
 
-	retval = led_classdev_register(&pdev->dev, &qube_front_led);
+	retval = devm_led_classdev_register(&pdev->dev, &qube_front_led);
 	if (retval)
-		goto err_null;
-
-	return 0;
-
-err_null:
-	led_port = NULL;
-
-	return retval;
-}
-
-static int cobalt_qube_led_remove(struct platform_device *pdev)
-{
-	led_classdev_unregister(&qube_front_led);
-
-	if (led_port)
-		led_port = NULL;
+		return retval;
 
 	return 0;
 }
 
 static struct platform_driver cobalt_qube_led_driver = {
 	.probe	= cobalt_qube_led_probe,
-	.remove	= cobalt_qube_led_remove,
 	.driver	= {
 		.name	= "cobalt-qube-leds",
 	},
Signature · 1 line
1.9.1
#1 lore raw

Hi Vaishali,

Thanks for the patch.

Quoted 17 lines · Vaishali Thakkar

Use resource-managed function devm_led_classdev_register instead of led_classdev_register to make the error-path simpler.

To be compatible with the change, goto is replaced with direct return and unneeded label is dropped. Also, remove redundant cobalt_qube_led_remove.

---
  drivers/leds/leds-cobalt-qube.c | 20 ++------------------
  1 file changed, 2 insertions(+), 18 deletions(-)
drivers/leds/leds-cobalt-qube.c +0 -0
index d975220..59818df 100644

drivers/leds/leds-cobalt-qube.c static int cobalt_qube_led_probe(struct platform_device *pdev) · line 54

Quoted 7 lines
drivers/leds/leds-cobalt-qube.c +1 -2
@@ -49,31 +49,15 @@ static int cobalt_qube_led_probe(struct platform_device *pdev)
  	led_value = LED_FRONT_LEFT | LED_FRONT_RIGHT;
  	writeb(led_value, led_port);
 
-	retval = led_classdev_register(&pdev->dev, &qube_front_led);
+	retval = devm_led_classdev_register(&pdev->dev, &qube_front_led);
  	if (retval)
-		goto err_null;

We can spare more lines by changing this to:

return devm_led_classdev_register(&pdev->dev, &qube_front_led);

You could get rid of retval then, too.

Quoted 27 lines
drivers/leds/leds-cobalt-qube.c +1 -16
-
-	return 0;
-
-err_null:
-	led_port = NULL;
-
-	return retval;
-}
-
-static int cobalt_qube_led_remove(struct platform_device *pdev)
-{
-	led_classdev_unregister(&qube_front_led);
-
-	if (led_port)
-		led_port = NULL;
+		return retval;
 
  	return 0;
  }
 
  static struct platform_driver cobalt_qube_led_driver = {
  	.probe	= cobalt_qube_led_probe,
-	.remove	= cobalt_qube_led_remove,
  	.driver	= {
  		.name	= "cobalt-qube-leds",
  	},
Signature · 2 lines
Best Regards,
Jacek Anaszewski
#2 lore raw
Quoted 36 lines · Jacek Anaszewski

Hi Vaishali,

Thanks for the patch.

Quoted 19 lines · Vaishali Thakkar

Use resource-managed function devm_led_classdev_register instead of led_classdev_register to make the error-path simpler.

To be compatible with the change, goto is replaced with direct return and unneeded label is dropped. Also, remove redundant cobalt_qube_led_remove.

---
  drivers/leds/leds-cobalt-qube.c | 20 ++------------------
  1 file changed, 2 insertions(+), 18 deletions(-)
drivers/leds/leds-cobalt-qube.c +0 -0
index d975220..59818df 100644

drivers/leds/leds-cobalt-qube.c static int cobalt_qube_led_probe(struct · line 55

Quoted 8 lines
drivers/leds/leds-cobalt-qube.c +1 -2
@@ -49,31 +49,15 @@ static int cobalt_qube_led_probe(struct
 platform_device *pdev)
        led_value = LED_FRONT_LEFT | LED_FRONT_RIGHT;
        writeb(led_value, led_port);
 
-       retval = led_classdev_register(&pdev->dev, &qube_front_led);
+       retval = devm_led_classdev_register(&pdev->dev, &qube_front_led);
        if (retval)
-               goto err_null;

We can spare more lines by changing this to:

Quoted 3 lines

return devm_led_classdev_register(&pdev->dev, &qube_front_led);

You could get rid of retval then, too.

Sure. This makes sense. I will send v2 with the change.

Thanks.

Quoted 32 lines
Quoted 25 lines
drivers/leds/leds-cobalt-qube.c +1 -16
-
-       return 0;
-
-err_null:
-       led_port = NULL;
-
-       return retval;
-}
-
-static int cobalt_qube_led_remove(struct platform_device *pdev)
-{
-       led_classdev_unregister(&qube_front_led);
-
-       if (led_port)
-               led_port = NULL;
+               return retval;
 
        return 0;
  }
 
  static struct platform_driver cobalt_qube_led_driver = {
        .probe  = cobalt_qube_led_probe,
-       .remove = cobalt_qube_led_remove,
        .driver = {
                .name   = "cobalt-qube-leds",
Quoted 2 lines
        },

--
Best Regards,
Jacek Anaszewski

Signature · 1 line
Vaishali