[PATCH] platform/x86: asus-wmi: restore battery charge limit support

Luis Miguel Arias <[email protected]>
Newsgroups org.kernel.vger.platform-driver-x86,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
On ASUS systems where the charge threshold is supported through
ASUS_WMI_DEVID_RSOC, initializing charge_end_threshold to -1 causes
the sysfs attribute to return -ENODATA. This makes TLP consider
charge threshold support unavailable.

Initialize the cached threshold to 100 instead, allowing userspace
to set the desired threshold normally.

Tested on ASUS with TLP 1.8.0:

Before this change:
* charge_end_threshold = -1
* TLP reported no charge threshold support

After this change:
* TLP reports "charge threshold" as supported
* natacpi (asus_wmi) is active
* charge_control_end_threshold can be set to 80%

Signed-off-by: Luis Miguel Arias <[email protected]>
---
 drivers/platform/x86/asus-wmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
index 80144c412..87363b198 100644
--- a/drivers/platform/x86/asus-wmi.c
+++ b/drivers/platform/x86/asus-wmi.c
@@ -1586,7 +1586,7 @@ static int asus_wmi_battery_add(struct power_supply *battery, struct acpi_batter
 	 * platforms retains it, therefore signal the threshold as unknown
 	 * until user explicitly sets it to a new value.
 	 */
-	charge_end_threshold = -1;
+	charge_end_threshold = 100;
 
 	return 0;
 }
-- 
2.47.3
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.