Hello, this series teaches led_trigger_set to handle failure in the .activate callback and allows to add (and remove) device properties automatically. This allows to simplify some trigger drivers, I did it for three of them and can care for the rest as soon as there is agreement that the changes to the core are ok. Note I'm still not sure if addingand removing device properties is ok here, but I'm not making it worse than before and having it in one place might help to solve eventual problems easier. Best regards Uwe Uwe Kleine-König (6): leds: triggers: let struct led_trigger::activate return an error code leds: triggers: add device attribute support leds: triggers: handle .trigger_data and .activated in the core leds: netdev trigger: simplifications from core changes leds: timer trigger: simplifications from core changes leds: transient trigger: simplifications from core changes drivers/leds/led-triggers.c | 44 +++++++++++++-- drivers/leds/trigger/ledtrig-netdev.c | 69 ++++++++---------------- drivers/leds/trigger/ledtrig-timer.c | 39 +++++--------- drivers/leds/trigger/ledtrig-transient.c | 63 +++++++--------------- include/linux/leds.h | 16 ++++-- 5 files changed, 107 insertions(+), 124 deletions(-) -- 2.17.0