[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a5d5f899-d218-b581-b187-f783759b6afa@gmail.com>
Date: Thu, 25 Apr 2019 20:51:54 +0200
From: Yurii Pavlovskyi <yurii.pavlovskyi@...il.com>
To: "Pawnikar, Sumeet R" <sumeet.r.pawnikar@...el.com>
Cc: Corentin Chary <corentin.chary@...il.com>,
Darren Hart <dvhart@...radead.org>,
Andy Shevchenko <andy@...radead.org>,
Daniel Drake <drake@...lessm.com>,
"acpi4asus-user@...ts.sourceforge.net"
<acpi4asus-user@...ts.sourceforge.net>,
"platform-driver-x86@...r.kernel.org"
<platform-driver-x86@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v3 08/11] platform/x86: asus-wmi: Enhance detection of
thermal data
On 24.04.19 20:25, Pawnikar, Sumeet R wrote:
>> + /*
>> + * If the temperature value in deci-Kelvin is near the absolute
>> + * zero temperature, something is clearly wrong.
>> + */
>> + if (!value || value == 1)
>> + return 0;
> Do you still need to return 0 in case of wrong/failure case ?
> Shouldn't you return error here ?
Yes, I think 0 is right there, it's not an error condition in the check
itself (such as IO or memory error). The function returns two values: check
result in asus->asus_hwmon_thermal_available and error code.
This is still a successful negative result. The 0 or 1 (as added in this
patch) there merely indicates that the temperature measurement is not
available this way. It is safe to assume that no device that does provide
temperature will return 0.1 K. The temperature measurement is not critical
for driver operation so the driver proceeds without it.
One could return ENODEV when the check result is negative, but that would
just move the actual check and assignment further to asus_wmi_fan_init.
This is how it might look like in DSDT in this case:
Method (TMPR, 0, NotSerialized)
{
Return (One)
}
..
If ((IIA0 == 0x00110011))
{
Return ((TMPR () & 0xFFFF))
}
This is indeed the right method ID but it's nothing there.
Regards,
Yurii
Powered by blists - more mailing lists