diff options
Diffstat (limited to 'drivers/leds/leds-da903x.c')
-rw-r--r-- | drivers/leds/leds-da903x.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/leds/leds-da903x.c b/drivers/leds/leds-da903x.c index f1fddb18d70d..1f3cc512eff8 100644 --- a/drivers/leds/leds-da903x.c +++ b/drivers/leds/leds-da903x.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/init.h> | 17 | #include <linux/init.h> |
18 | #include <linux/platform_device.h> | 18 | #include <linux/platform_device.h> |
19 | #include <linux/leds.h> | 19 | #include <linux/leds.h> |
20 | #include <linux/workqueue.h> | ||
20 | #include <linux/mfd/da903x.h> | 21 | #include <linux/mfd/da903x.h> |
21 | 22 | ||
22 | #define DA9030_LED1_CONTROL 0x20 | 23 | #define DA9030_LED1_CONTROL 0x20 |
@@ -57,7 +58,7 @@ static void da903x_led_work(struct work_struct *work) | |||
57 | offset = DA9030_LED_OFFSET(led->id); | 58 | offset = DA9030_LED_OFFSET(led->id); |
58 | val = led->flags & ~0x87; | 59 | val = led->flags & ~0x87; |
59 | val |= (led->new_brightness) ? 0x80 : 0; /* EN bit */ | 60 | val |= (led->new_brightness) ? 0x80 : 0; /* EN bit */ |
60 | val |= (led->new_brightness >> 5) & 0x7; /* PWM<2:0> */ | 61 | val |= (0x7 - (led->new_brightness >> 5)) & 0x7; /* PWM<2:0> */ |
61 | da903x_write(led->master, DA9030_LED1_CONTROL + offset, val); | 62 | da903x_write(led->master, DA9030_LED1_CONTROL + offset, val); |
62 | break; | 63 | break; |
63 | case DA9030_ID_VIBRA: | 64 | case DA9030_ID_VIBRA: |