From: Denis Benato <denis.benato@linux.dev>
To: Luis Miguel Arias <luismi@gdcore.dev>,
corentin.chary@gmail.com, luke@ljones.dev
Cc: hansg@kernel.org, ilpo.jarvinen@linux.intel.com,
platform-driver-x86@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] platform/x86: asus-wmi: restore battery charge limit support
Date: Tue, 18 Aug 2026 20:09:11 +0200 [thread overview]
Message-ID: <ee73bd1c-05ce-4d1f-bd85-392b2d794544@linux.dev> (raw)
In-Reply-To: <20260818174850.51457-1-luismi@gdcore.dev>
On 8/18/26 19:48, Luis Miguel Arias wrote:
> 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%
Hi Luis,
I'm confused here... I sent a temporary revert for this while we waited for
Upower to allow changing threshold with -ENODATA. The current version
of upower is fixed and I wasn't even aware TLP could do this: how do
you do it?
This means TLP also need to support -ENODATA properly and stop treating
it as an error... Do you want to contact them or do you want me to do it?
Anyway the main idea is that this is not the expected behavior and is
considered bad practice to change the limit at boot without user asking,
so I think the wise thing to do is for Ilpo to apply my temporary revert to
platform/x86 too while we wait for TLP to behave properly...
P.S. newer version should have v2. v3 etc...
Best regards,
Denis
> Signed-off-by: Luis Miguel Arias <luismi@gdcore.dev>
> ---
> 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;
> }
next parent reply other threads:[~2026-08-18 18:09 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20260818174850.51457-1-luismi@gdcore.dev>
2026-08-18 18:09 ` Denis Benato [this message]
2026-08-18 17:58 [PATCH] platform/x86: asus-wmi: restore battery charge limit support Luis Miguel Arias
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=ee73bd1c-05ce-4d1f-bd85-392b2d794544@linux.dev \
--to=denis.benato@linux.dev \
--cc=corentin.chary@gmail.com \
--cc=hansg@kernel.org \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=luismi@gdcore.dev \
--cc=luke@ljones.dev \
--cc=platform-driver-x86@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox