Message ID | 20200509141619.32970-2-noralf@tronnes.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Generic USB Display driver | expand |
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
On Sat, 09 May 2020, 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> > Cc: Daniel Thompson <daniel.thompson@linaro.org> > Cc: Jingoo Han <jingoohan1@gmail.com> > 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(+) Applied, thanks.
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)