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

leds: leds-ot200: Use devm_led_classdev_register

Use resource-managed function devm_led_classdev_register
instead of led_classdev_register to make the error path simpler.
The goto is replaced with direct return, unneeded label err is
dropped. Also, remove redundant ot200_led_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
583a2b2c c0fc68ba

+2 -19
+2 -19
drivers/leds/leds-ot200.c
··· 124 124 leds[i].cdev.name = leds[i].name; 125 125 leds[i].cdev.brightness_set = ot200_led_brightness_set; 126 126 127 - ret = led_classdev_register(&pdev->dev, &leds[i].cdev); 127 + ret = devm_led_classdev_register(&pdev->dev, &leds[i].cdev); 128 128 if (ret < 0) 129 - goto err; 129 + return ret; 130 130 } 131 131 132 132 leds_front = 0; /* turn off all front leds */ ··· 135 135 outb(leds_back, 0x5a); 136 136 137 137 return 0; 138 - 139 - err: 140 - for (i = i - 1; i >= 0; i--) 141 - led_classdev_unregister(&leds[i].cdev); 142 - 143 - return ret; 144 - } 145 - 146 - static int ot200_led_remove(struct platform_device *pdev) 147 - { 148 - int i; 149 - 150 - for (i = 0; i < ARRAY_SIZE(leds); i++) 151 - led_classdev_unregister(&leds[i].cdev); 152 - 153 - return 0; 154 138 } 155 139 156 140 static struct platform_driver ot200_led_driver = { 157 141 .probe = ot200_led_probe, 158 - .remove = ot200_led_remove, 159 142 .driver = { 160 143 .name = "leds-ot200", 161 144 },