Skip to content

Commit c732eaf

Browse files
Dan Murphypavelmachek
authored andcommitted
leds: lp55xx: Convert LED class registration to devm_*
Convert the LED class registration calls to the LED devm_* registration calls. Acked-by: Jacek Anaszewski <jacek.anaszewski@gmail.com> Acked-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Dan Murphy <dmurphy@ti.com> Signed-off-by: Pavel Machek <pavel@ucw.cz>
1 parent a89d385 commit c732eaf

6 files changed

Lines changed: 13 additions & 40 deletions

File tree

drivers/leds/leds-lp5521.c

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -541,19 +541,17 @@ static int lp5521_probe(struct i2c_client *client,
541541

542542
ret = lp55xx_register_leds(led, chip);
543543
if (ret)
544-
goto err_register_leds;
544+
goto err_out;
545545

546546
ret = lp55xx_register_sysfs(chip);
547547
if (ret) {
548548
dev_err(&client->dev, "registering sysfs failed\n");
549-
goto err_register_sysfs;
549+
goto err_out;
550550
}
551551

552552
return 0;
553553

554-
err_register_sysfs:
555-
lp55xx_unregister_leds(led, chip);
556-
err_register_leds:
554+
err_out:
557555
lp55xx_deinit_device(chip);
558556
err_init:
559557
return ret;
@@ -566,7 +564,6 @@ static int lp5521_remove(struct i2c_client *client)
566564

567565
lp5521_stop_all_engines(chip);
568566
lp55xx_unregister_sysfs(chip);
569-
lp55xx_unregister_leds(led, chip);
570567
lp55xx_deinit_device(chip);
571568

572569
return 0;

drivers/leds/leds-lp5523.c

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -909,19 +909,17 @@ static int lp5523_probe(struct i2c_client *client,
909909

910910
ret = lp55xx_register_leds(led, chip);
911911
if (ret)
912-
goto err_register_leds;
912+
goto err_out;
913913

914914
ret = lp55xx_register_sysfs(chip);
915915
if (ret) {
916916
dev_err(&client->dev, "registering sysfs failed\n");
917-
goto err_register_sysfs;
917+
goto err_out;
918918
}
919919

920920
return 0;
921921

922-
err_register_sysfs:
923-
lp55xx_unregister_leds(led, chip);
924-
err_register_leds:
922+
err_out:
925923
lp55xx_deinit_device(chip);
926924
err_init:
927925
return ret;
@@ -934,7 +932,6 @@ static int lp5523_remove(struct i2c_client *client)
934932

935933
lp5523_stop_all_engines(chip);
936934
lp55xx_unregister_sysfs(chip);
937-
lp55xx_unregister_leds(led, chip);
938935
lp55xx_deinit_device(chip);
939936

940937
return 0;

drivers/leds/leds-lp5562.c

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -554,19 +554,17 @@ static int lp5562_probe(struct i2c_client *client,
554554

555555
ret = lp55xx_register_leds(led, chip);
556556
if (ret)
557-
goto err_register_leds;
557+
goto err_out;
558558

559559
ret = lp55xx_register_sysfs(chip);
560560
if (ret) {
561561
dev_err(&client->dev, "registering sysfs failed\n");
562-
goto err_register_sysfs;
562+
goto err_out;
563563
}
564564

565565
return 0;
566566

567-
err_register_sysfs:
568-
lp55xx_unregister_leds(led, chip);
569-
err_register_leds:
567+
err_out:
570568
lp55xx_deinit_device(chip);
571569
err_init:
572570
return ret;
@@ -580,7 +578,6 @@ static int lp5562_remove(struct i2c_client *client)
580578
lp5562_stop_engine(chip);
581579

582580
lp55xx_unregister_sysfs(chip);
583-
lp55xx_unregister_leds(led, chip);
584581
lp55xx_deinit_device(chip);
585582

586583
return 0;

drivers/leds/leds-lp55xx-common.c

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ static int lp55xx_init_led(struct lp55xx_led *led,
179179
led->cdev.name = name;
180180
}
181181

182-
ret = led_classdev_register(dev, &led->cdev);
182+
ret = devm_led_classdev_register(dev, &led->cdev);
183183
if (ret) {
184184
dev_err(dev, "led register err: %d\n", ret);
185185
return ret;
@@ -480,23 +480,10 @@ int lp55xx_register_leds(struct lp55xx_led *led, struct lp55xx_chip *chip)
480480
return 0;
481481

482482
err_init_led:
483-
lp55xx_unregister_leds(led, chip);
484483
return ret;
485484
}
486485
EXPORT_SYMBOL_GPL(lp55xx_register_leds);
487486

488-
void lp55xx_unregister_leds(struct lp55xx_led *led, struct lp55xx_chip *chip)
489-
{
490-
int i;
491-
struct lp55xx_led *each;
492-
493-
for (i = 0; i < chip->num_leds; i++) {
494-
each = led + i;
495-
led_classdev_unregister(&each->cdev);
496-
}
497-
}
498-
EXPORT_SYMBOL_GPL(lp55xx_unregister_leds);
499-
500487
int lp55xx_register_sysfs(struct lp55xx_chip *chip)
501488
{
502489
struct device *dev = &chip->cl->dev;

drivers/leds/leds-lp55xx-common.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,8 +189,6 @@ extern void lp55xx_deinit_device(struct lp55xx_chip *chip);
189189
/* common LED class device functions */
190190
extern int lp55xx_register_leds(struct lp55xx_led *led,
191191
struct lp55xx_chip *chip);
192-
extern void lp55xx_unregister_leds(struct lp55xx_led *led,
193-
struct lp55xx_chip *chip);
194192

195193
/* common device attributes functions */
196194
extern int lp55xx_register_sysfs(struct lp55xx_chip *chip);

drivers/leds/leds-lp8501.c

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -344,19 +344,17 @@ static int lp8501_probe(struct i2c_client *client,
344344

345345
ret = lp55xx_register_leds(led, chip);
346346
if (ret)
347-
goto err_register_leds;
347+
goto err_out;
348348

349349
ret = lp55xx_register_sysfs(chip);
350350
if (ret) {
351351
dev_err(&client->dev, "registering sysfs failed\n");
352-
goto err_register_sysfs;
352+
goto err_out;
353353
}
354354

355355
return 0;
356356

357-
err_register_sysfs:
358-
lp55xx_unregister_leds(led, chip);
359-
err_register_leds:
357+
err_out:
360358
lp55xx_deinit_device(chip);
361359
err_init:
362360
return ret;
@@ -369,7 +367,6 @@ static int lp8501_remove(struct i2c_client *client)
369367

370368
lp8501_stop_engine(chip);
371369
lp55xx_unregister_sysfs(chip);
372-
lp55xx_unregister_leds(led, chip);
373370
lp55xx_deinit_device(chip);
374371

375372
return 0;

0 commit comments

Comments
 (0)