diff options
author | Milo(Woogyom) Kim <milo.kim@ti.com> | 2013-02-05 19:11:18 +0900 |
---|---|---|
committer | Bryan Wu <cooloney@gmail.com> | 2013-02-06 15:59:28 -0800 |
commit | c3a68ebfcd22abc186f2328149732c801449b297 (patch) | |
tree | 253db155491541accda86b0900dce9856213a9ab /drivers/leds/leds-lp55xx-common.c | |
parent | a96bfa135ddc8045166fc6311ce4d21bfcb8d13d (diff) | |
download | linux-c3a68ebfcd22abc186f2328149732c801449b297.tar.gz |
leds-lp55xx: use lp55xx_unregister_leds()
To unregister led class devices and sysfs attributes,
LP5521 and LP5523 have each driver function.
This patch makes both drivers simple using common driver function,
lp55xx_unregister_leds().
And some unused variables are removed.
Signed-off-by: Milo(Woogyom) Kim <milo.kim@ti.com>
Signed-off-by: Bryan Wu <cooloney@gmail.com>
Diffstat (limited to 'drivers/leds/leds-lp55xx-common.c')
-rw-r--r-- | drivers/leds/leds-lp55xx-common.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/leds/leds-lp55xx-common.c b/drivers/leds/leds-lp55xx-common.c index 6b3d03709f5f..dcd64f5285e8 100644 --- a/drivers/leds/leds-lp55xx-common.c +++ b/drivers/leds/leds-lp55xx-common.c @@ -353,6 +353,22 @@ err_init_led: } EXPORT_SYMBOL_GPL(lp55xx_register_leds); +void lp55xx_unregister_leds(struct lp55xx_led *led, struct lp55xx_chip *chip) +{ + int i; + struct lp55xx_led *each; + struct kobject *kobj; + + for (i = 0; i < chip->num_leds; i++) { + each = led + i; + kobj = &led->cdev.dev->kobj; + sysfs_remove_group(kobj, &lp55xx_led_attr_group); + led_classdev_unregister(&each->cdev); + flush_work(&each->brightness_work); + } +} +EXPORT_SYMBOL_GPL(lp55xx_unregister_leds); + MODULE_AUTHOR("Milo Kim <milo.kim@ti.com>"); MODULE_DESCRIPTION("LP55xx Common Driver"); MODULE_LICENSE("GPL"); |