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

Daniel Thompson daniel.thompson at linaro.org
Wed Jan 17 17:00:27 UTC 2018



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 at gmail.com>

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


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);
> 


More information about the dri-devel mailing list