lkml.org 
[lkml]   [2015]   [Sep]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2 12/12] media: flash: use led_set_brightness_sync for torch brightness
Hi Pavel,

Thanks for the review.

On 09/28/2015 10:37 PM, Pavel Machek wrote:
> On Mon 2015-09-28 15:07:21, Jacek Anaszewski wrote:
>> LED subsystem shifted responsibility for choosing between SYNC or ASYNC
>> way of setting brightness from drivers to the caller. Adapt the wrapper
>> to those changes.
>
> Umm. Maybe right patch, but wrong position in the queue, no?
>
> If I understand changelog correctly, LED flashes will be subtly broken
> before this patch is applied.
>
> I guess this patch should be moved sooner so everything works at each
> position in bisect...?

Moving it wouldn't improve anything. It would have to be merged with
patch 7/12 [1]. However, as you mentioned, LED flashes before this
patch will be broken only subtly, i.e. torch brightness will be set
from a work queue task and not synchronously. It would be barely
noticeable. Nonetheless, I can merge the patches in the next
version of the patch set.

[1] https://lkml.org/lkml/2015/9/28/322

> Best regards,
> Pavel
>
>> Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
>> Cc: Sakari Ailus <sakari.ailus@linux.intel.com>
>> Cc: Pavel Machek <pavel@ucw.cz>
>> Cc: linux-media@vger.kernel.org
>> ---
>> drivers/media/v4l2-core/v4l2-flash-led-class.c | 8 ++++----
>> 1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/media/v4l2-core/v4l2-flash-led-class.c b/drivers/media/v4l2-core/v4l2-flash-led-class.c
>> index 5bdfb8d..5d67335 100644
>> --- a/drivers/media/v4l2-core/v4l2-flash-led-class.c
>> +++ b/drivers/media/v4l2-core/v4l2-flash-led-class.c
>> @@ -107,10 +107,10 @@ static void v4l2_flash_set_led_brightness(struct v4l2_flash *v4l2_flash,
>> if (ctrls[LED_MODE]->val != V4L2_FLASH_LED_MODE_TORCH)
>> return;
>>
>> - led_set_brightness(&v4l2_flash->fled_cdev->led_cdev,
>> + led_set_brightness_sync(&v4l2_flash->fled_cdev->led_cdev,
>> brightness);
>> } else {
>> - led_set_brightness(&v4l2_flash->iled_cdev->led_cdev,
>> + led_set_brightness_sync(&v4l2_flash->iled_cdev->led_cdev,
>> brightness);
>> }
>> }
>> @@ -206,11 +206,11 @@ static int v4l2_flash_s_ctrl(struct v4l2_ctrl *c)
>> case V4L2_CID_FLASH_LED_MODE:
>> switch (c->val) {
>> case V4L2_FLASH_LED_MODE_NONE:
>> - led_set_brightness(led_cdev, LED_OFF);
>> + led_set_brightness_sync(led_cdev, LED_OFF);
>> return led_set_flash_strobe(fled_cdev, false);
>> case V4L2_FLASH_LED_MODE_FLASH:
>> /* Turn the torch LED off */
>> - led_set_brightness(led_cdev, LED_OFF);
>> + led_set_brightness_sync(led_cdev, LED_OFF);
>> if (ctrls[STROBE_SOURCE]) {
>> external_strobe = (ctrls[STROBE_SOURCE]->val ==
>> V4L2_FLASH_STROBE_SOURCE_EXTERNAL);
>


--
Best Regards,
Jacek Anaszewski


\
 
 \ /
  Last update: 2015-09-29 09:41    [W:0.582 / U:0.064 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site