Skip to content

Commit fbf0bae

Browse files
committed
leds: Simplify logic in leds-ams-delta
Simplify logic in leds-ams-delta after various new drivers writers misunderstood it. Signed-off-by: Richard Purdie <[email protected]>
1 parent 270c395 commit fbf0bae

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

drivers/leds/leds-ams-delta.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -107,27 +107,27 @@ static int ams_delta_led_resume(struct platform_device *dev)
107107

108108
static int ams_delta_led_probe(struct platform_device *pdev)
109109
{
110-
int i;
111-
int ret;
110+
int i, ret;
112111

113-
for (i = ret = 0; ret >= 0 && i < ARRAY_SIZE(ams_delta_leds); i++) {
112+
for (i = 0; i < ARRAY_SIZE(ams_delta_leds); i++) {
114113
ret = led_classdev_register(&pdev->dev,
115114
&ams_delta_leds[i].cdev);
115+
if (ret < 0)
116+
goto fail;
116117
}
117118

118-
if (ret < 0 && i > 1) {
119-
for (i = i - 2; i >= 0; i--)
120-
led_classdev_unregister(&ams_delta_leds[i].cdev);
121-
}
122-
123-
return ret;
119+
return 0;
120+
fail:
121+
while (--i >= 0)
122+
led_classdev_unregister(&ams_delta_leds[i].cdev);
123+
return ret;
124124
}
125125

126126
static int ams_delta_led_remove(struct platform_device *pdev)
127127
{
128128
int i;
129129

130-
for (i = ARRAY_SIZE(ams_delta_leds) - 1; i >= 0; i--)
130+
for (i = 0; i < ARRAY_SIZE(ams_delta_leds); i--)
131131
led_classdev_unregister(&ams_delta_leds[i].cdev);
132132

133133
return 0;

0 commit comments

Comments
 (0)