Message ID | 20180117140159.27611-1-daniel.vetter@ffwll.ch (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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.
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 --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 */ };
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(-)