aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/backlight.h
diff options
context:
space:
mode:
authorSam Ravnborg <sam@ravnborg.org>2020-07-19 10:07:36 +0200
committerLee Jones <lee.jones@linaro.org>2020-07-20 10:27:02 +0100
commit2144d00ed0db28c764513080f95e4c49ea9133b0 (patch)
tree5168f25f5c6013e7bf5941b612a9a815a1bcb92a /include/linux/backlight.h
parentdoc-rst: Wire-up Backlight kernel-doc documentation (diff)
downloadwireguard-linux-2144d00ed0db28c764513080f95e4c49ea9133b0.tar.xz
wireguard-linux-2144d00ed0db28c764513080f95e4c49ea9133b0.zip
backlight: backlight: Introduce backlight_get_brightness()
Based on an idea from Emil Velikov, 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 <sam@ravnborg.org> Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
Diffstat (limited to 'include/linux/backlight.h')
-rw-r--r--include/linux/backlight.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/include/linux/backlight.h b/include/linux/backlight.h
index c1824426fc9e..26e89a8033f5 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,