Re: [PATCH v16 01/10] video: backlight: Add helpers to enable and disable backlight

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jan 17, 2018 at 6:00 PM, Daniel Thompson
<daniel.thompson@xxxxxxxxxx> wrote:
> On 16/01/18 10:31, Meghana Madhyastha wrote:
>>
>> Add helper functions backlight_enable and backlight_disable to
>> enable/disable a backlight device. These helper functions can
>> then be used by different drm and tinydrm drivers to avoid
>> repetition of code and also to enforce a uniform and consistent
>> way to enable/disable a backlight device.
>>
>> Signed-off-by: Meghana Madhyastha <meghana.madhyastha@xxxxxxxxx>
>
>
> To be clear I don't disagree with anthing Daniel V. said about the horribly
> confused (and confusing) power states for backlight.
>
> Nevertheless I don't recall seeing any response (positive or negative) to
> this post from v13:
> https://www.spinics.net/lists/dri-devel/msg154459.html

I think also adjusting the fb_blank bits in these new helpers is a
reasonable thing to do. Maybe with add a huge TODO comment that this
is all a bit sad ...
-Daniel

> Daniel.
>
>
>
>> ---
>>   include/linux/backlight.h | 30 ++++++++++++++++++++++++++++++
>>   1 file changed, 30 insertions(+)
>>
>> diff --git a/include/linux/backlight.h b/include/linux/backlight.h
>> index af7003548..7b6a9a2a3 100644
>> --- a/include/linux/backlight.h
>> +++ b/include/linux/backlight.h
>> @@ -130,6 +130,36 @@ static inline int backlight_update_status(struct
>> backlight_device *bd)
>>         return ret;
>>   }
>>   +/**
>> +  * backlight_enable - Enable backlight
>> +  * @bd: the backlight device to enable
>> +  */
>> +static inline int backlight_enable(struct backlight_device *bd)
>> +{
>> +       if (!bd)
>> +               return 0;
>> +
>> +       bd->props.power = FB_BLANK_UNBLANK;
>> +       bd->props.state &= ~BL_CORE_FBBLANK;
>> +
>> +       return backlight_update_status(bd);
>> +}
>> +
>> +/**
>> +  * backlight_disable - Disable backlight
>> +  * @bd: the backlight device to disable
>> +  */
>> +static inline int backlight_disable(struct backlight_device *bd)
>> +{
>> +       if (!bd)
>> +               return 0;
>> +
>> +       bd->props.power = FB_BLANK_POWERDOWN;
>> +       bd->props.state |= BL_CORE_FBBLANK;
>> +
>> +       return backlight_update_status(bd);
>> +}
>> +
>>   extern struct backlight_device *backlight_device_register(const char
>> *name,
>>         struct device *dev, void *devdata, const struct backlight_ops
>> *ops,
>>         const struct backlight_properties *props);
>>
> _______________________________________________
> dri-devel mailing list
> dri-devel@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/dri-devel



-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux