Skip to contentSkip to conversation

leds: leds-cobalt-qube: Use devm_led_classdev_register

PATCH In review Vaishali Thakkar 2 participants 3 messages Sep 1, 2015 – Sep 4, 2015 LED

lore
Share & tools
lore
#0 lore raw

PATCH v2 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, unneeded label err_null is dropped and unnecessary variable retval is removed. Also, remove redundant cobalt_qube_led_remove.

---
Changes since v1:
- Remove use of variable retval
- Change commit log

---
 drivers/leds/leds-cobalt-qube.c | 21 +--------------------
 1 file changed, 1 insertion(+), 20 deletions(-)
drivers/leds/leds-cobalt-qube.c +1 -20
index d975220..f1374d2 100644
@@ -36,7 +36,6 @@ static struct led_classdev qube_front_led = {
 static int cobalt_qube_led_probe(struct platform_device *pdev)
 {
 	struct resource *res;
-	int retval;
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	if (!res)
@@ -49,31 +48,13 @@ 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);
-	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 devm_led_classdev_register(&pdev->dev, &qube_front_led);
 
 	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,

Quoted 43 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, unneeded label err_null is dropped and unnecessary variable retval is removed. Also, remove redundant cobalt_qube_led_remove.

---
Changes since v1:
- Remove use of variable retval
- Change commit log

---
  drivers/leds/leds-cobalt-qube.c | 21 +--------------------
  1 file changed, 1 insertion(+), 20 deletions(-)
drivers/leds/leds-cobalt-qube.c +0 -12
index d975220..f1374d2 100644
@@ -36,7 +36,6 @@ static struct led_classdev qube_front_led = {
  static int cobalt_qube_led_probe(struct platform_device *pdev)
  {
  	struct resource *res;
-	int retval;
 
  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
  	if (!res)
@@ -49,31 +48,13 @@ 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);
-	if (retval)
-		goto err_null;
-
-	return 0;
-
-err_null:
-	led_port = NULL;
-
-	return retval;
-}

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

Quoted 10 lines
drivers/leds/leds-cobalt-qube.c +1 -7
-
-static int cobalt_qube_led_remove(struct platform_device *pdev)
-{
-	led_classdev_unregister(&qube_front_led);
-
-	if (led_port)
-		led_port = NULL;
+	return devm_led_classdev_register(&pdev->dev, &qube_front_led);
 
  	return 0;

Merged, after removing stray "return 0", thanks.

Quoted 9 lines
drivers/leds/leds-cobalt-qube.c +0 -1
  }
 
  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 59 lines · Jacek Anaszewski

Hi Vaishali,

Quoted 55 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, unneeded label err_null is dropped and unnecessary variable retval is removed. Also, remove redundant cobalt_qube_led_remove.

---
Changes since v1:
- Remove use of variable retval
- Change commit log

---
  drivers/leds/leds-cobalt-qube.c | 21 +--------------------
  1 file changed, 1 insertion(+), 20 deletions(-)
drivers/leds/leds-cobalt-qube.c +1 -19
index d975220..f1374d2 100644
@@ -36,7 +36,6 @@ static struct led_classdev qube_front_led = {
  static int cobalt_qube_led_probe(struct platform_device *pdev)
  {
        struct resource *res;
-       int retval;
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        if (!res)
@@ -49,31 +48,13 @@ 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);
-       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 devm_led_classdev_register(&pdev->dev, &qube_front_led);
 
Quoted 4 lines

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

Quoted 1 line
drivers/leds/leds-cobalt-qube.c +0 -0
        return 0;

Merged, after removing stray "return 0", thanks.

Oops! my bad. Thanks.

Quoted 14 lines
Quoted 9 lines
drivers/leds/leds-cobalt-qube.c +0 -1
  }
 
  static struct platform_driver cobalt_qube_led_driver = {
        .probe  = cobalt_qube_led_probe,
-       .remove = cobalt_qube_led_remove,
        .driver = {
                .name   = "cobalt-qube-leds",
        },

--
Best Regards,
Jacek Anaszewski

Signature · 1 line
Vaishali