[PATCH] leds: Only remove trigger if one is actually configured.

From: Daniel Romell
Date: Wed Sep 14 2016 - 05:23:38 EST


In led_trigger_remove(), check if there is a trigger
configured before calling led_trigger_set(). This will
prevent some unnecessary work, and more importantly stop
sending uevent change events when no change has in fact
occurred.

Signed-off-by: Daniel Romell <daro@xxxxxx>
---
drivers/leds/led-triggers.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/leds/led-triggers.c b/drivers/leds/led-triggers.c
index 59d6a3e..28c7a66 100644
--- a/drivers/leds/led-triggers.c
+++ b/drivers/leds/led-triggers.c
@@ -147,7 +147,8 @@ EXPORT_SYMBOL_GPL(led_trigger_set);
void led_trigger_remove(struct led_classdev *led_cdev)
{
down_write(&led_cdev->trigger_lock);
- led_trigger_set(led_cdev, NULL);
+ if (led_cdev->trigger)
+ led_trigger_set(led_cdev, NULL);
up_write(&led_cdev->trigger_lock);
}
EXPORT_SYMBOL_GPL(led_trigger_remove);
--
2.7.4