summaryrefslogtreecommitdiff
path: root/include/linux/backlight.h
diff options
context:
space:
mode:
authorMeghana Madhyastha <meghana.madhyastha@gmail.com>2018-01-24 19:35:30 +0300
committerSean Paul <seanpaul@chromium.org>2018-01-29 18:34:53 +0300
commitc2adda27d202fa8f70a5d6e8b0c12b449c8868b8 (patch)
tree4dae2ef4d28ae0b0e73022cae120a78d174f3aca /include/linux/backlight.h
parent5b698be0497d8be986e2050e9b1c145b2e0603c2 (diff)
downloadlinux-c2adda27d202fa8f70a5d6e8b0c12b449c8868b8.tar.xz
video: backlight: Add of_find_backlight helper in backlight.c
Add of_find_backlight, a helper function which is a generic version of tinydrm_of_find_backlight that can be used by other drivers to avoid repetition of code and simplify things. Acked-by: Daniel Thompson <daniel.thompson@linaro.org> Reviewed-by: Noralf Trønnes <noralf@tronnes.org> Reviewed-by: Sean Paul <seanpaul@chromium.org> Reviewed-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Meghana Madhyastha <meghana.madhyastha@gmail.com> Signed-off-by: Sean Paul <seanpaul@chromium.org> Link: https://patchwork.freedesktop.org/patch/msgid/116d160ba78be2e6dcbdcb6855622bce67da9472.1516810725.git.meghana.madhyastha@gmail.com
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 ace825e2ca2d..ddc9bade4fb2 100644
--- a/include/linux/backlight.h
+++ b/include/linux/backlight.h
@@ -162,6 +162,16 @@ static inline int backlight_disable(struct backlight_device *bd)
return backlight_update_status(bd);
}
+/**
+ * backlight_put - Drop backlight reference
+ * @bd: the backlight device to put
+ */
+static inline void backlight_put(struct backlight_device *bd)
+{
+ if (bd)
+ put_device(&bd->dev);
+}
+
extern struct backlight_device *backlight_device_register(const char *name,
struct device *dev, void *devdata, const struct backlight_ops *ops,
const struct backlight_properties *props);
@@ -205,4 +215,13 @@ of_find_backlight_by_node(struct device_node *node)
}
#endif
+#if IS_ENABLED(CONFIG_BACKLIGHT_CLASS_DEVICE)
+struct backlight_device *of_find_backlight(struct device *dev);
+#else
+static inline struct backlight_device *of_find_backlight(struct device *dev)
+{
+ return NULL;
+}
+#endif
+
#endif