Based on an idea from Emil Velikov <emil.l.veli...@gmail.com> add a helper that checks backlight_is_blank() and return 0 as brightness if display is blank or the property value if not.
This allows us to simplify the update_status() implementation in most of the backlight drivers. Signed-off-by: Sam Ravnborg <s...@ravnborg.org> Reviewed-by: Daniel Thompson <daniel.thomp...@linaro.org> Cc: Emil Velikov <emil.l.veli...@gmail.com> Cc: Lee Jones <lee.jo...@linaro.org> Cc: Daniel Thompson <daniel.thomp...@linaro.org> Cc: Jingoo Han <jingooh...@gmail.com> --- include/linux/backlight.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/include/linux/backlight.h b/include/linux/backlight.h index c6ac4cbb9ddb..38db67588b16 100644 --- a/include/linux/backlight.h +++ b/include/linux/backlight.h @@ -417,6 +417,25 @@ static inline bool backlight_is_blank(const struct backlight_device *bd) bd->props.state & (BL_CORE_SUSPENDED | BL_CORE_FBBLANK); } +/** + * backlight_get_brightness - Returns the current brightness value + * @bd: the backlight device + * + * Returns the current brightness value, taking in consideration the current + * state. If backlight_is_blank() returns true then return 0 as brightness + * otherwise return the current brightness property value. + * + * Backlight drivers are expected to use this function in their update_status() + * operation to get the brightness value. + */ +static inline int backlight_get_brightness(const struct backlight_device *bd) +{ + if (backlight_is_blank(bd)) + return 0; + else + return bd->props.brightness; +} + struct backlight_device * backlight_device_register(const char *name, struct device *dev, void *devdata, const struct backlight_ops *ops, -- 2.25.1 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel