lkml.org 
[lkml]   [2013]   [Oct]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH v4 1/4] backlight: introduce backlight_device_registered
Date
On Thursday, October 10, 2013 08:54:29 AM Aaron Lu wrote:
> On 10/10/2013 08:25 AM, Rafael J. Wysocki wrote:
> > On Tuesday, October 08, 2013 02:39:58 PM Aaron Lu wrote:
> >> Introduce a new API for modules to query if a specific type of backlight
> >> device has been registered. This is useful for some backlight device
> >> provider module(e.g. ACPI video) to know if a native control
> >> interface(e.g. the interface created by i915) is available and then do
> >> things accordingly(e.g. avoid register its own on Win8 systems).
> >>
> >> Signed-off-by: Aaron Lu <aaron.lu@intel.com>
> >> Tested-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
> >> Tested-by: Yves-Alexis Perez <corsac@debian.org>
> >> Tested-by: Mika Westerberg <mika.westerberg@linux.intel.com>
> >> ---
> >> drivers/video/backlight/backlight.c | 31 +++++++++++++++++++++++++++++++
> >> include/linux/backlight.h | 4 ++++
> >> 2 files changed, 35 insertions(+)
> >>
> >> diff --git a/drivers/video/backlight/backlight.c b/drivers/video/backlight/backlight.c
> >> index 94a403a..bf2d71d 100644
> >> --- a/drivers/video/backlight/backlight.c
> >> +++ b/drivers/video/backlight/backlight.c
> >> @@ -21,6 +21,9 @@
> >> #include <asm/backlight.h>
> >> #endif
> >>
> >> +static struct list_head bd_list_head;
> >> +static struct mutex bd_list_mutex;
> >
> > I'd prefer these two things to be called backlight_dev_list and
> > backlight_dev_list_mutex, respectively.
>
> OK.
>
> >
> >> +
> >> static const char *const backlight_types[] = {
> >> [BACKLIGHT_RAW] = "raw",
> >> [BACKLIGHT_PLATFORM] = "platform",
> >> @@ -349,10 +352,32 @@ struct backlight_device *backlight_device_register(const char *name,
> >> mutex_unlock(&pmac_backlight_mutex);
> >> #endif
> >>
> >> + mutex_lock(&bd_list_mutex);
> >> + list_add(&new_bd->entry, &bd_list_head);
> >> + mutex_unlock(&bd_list_mutex);
> >> +
> >> return new_bd;
> >> }
> >> EXPORT_SYMBOL(backlight_device_register);
> >>
> >> +bool backlight_device_registered(enum backlight_type type)
> >> +{
> >> + bool found = false;
> >> + struct backlight_device *bd;
> >> +
> >> + mutex_lock(&bd_list_mutex);
> >> + list_for_each_entry(bd, &bd_list_head, entry) {
> >> + if (bd->props.type == type) {
> >> + found = true;
> >> + break;
> >> + }
> >> + }
> >
> > Isn't it useful to be able to register more than one backlight device of the
> > same type sometimes?
>
> I think so for some kind of computers. OTOH, the above function should
> be enough for the problem we are solving here, if someday we need to
> differentiate, we can enhance the code then.

OK



\
 
 \ /
  Last update: 2013-10-10 03:21    [W:0.136 / U:0.272 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site