On 5/9/20, 10:16 AM, Noralf Trønnes wrote:
Add a way to lookup a backlight device based on its name. Will be used by a USB display gadget getting the name from configfs.
Cc: Lee Jones lee.jones@linaro.org
Please delete this line, because Lee already sent his Acked-by.
Cc: Daniel Thompson daniel.thompson@linaro.org Cc: Jingoo Han jingoohan1@gmail.com
Acked-by: Jingoo Han jingoohan1@gmail.com
Best regards, Jingoo Han
Reviewed-by: Sam Ravnborg sam@ravnborg.org Reviewed-by: Daniel Thompson daniel.thompson@linaro.org Acked-by: Lee Jones lee.jones@linaro.org Signed-off-by: Noralf Trønnes noralf@tronnes.org
drivers/video/backlight/backlight.c | 21 +++++++++++++++++++++ include/linux/backlight.h | 1 + 2 files changed, 22 insertions(+)
diff --git a/drivers/video/backlight/backlight.c b/drivers/video/backlight/backlight.c index cac3e35d7630..92d80aa0c0ef 100644 --- a/drivers/video/backlight/backlight.c +++ b/drivers/video/backlight/backlight.c @@ -432,6 +432,27 @@ struct backlight_device *backlight_device_get_by_type(enum backlight_type type) } EXPORT_SYMBOL(backlight_device_get_by_type);
+/**
- backlight_device_get_by_name - Get backlight device by name
- @name: Device name
- This function looks up a backlight device by its name. It obtains a reference
- on the backlight device and it is the caller's responsibility to drop the
- reference by calling backlight_put().
- Returns:
- A pointer to the backlight device if found, otherwise NULL.
- */
+struct backlight_device *backlight_device_get_by_name(const char *name) +{
- struct device *dev;
- dev = class_find_device_by_name(backlight_class, name);
- return dev ? to_backlight_device(dev) : NULL;
+} +EXPORT_SYMBOL(backlight_device_get_by_name);
/**
- backlight_device_unregister - unregisters a backlight device object.
- @bd: the backlight device object to be unregistered and freed.
diff --git a/include/linux/backlight.h b/include/linux/backlight.h index c7d6b2e8c3b5..56e4580d4f55 100644 --- a/include/linux/backlight.h +++ b/include/linux/backlight.h @@ -190,6 +190,7 @@ extern void backlight_force_update(struct backlight_device *bd, extern int backlight_register_notifier(struct notifier_block *nb); extern int backlight_unregister_notifier(struct notifier_block *nb); extern struct backlight_device *backlight_device_get_by_type(enum backlight_type type); +struct backlight_device *backlight_device_get_by_name(const char *name); extern int backlight_device_set_brightness(struct backlight_device *bd, unsigned long brightness);
#define to_backlight_device(obj) container_of(obj, struct backlight_device, dev)
2.23.0