aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/leds/leds-lp55xx-common.c
diff options
context:
space:
mode:
authorMilo(Woogyom) Kim <milo.kim@ti.com>2013-02-05 19:11:18 +0900
committerBryan Wu <cooloney@gmail.com>2013-02-06 15:59:28 -0800
commitc3a68ebfcd22abc186f2328149732c801449b297 (patch)
tree253db155491541accda86b0900dce9856213a9ab /drivers/leds/leds-lp55xx-common.c
parentleds-lp55xx: provide common LED current setting (diff)
downloadlinux-dev-c3a68ebfcd22abc186f2328149732c801449b297.tar.xz
linux-dev-c3a68ebfcd22abc186f2328149732c801449b297.zip
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.c16
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");