All of lore.kernel.org
 help / color / mirror / Atom feed
From: Aaron Lu <aaron.lu@intel.com>
To: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: ntrrgc@gmail.com, ACPI Devel Mailing List <linux-acpi@vger.kernel.org>
Subject: Re: [PATCH] ACPI / video: check _DOD list when creating backlight device
Date: Thu, 09 Oct 2014 16:27:55 +0800	[thread overview]
Message-ID: <5436470B.3030306@intel.com> (raw)
In-Reply-To: <1648939.GaN1bonAuX@vostro.rjw.lan>

On 10/01/2014 04:18 AM, Rafael J. Wysocki wrote:
> On Tuesday, September 30, 2014 02:10:17 PM Aaron Lu wrote:
>> The _DOD method lists which video output device is currently attached so
>> we should only care about them and ignore others. An user recently
>> reported that there are two acpi_video interfaces appeared on his system
>> and one of them doesn't work. From the acpidump, it is found that there
>> are more than one video output devices that have _BCM control method but
>> the _DOD lists only one of them. So this patch checks if the video output
>> device is in the _DOD list and will not create backlight device if it is
>> not in the list. Also, we consider the broken _DOD case(reflected by the
>> video->attached_count is 0) and do not change behaviour for those broken
>> _DOD systems.
>>
>> Buglink: https://bugzilla.kernel.org/show_bug.cgi?id=84111
>> Reported-and-tested-by: ntrrgc@gmail.com
>> Signed-off-by: Aaron Lu <aaron.lu@intel.com>
> 
> This looks reasonable to me, but I'm a little afraid that it may break
> systems which forget to list valid interfaces in the _DOD.

Indeed, this is possible.

> 
> For this reason, I'm queuing this up for 3.18, but not for -stable.

Agree.

> 
> We can request a backport after a while when we're reasonably sure that
> there are no regressions resulting from this.

Sounds good, thanks for taking care of this!

Regards,
Aaron

> 
>> ---
>>  drivers/acpi/video.c | 26 ++++++++++++++++++++++++++
>>  1 file changed, 26 insertions(+)
>>
>> diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
>> index 7285c7f9a935..807a88a0f394 100644
>> --- a/drivers/acpi/video.c
>> +++ b/drivers/acpi/video.c
>> @@ -1154,6 +1154,23 @@ acpi_video_device_bind(struct acpi_video_bus *video,
>>  	}
>>  }
>>  
>> +static bool acpi_video_device_in_dod(struct acpi_video_device *device)
>> +{
>> +	struct acpi_video_bus *video = device->video;
>> +	int i;
>> +
>> +	/* If we have a broken _DOD, no need to test */
>> +	if (!video->attached_count)
>> +		return true;
>> +
>> +	for (i = 0; i < video->attached_count; i++) {
>> +		if (video->attached_array[i].bind_info == device)
>> +			return true;
>> +	}
>> +
>> +	return false;
>> +}
>> +
>>  /*
>>   *  Arg:
>>   *	video	: video bus device
>> @@ -1593,6 +1610,15 @@ static void acpi_video_dev_register_backlight(struct acpi_video_device *device)
>>  	static int count;
>>  	char *name;
>>  
>> +	/*
>> +	 * Do not create backlight device for video output
>> +	 * device that is not in the enumerated list.
>> +	 */
>> +	if (!acpi_video_device_in_dod(device)) {
>> +		dev_dbg(&device->dev->dev, "not in _DOD list, ignore\n");
>> +		return;
>> +	}
>> +
>>  	result = acpi_video_init_brightness(device);
>>  	if (result)
>>  		return;
>>
> 


  reply	other threads:[~2014-10-09  8:27 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-30  6:10 [PATCH] ACPI / video: check _DOD list when creating backlight device Aaron Lu
2014-09-30 20:18 ` Rafael J. Wysocki
2014-10-09  8:27   ` Aaron Lu [this message]
2014-11-28  9:59     ` Brian Norris
2014-11-28 11:55       ` Aaron Lu
2014-11-28 17:18         ` Brian Norris
2014-11-29 13:01           ` Aaron Lu
2014-11-29 17:34             ` Brian Norris
2014-11-30  1:14               ` [PATCH] ACPI / video: update the condition to check if a device is in _DOD list Aaron Lu
2014-12-03  2:25                 ` Rafael J. Wysocki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5436470B.3030306@intel.com \
    --to=aaron.lu@intel.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=ntrrgc@gmail.com \
    --cc=rjw@rjwysocki.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.