leds: leds-fsg: Use devm_led_classdev_register
PATCH v2 1/1 leds: leds-fsg: 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, various gotos are replced with direct returns and unneeded labels are dropped. Also, remove fsg_led_remove as it is now redundant.
Signed-off-by Vaishali Thakkar <[email protected]>
---
Changes since v1:
- Fix build errors
--- drivers/leds/leds-fsg.c | 52 ++++++++++++------------------------------------- 1 file changed, 12 insertions(+), 40 deletions(-)
drivers/leds/leds-fsg.c +12 -40
@@ -156,63 +156,35 @@ static int fsg_led_probe(struct platform_device *pdev) latch_value =0xffff ; *latch_address = latch_value; - ret =led_classdev_register (&pdev->dev, &fsg_wlan_led); + ret =devm_led_classdev_register (&pdev->dev, &fsg_wlan_led);if (ret <0 ) - goto failwlan; +return ret; - ret =led_classdev_register (&pdev->dev, &fsg_wan_led); + ret =devm_led_classdev_register (&pdev->dev, &fsg_wan_led);if (ret <0 ) - goto failwan; +return ret; - ret =led_classdev_register (&pdev->dev, &fsg_sata_led); + ret =devm_led_classdev_register (&pdev->dev, &fsg_sata_led);if (ret <0 ) - goto failsata; +return ret; - ret =led_classdev_register (&pdev->dev, &fsg_usb_led); + ret =devm_led_classdev_register (&pdev->dev, &fsg_usb_led);if (ret <0 ) - goto failusb; +return ret; - ret =led_classdev_register (&pdev->dev, &fsg_sync_led); + ret =devm_led_classdev_register (&pdev->dev, &fsg_sync_led);if (ret <0 ) - goto failsync; +return ret; - ret =led_classdev_register (&pdev->dev, &fsg_ring_led); + ret =devm_led_classdev_register (&pdev->dev, &fsg_ring_led);if (ret <0 ) - goto failring; - -return ret; - - failring: -led_classdev_unregister (&fsg_sync_led); - failsync: -led_classdev_unregister (&fsg_usb_led); - failusb: -led_classdev_unregister (&fsg_sata_led); - failsata: -led_classdev_unregister (&fsg_wan_led); - failwan: -led_classdev_unregister (&fsg_wlan_led); - failwlan: +return ret;return ret; } -static int fsg_led_remove (struct platform_device *pdev) -{ -led_classdev_unregister (&fsg_wlan_led); -led_classdev_unregister (&fsg_wan_led); -led_classdev_unregister (&fsg_sata_led); -led_classdev_unregister (&fsg_usb_led); -led_classdev_unregister (&fsg_sync_led); -led_classdev_unregister (&fsg_ring_led); - -return 0 ; -} - -static struct platform_driver fsg_led_driver = { .probe = fsg_led_probe, - .remove = fsg_led_remove, .driver = { .name ="fsg-led" , },
Signature · 1 line
1.9.1
Jacek Anaszewski
AppliedQuoted 7 lines · Vaishali Thakkar
Use resource-managed function
devm_led_classdev_registerinstead ofled_classdev_registerto make the error-path simpler.To be compatible with the change, various gotos are replced with direct returns and unneeded labels are dropped. Also, remove
fsg_led_removeas it is now redundant.
Quoted 7 lines
Signed-off-by Vaishali Thakkar <[email protected]>---
Changes since v1:
- Fix build errors--- drivers/leds/leds-fsg.c | 52 ++++++++++++------------------------------------- 1 file changed, 12 insertions(+), 40 deletions(-)
Merged, thanks.
Signature · 2 lines
Best Regards, Jacek Anaszewski