diff mbox

ACPI:video: skip evaluating _DOD when it does not exist

Message ID 1464335226-11212-1-git-send-email-alex.hung@canonical.com (mailing list archive)
State Accepted, archived
Delegated to: Rafael Wysocki
Headers show

Commit Message

Alex Hung May 27, 2016, 7:47 a.m. UTC
Some system supports hybrid graphics and its discrete VGA
does not have any connectors and therefore has no _DOD method.

Signed-off-by: Alex Hung <alex.hung@canonical.com>
---
 drivers/acpi/acpi_video.c |    3 +++
 1 file changed, 3 insertions(+)

Comments

Aaron Lu June 3, 2016, 6:04 a.m. UTC | #1
On Fri, May 27, 2016 at 03:47:06PM +0800, Alex Hung wrote:
> Some system supports hybrid graphics and its discrete VGA
> does not have any connectors and therefore has no _DOD method.
> 
> Signed-off-by: Alex Hung <alex.hung@canonical.com>
> ---
>  drivers/acpi/acpi_video.c |    3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/acpi/acpi_video.c b/drivers/acpi/acpi_video.c
> index 5fdac39..549cdbe 100644
> --- a/drivers/acpi/acpi_video.c
> +++ b/drivers/acpi/acpi_video.c
> @@ -1211,6 +1211,9 @@ static int acpi_video_device_enumerate(struct acpi_video_bus *video)
>  	union acpi_object *dod = NULL;
>  	union acpi_object *obj;
>  
> +	if (!video->cap._DOD)
> +		return AE_NOT_EXIST;
> +
>  	status = acpi_evaluate_object(video->device->handle, "_DOD", NULL, &buffer);
>  	if (!ACPI_SUCCESS(status)) {
>  		ACPI_EXCEPTION((AE_INFO, status, "Evaluating _DOD"));

Is the patch supposed to avoid the above error message?
I'm OK with the patch though, it's just not clear to me the point since
the acpi_evaluate_object should probably also return AE_NOT_EXIST.

Thanks,
Aaron
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Alex Hung June 6, 2016, 1:36 a.m. UTC | #2
On Fri, Jun 3, 2016 at 2:04 PM, Aaron Lu <aaron.lu@intel.com> wrote:
> On Fri, May 27, 2016 at 03:47:06PM +0800, Alex Hung wrote:
>> Some system supports hybrid graphics and its discrete VGA
>> does not have any connectors and therefore has no _DOD method.
>>
>> Signed-off-by: Alex Hung <alex.hung@canonical.com>
>> ---
>>  drivers/acpi/acpi_video.c |    3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/acpi/acpi_video.c b/drivers/acpi/acpi_video.c
>> index 5fdac39..549cdbe 100644
>> --- a/drivers/acpi/acpi_video.c
>> +++ b/drivers/acpi/acpi_video.c
>> @@ -1211,6 +1211,9 @@ static int acpi_video_device_enumerate(struct acpi_video_bus *video)
>>       union acpi_object *dod = NULL;
>>       union acpi_object *obj;
>>
>> +     if (!video->cap._DOD)
>> +             return AE_NOT_EXIST;
>> +
>>       status = acpi_evaluate_object(video->device->handle, "_DOD", NULL, &buffer);
>>       if (!ACPI_SUCCESS(status)) {
>>               ACPI_EXCEPTION((AE_INFO, status, "Evaluating _DOD"));
>
> Is the patch supposed to avoid the above error message?
> I'm OK with the patch though, it's just not clear to me the point since
> the acpi_evaluate_object should probably also return AE_NOT_EXIST.

Yes it is to avoid the error message.  As _DOD is checked and it is
known a specific video device does not have it, the error message can
be confusing.


>
> Thanks,
> Aaron
Aaron Lu June 6, 2016, 1:52 a.m. UTC | #3
On 06/06/2016 09:36 AM, Alex Hung wrote:
> On Fri, Jun 3, 2016 at 2:04 PM, Aaron Lu <aaron.lu@intel.com> wrote:
>> On Fri, May 27, 2016 at 03:47:06PM +0800, Alex Hung wrote:
>>> Some system supports hybrid graphics and its discrete VGA
>>> does not have any connectors and therefore has no _DOD method.
>>>
>>> Signed-off-by: Alex Hung <alex.hung@canonical.com>
>>> ---
>>>  drivers/acpi/acpi_video.c |    3 +++
>>>  1 file changed, 3 insertions(+)
>>>
>>> diff --git a/drivers/acpi/acpi_video.c b/drivers/acpi/acpi_video.c
>>> index 5fdac39..549cdbe 100644
>>> --- a/drivers/acpi/acpi_video.c
>>> +++ b/drivers/acpi/acpi_video.c
>>> @@ -1211,6 +1211,9 @@ static int acpi_video_device_enumerate(struct acpi_video_bus *video)
>>>       union acpi_object *dod = NULL;
>>>       union acpi_object *obj;
>>>
>>> +     if (!video->cap._DOD)
>>> +             return AE_NOT_EXIST;
>>> +
>>>       status = acpi_evaluate_object(video->device->handle, "_DOD", NULL, &buffer);
>>>       if (!ACPI_SUCCESS(status)) {
>>>               ACPI_EXCEPTION((AE_INFO, status, "Evaluating _DOD"));
>>
>> Is the patch supposed to avoid the above error message?
>> I'm OK with the patch though, it's just not clear to me the point since
>> the acpi_evaluate_object should probably also return AE_NOT_EXIST.
> 
> Yes it is to avoid the error message.  As _DOD is checked and it is
> known a specific video device does not have it, the error message can
> be confusing.

I see, thanks.

Reviewed-by: Aaron Lu <aaron.lu@intel.com>

Thanks,
Aaron
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Rafael J. Wysocki June 23, 2016, 12:32 a.m. UTC | #4
On Monday, June 06, 2016 09:52:29 AM Aaron Lu wrote:
> On 06/06/2016 09:36 AM, Alex Hung wrote:
> > On Fri, Jun 3, 2016 at 2:04 PM, Aaron Lu <aaron.lu@intel.com> wrote:
> >> On Fri, May 27, 2016 at 03:47:06PM +0800, Alex Hung wrote:
> >>> Some system supports hybrid graphics and its discrete VGA
> >>> does not have any connectors and therefore has no _DOD method.
> >>>
> >>> Signed-off-by: Alex Hung <alex.hung@canonical.com>
> >>> ---
> >>>  drivers/acpi/acpi_video.c |    3 +++
> >>>  1 file changed, 3 insertions(+)
> >>>
> >>> diff --git a/drivers/acpi/acpi_video.c b/drivers/acpi/acpi_video.c
> >>> index 5fdac39..549cdbe 100644
> >>> --- a/drivers/acpi/acpi_video.c
> >>> +++ b/drivers/acpi/acpi_video.c
> >>> @@ -1211,6 +1211,9 @@ static int acpi_video_device_enumerate(struct acpi_video_bus *video)
> >>>       union acpi_object *dod = NULL;
> >>>       union acpi_object *obj;
> >>>
> >>> +     if (!video->cap._DOD)
> >>> +             return AE_NOT_EXIST;
> >>> +
> >>>       status = acpi_evaluate_object(video->device->handle, "_DOD", NULL, &buffer);
> >>>       if (!ACPI_SUCCESS(status)) {
> >>>               ACPI_EXCEPTION((AE_INFO, status, "Evaluating _DOD"));
> >>
> >> Is the patch supposed to avoid the above error message?
> >> I'm OK with the patch though, it's just not clear to me the point since
> >> the acpi_evaluate_object should probably also return AE_NOT_EXIST.
> > 
> > Yes it is to avoid the error message.  As _DOD is checked and it is
> > known a specific video device does not have it, the error message can
> > be confusing.
> 
> I see, thanks.
> 
> Reviewed-by: Aaron Lu <aaron.lu@intel.com>

Patch applied, thanks!

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/acpi/acpi_video.c b/drivers/acpi/acpi_video.c
index 5fdac39..549cdbe 100644
--- a/drivers/acpi/acpi_video.c
+++ b/drivers/acpi/acpi_video.c
@@ -1211,6 +1211,9 @@  static int acpi_video_device_enumerate(struct acpi_video_bus *video)
 	union acpi_object *dod = NULL;
 	union acpi_object *obj;
 
+	if (!video->cap._DOD)
+		return AE_NOT_EXIST;
+
 	status = acpi_evaluate_object(video->device->handle, "_DOD", NULL, &buffer);
 	if (!ACPI_SUCCESS(status)) {
 		ACPI_EXCEPTION((AE_INFO, status, "Evaluating _DOD"));