From nobody Thu Apr 2 22:05:28 2026 Received: from out-171.mta0.migadu.com (out-171.mta0.migadu.com [91.218.175.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8AFD135771F for ; Thu, 12 Feb 2026 22:03:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770933783; cv=none; b=l4IQYXXQk21C4mAI8Al/pHo43M30dEDuz36RjkpuUnB7r7tqYEeIxLcAfFFgQZhWYDGlnfZNxV1r44ZCVYuRDNPFDsmhEWmObty3CSXcav38Ish6SyUh5ddBWvimlB9renZVUQFRcxBwCnqgmH9kGHUWW0lxovegzb/RBnRKoDY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770933783; c=relaxed/simple; bh=zyqwF31fyoruv/y1t2PhjiBiReQMQXktD5kRu2o3d1E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JKy9XDTZ2GyEwRlV8D+MD8oF8w80y3qNp7pxXxPRVI5noTwhpLY8PNCpWDR7r3uRjDTyi6HHrEiKkmVzO71eJmD3WCsT/gHVkyVOb3FjoTb9tUrX90dB8gGMZiTMdRPFIqxlFCXkeMgrorzKkAzh6MhQZ/DM3GAVuq0AmiUjp5s= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=QRm+4n7r; arc=none smtp.client-ip=91.218.175.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="QRm+4n7r" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1770933779; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=tiMOT32y1vW0t6b4QGuHk6IsPABbljM/OC4LYox+mog=; b=QRm+4n7rP7rodBbsS127UGdMPL0W+2FUhfSO5NTIh66y+57N0PUKCr8BgLbJlozyGNPXTb yF1B7Q81ah5jWZFqj3YlKMRDW6yVzAW++mLXiNfqVC4T1D8wDavOzlf9BLBIYMuxYkXPml 4E6yjMygXYkF/26eAlGRK5o9T990FL8= From: Denis Benato To: linux-kernel@vger.kernel.org Cc: platform-driver-x86@vger.kernel.org, "Hans de Goede" , =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= , "Luke D . Jones" , "Mateusz Schyboll" , "Denis Benato" , Denis Benato Subject: [PATCH 2/2] platform/x86: asus-wmi: fix screenpad brightness scaling Date: Thu, 12 Feb 2026 23:02:52 +0100 Message-ID: <20260212220252.1526337-3-denis.benato@linux.dev> In-Reply-To: <20260212220252.1526337-1-denis.benato@linux.dev> References: <20260212220252.1526337-1-denis.benato@linux.dev> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" Fix incorrect brightness scaling by removing the inconsistent use of an arbitrary minimum. Signed-off-by: Denis Benato Signed-off-by: Luke Jones --- drivers/platform/x86/asus-wmi.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wm= i.c index 4130dae37e15..5443aaf99e38 100644 --- a/drivers/platform/x86/asus-wmi.c +++ b/drivers/platform/x86/asus-wmi.c @@ -125,7 +125,6 @@ module_param(fnlock_default, bool, 0444); #define NVIDIA_TEMP_MIN 75 #define NVIDIA_TEMP_MAX 87 =20 -#define ASUS_SCREENPAD_BRIGHT_MIN 20 #define ASUS_SCREENPAD_BRIGHT_MAX 255 #define ASUS_SCREENPAD_BRIGHT_DEFAULT 60 =20 @@ -4243,13 +4242,13 @@ static int read_screenpad_brightness(struct backlig= ht_device *bd) return err; /* The device brightness can only be read if powered, so return stored */ if (err =3D=3D BACKLIGHT_POWER_OFF) - return asus->driver->screenpad_brightness - ASUS_SCREENPAD_BRIGHT_MIN; + return bd->props.brightness; =20 err =3D asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_SCREENPAD_LIGHT, &retv= al); if (err < 0) return err; =20 - return (retval & ASUS_WMI_DSTS_BRIGHTNESS_MASK) - ASUS_SCREENPAD_BRIGHT_M= IN; + return (retval & ASUS_WMI_DSTS_BRIGHTNESS_MASK); } =20 static int update_screenpad_bl_status(struct backlight_device *bd) @@ -4289,22 +4288,19 @@ static int asus_screenpad_init(struct asus_wmi *asu= s) int err, power; int brightness =3D 0; =20 - power =3D read_screenpad_backlight_power(asus); + power =3D asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_SCREENPAD_POW= ER); if (power < 0) return power; =20 - if (power !=3D BACKLIGHT_POWER_OFF) { + if (power) { err =3D asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_SCREENPAD_LIGHT, &bri= ghtness); if (err < 0) return err; } - /* default to an acceptable min brightness on boot if too low */ - if (brightness < ASUS_SCREENPAD_BRIGHT_MIN) - brightness =3D ASUS_SCREENPAD_BRIGHT_DEFAULT; =20 memset(&props, 0, sizeof(struct backlight_properties)); props.type =3D BACKLIGHT_RAW; /* ensure this bd is last to be picked */ - props.max_brightness =3D ASUS_SCREENPAD_BRIGHT_MAX - ASUS_SCREENPAD_BRIGH= T_MIN; + props.max_brightness =3D ASUS_SCREENPAD_BRIGHT_MAX; bd =3D backlight_device_register("asus_screenpad", &asus->platform_device->dev, asus, &asus_screenpad_bl_ops, &props); @@ -4315,7 +4311,7 @@ static int asus_screenpad_init(struct asus_wmi *asus) =20 asus->screenpad_backlight_device =3D bd; asus->driver->screenpad_brightness =3D brightness; - bd->props.brightness =3D brightness - ASUS_SCREENPAD_BRIGHT_MIN; + bd->props.brightness =3D brightness; bd->props.power =3D power; backlight_update_status(bd); =20 --=20 2.53.0