aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/leds-pca9532.h
diff options
context:
space:
mode:
authorRiku Voipio <riku.voipio@iki.fi>2008-12-03 03:21:36 -0500
committerRichard Purdie <rpurdie@linux.intel.com>2009-01-08 07:38:58 -0500
commit934cd3f979a1daacbd403398f2c7a8f6720c33aa (patch)
tree1cfb5b9c4d4c380c9b88d045b6aa233ca5211755 /include/linux/leds-pca9532.h
parentf785d022add53ec4d9625495b335bed40bd6c079 (diff)
leds: leds-pcs9532 - Move i2c work to a workqueque
Apparently these might be called under atomic context, and i2c operations may sleep. BUG found by Ross Burton <ross@burtonini.com> Signed-off-by: Riku Voipio <riku.voipio@iki.fi> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'include/linux/leds-pca9532.h')
-rw-r--r--include/linux/leds-pca9532.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/leds-pca9532.h b/include/linux/leds-pca9532.h
index 81b4207deb95..96eea90f01a8 100644
--- a/include/linux/leds-pca9532.h
+++ b/include/linux/leds-pca9532.h
@@ -15,6 +15,7 @@
15#define __LINUX_PCA9532_H 15#define __LINUX_PCA9532_H
16 16
17#include <linux/leds.h> 17#include <linux/leds.h>
18#include <linux/workqueue.h>
18 19
19enum pca9532_state { 20enum pca9532_state {
20 PCA9532_OFF = 0x0, 21 PCA9532_OFF = 0x0,
@@ -31,6 +32,7 @@ struct pca9532_led {
31 struct i2c_client *client; 32 struct i2c_client *client;
32 char *name; 33 char *name;
33 struct led_classdev ldev; 34 struct led_classdev ldev;
35 struct work_struct work;
34 enum pca9532_type type; 36 enum pca9532_type type;
35 enum pca9532_state state; 37 enum pca9532_state state;
36}; 38};