Messages in this thread | | | Date | Thu, 14 May 2015 12:33:48 +0200 | From | Jacek Anaszewski <> | Subject | Re: [PATCH] leds: fix brightness changing when software blinking is active |
| |
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
| |