X86 platform drivers
 help / color / mirror / Atom feed
From: Ponali <ponali2k@gmail.com>
To: Denis Benato <denis.benato@linux.dev>
Cc: platform-driver-x86@vger.kernel.org,
	ilpo.jarvinen@linux.intel.com, hansg@kernel.org, luke@ljones.dev,
	deor001@gmail.com, benato.denis96@gmail.com,
	Salvatore Bonaccorso <carnil@debian.org>,
	ponali2k@gmail.com
Subject: Re: [PATCH] platform/x86: asus-wmi: fix unclear usage of bd->props.power
Date: Tue, 25 Aug 2026 13:38:01 +0200	[thread overview]
Message-ID: <985b98f7-04a3-449b-ab6e-7f23e29e4b43@gmail.com> (raw)
In-Reply-To: <19443596-887f-4f06-ba74-c75637d6913f@linux.dev>

Hi,


I have applied your small patch, based on the diff you gave me, and the 
ASUS ScreenPad display has started working.


I'm not sure what commit I was supposed to patch though, so I guessed 
9bd6ec. I had to patch it manually because the line numbers weren't 
matching, and you sent me the output of git diff directly instead of the 
contents of a git patch file.



The custom compiled kernel created couldn't handle the brightness 
correctly, only the power:

On KDE Plasma, changing the brightness is possible, but the maximum 
brightness was set to be darker than usual.

On both brightnessctl and sysfs, writing to the brightness value would 
change both brightness and actual_brightness, but no changes would 
appear on the backlight.


Booting to a disk image of pre-6.12.90 linux with XFCE has the same 
exact issues, but then after booting back to my normal 6.12.90 system, 
the maximum brightness came back to what it used to be.


I hope this heisenbug only happened because i simply patched the wrong 
commit.



On 19/08/2026 10:55 PM, Denis Benato wrote:
> On 8/19/26 22:53, Denis Benato wrote:
>> The bd->props.power is checked in parts of the driver correctly comparing with
>> BACKLIGHT_POWER_ON, while in others with a raw usage of bd->props.power
>> and !bd->props.power, moreover in certain checks the logic has been
>> inverted due to BACKLIGHT_POWER_ON being defined as 0: fix both the wrong
>> usage and the inconsistencies by using proper comparisons.
> Can someone having the regression please try this out please?
>> Fixes: 130d29c5627c ("platform/x86: asus-wmi: adjust screenpad power/brightness handling")
>> Closes:https://lore.kernel.org/all/178362762638.911488.8564892548331679884@eldamar.lan/
>> Closes:https://lore.kernel.org/all/ea9c63d1-4776-49d5-9dc4-6c09498f99c9@linux.dev/
>> Signed-off-by: Denis Benato<denis.benato@linux.dev>
>> ---
>>   drivers/platform/x86/asus-wmi.c | 12 +++++++++---
>>   1 file changed, 9 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
>> index 8610663b8269..3600dddd8f36 100644
>> --- a/drivers/platform/x86/asus-wmi.c
>> +++ b/drivers/platform/x86/asus-wmi.c
>> @@ -4500,7 +4500,8 @@ static int update_screenpad_bl_status(struct backlight_device *bd)
>>   	u32 ctrl_param = bd->props.brightness;
>>   	int err = 0;
>>   
>> -	if (bd->props.power) {
>> +	switch (bd->props.power) {
>> +	case BACKLIGHT_POWER_ON:
>>   		err = asus_wmi_set_devstate(ASUS_WMI_DEVID_SCREENPAD_POWER, 1, NULL);
>>   		if (err < 0)
>>   			return err;
>> @@ -4508,12 +4509,17 @@ static int update_screenpad_bl_status(struct backlight_device *bd)
>>   		err = asus_wmi_set_devstate(ASUS_WMI_DEVID_SCREENPAD_LIGHT, ctrl_param, NULL);
>>   		if (err < 0)
>>   			return err;
>> -	}
>> +		break;
>>   
>> -	if (!bd->props.power) {
>> +	case BACKLIGHT_POWER_OFF:
>>   		err = asus_wmi_set_devstate(ASUS_WMI_DEVID_SCREENPAD_POWER, 0, NULL);
>>   		if (err < 0)
>>   			return err;
>> +		break;
>> +
>> +	default:
>> +		pr_warn("Invalid screenpad backlight power state: %d\n", bd->props.power);
>> +		return -EINVAL;
>>   	}
>>   
>>   	return err;


Regards,

Ponali


      reply	other threads:[~2026-08-25 11:38 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-19 20:53 [PATCH] platform/x86: asus-wmi: fix unclear usage of bd->props.power Denis Benato
2026-08-19 20:55 ` Denis Benato
2026-08-25 11:38   ` Ponali [this message]

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=985b98f7-04a3-449b-ab6e-7f23e29e4b43@gmail.com \
    --to=ponali2k@gmail.com \
    --cc=benato.denis96@gmail.com \
    --cc=carnil@debian.org \
    --cc=denis.benato@linux.dev \
    --cc=deor001@gmail.com \
    --cc=hansg@kernel.org \
    --cc=ilpo.jarvinen@linux.intel.com \
    --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