Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

leds: leds-hp6xx: Use devm_led_classdev_register

Use resource-managed function devm_led_classdev_register
instead of led_classdev_register to simplify error path.
An unnecessary check of ret is replaced with a direct return
Also, remove redundant hp6xxled_remove.

Signed-off-by: Muhammad Falak R Wani <falakreyaz@gmail.com>
Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>

authored by

Muhammad Falak R Wani and committed by
Jacek Anaszewski
c0fc68ba aa4e2524

+2 -15
+2 -15
drivers/leds/leds-hp6xx.c
··· 59 59 { 60 60 int ret; 61 61 62 - ret = led_classdev_register(&pdev->dev, &hp6xx_red_led); 62 + ret = devm_led_classdev_register(&pdev->dev, &hp6xx_red_led); 63 63 if (ret < 0) 64 64 return ret; 65 65 66 - ret = led_classdev_register(&pdev->dev, &hp6xx_green_led); 67 - if (ret < 0) 68 - led_classdev_unregister(&hp6xx_red_led); 69 - 70 - return ret; 71 - } 72 - 73 - static int hp6xxled_remove(struct platform_device *pdev) 74 - { 75 - led_classdev_unregister(&hp6xx_red_led); 76 - led_classdev_unregister(&hp6xx_green_led); 77 - 78 - return 0; 66 + return devm_led_classdev_register(&pdev->dev, &hp6xx_green_led); 79 67 } 80 68 81 69 static struct platform_driver hp6xxled_driver = { 82 70 .probe = hp6xxled_probe, 83 - .remove = hp6xxled_remove, 84 71 .driver = { 85 72 .name = "hp6xx-led", 86 73 },