From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stas Sergeev Subject: [PATCH 09/20] leds: mark gpio driver with LED_BRIGHTNESS_FAST flag Date: Wed, 20 May 2015 18:27:34 +0300 Message-ID: <555CA7E6.4080300@list.ru> References: <555CA58A.10700@list.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <555CA58A.10700@list.ru> Sender: linux-kernel-owner@vger.kernel.org To: linux-leds@vger.kernel.org Cc: Linux kernel , Stas Sergeev , Bryan Wu , Richard Purdie , Jacek Anaszewski List-Id: linux-leds@vger.kernel.org This driver doesn't use sleeping operations in .brightness_set method if can_sleep variable is not set. In that case it can be marked with LED_BRIGHTNESS_FAST flag. That flag allows changing brightness at high rates (over 100Hz). CC: Bryan Wu CC: Richard Purdie CC: Jacek Anaszewski CC: linux-leds@vger.kernel.org CC: linux-kernel@vger.kernel.org Signed-off-by: Stas Sergeev --- drivers/leds/leds-gpio.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/leds/leds-gpio.c b/drivers/leds/leds-gpio.c index 3af4f2b..0e1346c 100644 --- a/drivers/leds/leds-gpio.c +++ b/drivers/leds/leds-gpio.c @@ -138,6 +138,8 @@ static int create_gpio_led(const struct gpio_led *template, led_dat->cdev.brightness = state ? LED_FULL : LED_OFF; if (!template->retain_state_suspended) led_dat->cdev.flags |= LED_CORE_SUSPENDRESUME; + if (!led_dat->can_sleep) + led_dat->cdev.flags |= LED_BRIGHTNESS_FAST; ret = gpiod_direction_output(led_dat->gpiod, state); if (ret < 0) -- 1.7.9.5