leds: disable triggers on brightness set
Disable any active triggers when the brightness attribute is set to zero. Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: Márton Németh <nm127@freemail.hu> Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
This commit is contained in:
committed by
Richard Purdie
parent
b3ba31f84e
commit
0013b23d66
@@ -45,9 +45,7 @@ ssize_t led_trigger_store(struct device *dev, struct device_attribute *attr,
|
||||
trigger_name[len - 1] = '\0';
|
||||
|
||||
if (!strcmp(trigger_name, "none")) {
|
||||
down_write(&led_cdev->trigger_lock);
|
||||
led_trigger_set(led_cdev, NULL);
|
||||
up_write(&led_cdev->trigger_lock);
|
||||
led_trigger_remove(led_cdev);
|
||||
return count;
|
||||
}
|
||||
|
||||
@@ -139,6 +137,13 @@ void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trigger)
|
||||
led_cdev->trigger = trigger;
|
||||
}
|
||||
|
||||
void led_trigger_remove(struct led_classdev *led_cdev)
|
||||
{
|
||||
down_write(&led_cdev->trigger_lock);
|
||||
led_trigger_set(led_cdev, NULL);
|
||||
up_write(&led_cdev->trigger_lock);
|
||||
}
|
||||
|
||||
void led_trigger_set_default(struct led_classdev *led_cdev)
|
||||
{
|
||||
struct led_trigger *trig;
|
||||
@@ -231,6 +236,7 @@ void led_trigger_unregister_simple(struct led_trigger *trigger)
|
||||
|
||||
/* Used by LED Class */
|
||||
EXPORT_SYMBOL_GPL(led_trigger_set);
|
||||
EXPORT_SYMBOL_GPL(led_trigger_remove);
|
||||
EXPORT_SYMBOL_GPL(led_trigger_set_default);
|
||||
EXPORT_SYMBOL_GPL(led_trigger_show);
|
||||
EXPORT_SYMBOL_GPL(led_trigger_store);
|
||||
|
Reference in New Issue
Block a user