Re: [PATCH] leds: fix brightness changing when software blinking is active

From: Jacek Anaszewski
Date: Thu May 14 2015 - 06:33:57 EST


On 05/14/2015 11:45 AM, Stas Sergeev wrote:
14.05.2015 11:44, Jacek Anaszewski ÐÐÑÐÑ:

if (led_cdev->blink_delay_on || led_cdev->blink_delay_off) {
led_cdev->delayed_set_value = brightness;
- schedule_work(&led_cdev->set_brightness_work);

This line is still required. Please refer to the patch d23a22a74.
But I really want to get rid of this line and
vacate the work-queue, so that in the future the
per-driver work-queues can be replaced with this.

set_brightness_delayed functions can be used for this as well.
It would only need to be extended.

Why do you think it is still needed?
Are there any valid cases where you need to disable the
soft-blink from hard-irq context? IMHO the soft-blink is
only disabled as a result of user's actions, which is not
in a hard-irq context.
Could you please explain the use-case?

/* Stop blinking */
+ led_stop_software_blink(led_cdev);
This won't be needed.
Indeed, but with these changes there should be no requirement
for disabling a soft-blink from hard-irq context, which is what
I really wanted to have. What am I missing?


Please look at this [1]. Author mentions setting brightness
from sound-card irq handler.

[1] http://www.spinics.net/lists/linux-leds/msg00006.html

--
Best Regards,
Jacek Anaszewski
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/