Re: [PATCH 1/6] backlight: Nuke unused backlight.props.state states

From: Jani Nikula
Date: Mon Apr 30 2018 - 06:18:28 EST


On Wed, 25 Apr 2018, Daniel Vetter <daniel.vetter@xxxxxxxx> wrote:
> The backlight power state handling is supremely confusing. We have:
> - props.power, using FB_BLANK_* defines
> - props.fb_blank, using the same, but deprecated int favour of
> props.state
> - props.state, using the BL_CORE_* defines
> - and finally a bunch of backlight drivers treat brightness == 0 as
> off. But of course not all of them.
>
> This is way too much confusion to fix in a simple patch, but at least
> prevent more hilarity from spreading by removing the unused BL_CORE_*
> defines. I have no idea why exactly anyone would need that.
>
> Wrt the ideal state, we really just want a boolean state. The 4 power
> saving states that the fbdev subsystem uses are overkill in todays hw
> (this was only relevant for VGA and similar analog circuits like
> TV-out), the new drm atomic modeset api simplified even the uapi to a
> simple bool. And there was never a valid technical reason to have the
> intermediate fbdev power states for backlights (those really only can
> be either off or on).
>
> Cleanup motivated by Meghana's questions about all this.
>
> Cc: Lee Jones <lee.jones@xxxxxxxxxx>
> Cc: Daniel Thompson <daniel.thompson@xxxxxxxxxx>
> Cc: Jingoo Han <jingoohan1@xxxxxxxxx>
> Cc: Meghana Madhyastha <meghana.madhyastha@xxxxxxxxx>
> Acked-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx>
> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx>

Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx>

> ---
> include/linux/backlight.h | 3 ---
> 1 file changed, 3 deletions(-)
>
> diff --git a/include/linux/backlight.h b/include/linux/backlight.h
> index 2baab6f3861d..1db67662bfcb 100644
> --- a/include/linux/backlight.h
> +++ b/include/linux/backlight.h
> @@ -84,9 +84,6 @@ struct backlight_properties {
>
> #define BL_CORE_SUSPENDED (1 << 0) /* backlight is suspended */
> #define BL_CORE_FBBLANK (1 << 1) /* backlight is under an fb blank event */
> -#define BL_CORE_DRIVER4 (1 << 28) /* reserved for driver specific use */
> -#define BL_CORE_DRIVER3 (1 << 29) /* reserved for driver specific use */
> -#define BL_CORE_DRIVER2 (1 << 30) /* reserved for driver specific use */
> #define BL_CORE_DRIVER1 (1 << 31) /* reserved for driver specific use */
>
> };

--
Jani Nikula, Intel Open Source Technology Center