aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/leds.h
diff options
context:
space:
mode:
authorVincent Donnefort <vdonnefort@gmail.com>2014-06-14 05:21:40 -0400
committerBryan Wu <cooloney@gmail.com>2014-07-03 15:02:14 -0400
commit8b37e1bef5a6b60e949e28a4db3006e4b00bd758 (patch)
tree3d9e31e6cb46cfa4bfc8f746b15dd737c0e068b2 /include/linux/leds.h
parent7e7743901b53dd71bb7332b16b14bcce15ebcd69 (diff)
leds: convert blink timer to workqueue
This patch converts the blink timer from led-core to workqueue which is more suitable for this kind of non-priority operations. Moreover, timer may lead to errors when a LED setting function use a scheduling function such as pinctrl which is using mutex. Signed-off-by: Vincent Donnefort <vdonnefort@gmail.com> Signed-off-by: Bryan Wu <cooloney@gmail.com>
Diffstat (limited to 'include/linux/leds.h')
-rw-r--r--include/linux/leds.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/include/linux/leds.h b/include/linux/leds.h
index e43686472197..6a599dce7f9d 100644
--- a/include/linux/leds.h
+++ b/include/linux/leds.h
@@ -15,7 +15,6 @@
15#include <linux/list.h> 15#include <linux/list.h>
16#include <linux/spinlock.h> 16#include <linux/spinlock.h>
17#include <linux/rwsem.h> 17#include <linux/rwsem.h>
18#include <linux/timer.h>
19#include <linux/workqueue.h> 18#include <linux/workqueue.h>
20 19
21struct device; 20struct device;
@@ -69,7 +68,7 @@ struct led_classdev {
69 const char *default_trigger; /* Trigger to use */ 68 const char *default_trigger; /* Trigger to use */
70 69
71 unsigned long blink_delay_on, blink_delay_off; 70 unsigned long blink_delay_on, blink_delay_off;
72 struct timer_list blink_timer; 71 struct delayed_work blink_work;
73 int blink_brightness; 72 int blink_brightness;
74 73
75 struct work_struct set_brightness_work; 74 struct work_struct set_brightness_work;