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@xxxxxxxxxx> Please delete this line, because Lee already sent his Acked-by. > Cc: Daniel Thompson <daniel.thompson@xxxxxxxxxx> > Cc: Jingoo Han <jingoohan1@xxxxxxxxx> Acked-by: Jingoo Han <jingoohan1@xxxxxxxxx> Best regards, Jingoo Han > Reviewed-by: Sam Ravnborg <sam@xxxxxxxxxxxx> > Reviewed-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> > Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> > Signed-off-by: Noralf Trønnes <noralf@xxxxxxxxxxx> > --- > 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