diff mbox

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

Message ID 20180117140159.27611-1-daniel.vetter@ffwll.ch (mailing list archive)
State New, archived
Headers show

Commit Message

Daniel Vetter Jan. 17, 2018, 2:01 p.m. UTC
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@linaro.org>
Cc: Daniel Thompson <daniel.thompson@linaro.org>
Cc: Jingoo Han <jingoohan1@gmail.com>
Cc: Meghana Madhyastha <meghana.madhyastha@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 include/linux/backlight.h | 3 ---
 1 file changed, 3 deletions(-)

Comments

Daniel Thompson Jan. 17, 2018, 2:56 p.m. UTC | #1
On 17/01/18 14:01, Daniel Vetter 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@linaro.org>
> Cc: Daniel Thompson <daniel.thompson@linaro.org>
> Cc: Jingoo Han <jingoohan1@gmail.com>
> Cc: Meghana Madhyastha <meghana.madhyastha@gmail.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

Acked-by: Daniel Thompson <daniel.thompson@linaro.org>

Daniel: Ack is info for Lee J, not to imply you should take it through
         one of your trees.


Daniel.
Lee Jones Jan. 18, 2018, 8:32 a.m. UTC | #2
On Wed, 17 Jan 2018, Daniel Thompson wrote:

> On 17/01/18 14:01, Daniel Vetter 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@linaro.org>
> > Cc: Daniel Thompson <daniel.thompson@linaro.org>
> > Cc: Jingoo Han <jingoohan1@gmail.com>
> > Cc: Meghana Madhyastha <meghana.madhyastha@gmail.com>
> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> 
> Acked-by: Daniel Thompson <daniel.thompson@linaro.org>
> 
> Daniel: Ack is info for Lee J, not to imply you should take it through
>         one of your trees.

Right.  I'd rather take the set as a complete unit once all Acks are
acquired though.  Hence my silence thus far.
diff mbox

Patch

diff --git a/include/linux/backlight.h b/include/linux/backlight.h
index af7003548593..9776edb0ff06 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 */
 
 };