diff options
author | Jacek Anaszewski <j.anaszewski@samsung.com> | 2015-11-20 16:47:51 +0100 |
---|---|---|
committer | Jacek Anaszewski <j.anaszewski@samsung.com> | 2016-01-04 09:57:38 +0100 |
commit | ba1c8179c3b8e742eee65bc50bdd1396ac763e0e (patch) | |
tree | 7671ecc6ff3d127139bdb5085654c1076f319bf6 | |
parent | 5a7c536f26186c313e521502f942d5cdaf05b8ee (diff) |
leds: ipaq-micro: Implement brightness_set_blocking op
Since brightness setting can sleep for this driver, implement
brightness_set_blocking op, instead of brightness_set.
It makes this driver compatible with LED triggers.
Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r-- | drivers/leds/leds-ipaq-micro.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/leds/leds-ipaq-micro.c b/drivers/leds/leds-ipaq-micro.c index fa262b6b25eb..02f17331379d 100644 --- a/drivers/leds/leds-ipaq-micro.c +++ b/drivers/leds/leds-ipaq-micro.c @@ -20,7 +20,7 @@ #define LED_AUTOSTOP (1 << 5) /* LED ON/OFF auto stop set 0:disable, 1:enable */ #define LED_ALWAYS (1 << 6) /* LED Interrupt Mask 0:No mask, 1:mask */ -static void micro_leds_brightness_set(struct led_classdev *led_cdev, +static int micro_leds_brightness_set(struct led_classdev *led_cdev, enum led_brightness value) { struct ipaq_micro *micro = dev_get_drvdata(led_cdev->dev->parent->parent); @@ -50,7 +50,7 @@ static void micro_leds_brightness_set(struct led_classdev *led_cdev, msg.tx_data[2] = 1; msg.tx_data[3] = 0; /* Duty cycle 256 */ } - ipaq_micro_tx_msg_sync(micro, &msg); + return ipaq_micro_tx_msg_sync(micro, &msg); } /* Maximum duty cycle in ms 256/10 sec = 25600 ms */ @@ -102,7 +102,7 @@ static int micro_leds_blink_set(struct led_classdev *led_cdev, static struct led_classdev micro_led = { .name = "led-ipaq-micro", - .brightness_set = micro_leds_brightness_set, + .brightness_set_blocking = micro_leds_brightness_set, .blink_set = micro_leds_blink_set, .flags = LED_CORE_SUSPENDRESUME, }; |