diff options
author | Riku Voipio <riku.voipio@iki.fi> | 2008-12-03 03:21:36 -0500 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2009-01-08 07:38:58 -0500 |
commit | 934cd3f979a1daacbd403398f2c7a8f6720c33aa (patch) | |
tree | 1cfb5b9c4d4c380c9b88d045b6aa233ca5211755 /include/linux/leds-pca9532.h | |
parent | f785d022add53ec4d9625495b335bed40bd6c079 (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.h | 2 |
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 | ||
19 | enum pca9532_state { | 20 | enum 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 | }; |