]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
platform/x86: uniwill-laptop: Do not enable the charging limit even when forced
authorArmin Wolf <W_Armin@gmx.de>
Tue, 12 May 2026 23:21:41 +0000 (01:21 +0200)
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Tue, 19 May 2026 13:52:49 +0000 (16:52 +0300)
It seems that on some older models (~2020) the battery charging limit
can permanently damage the battery. Prevent users from enabling this
feature thru the "force" module parameter to avoid causing permanent
hardware damage on such devices.

Fixes: d050479693bb ("platform/x86: Add Uniwill laptop driver")
Link: https://www.reddit.com/r/XMG_gg/comments/ld9yyf/battery_limit_hidden_function_discovered_on/
Reviewed-by: Werner Sembach <wse@tuxedocomputers.com>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Armin Wolf <W_Armin@gmx.de>
Link: https://patch.msgid.link/20260512232145.329260-5-W_Armin@gmx.de
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Documentation/admin-guide/laptops/uniwill-laptop.rst
drivers/platform/x86/uniwill/uniwill-acpi.c

index 561334865feb7e9228aace1a8416951445f3c206..1f3ca84c7d88bb8736d4e4578e88ca1776e7a3c8 100644 (file)
@@ -43,6 +43,11 @@ Support for changing the platform performance mode is currently not implemented.
 Battery Charging Control
 ------------------------
 
+.. warning:: Some devices do not properly implement the charging threshold interface. Forcing
+             the driver to enable access to said interface on such devices might damage the
+             battery [1]_. Because of this the driver will not enable said feature even when
+             using the ``force`` module parameter.
+
 The ``uniwill-laptop`` driver supports controlling the battery charge limit. This happens over
 the standard ``charge_control_end_threshold`` power supply sysfs attribute. All values
 between 1 and 100 percent are supported.
@@ -70,3 +75,8 @@ The ``uniwill-laptop`` driver allows to set the configurable TGP for devices wit
 allow it.
 
 See Documentation/ABI/testing/sysfs-driver-uniwill-laptop for details.
+
+References
+==========
+
+.. [1] https://www.reddit.com/r/XMG_gg/comments/ld9yyf/battery_limit_hidden_function_discovered_on/
index 481c4cf46e6322fc192e81784c42d5af7d70a2e4..8cc01bec77b9c83e39d636915029c432208ba2d6 100644 (file)
@@ -2507,8 +2507,8 @@ static int __init uniwill_init(void)
        }
 
        if (force) {
-               /* Assume that the device supports all features */
-               device_descriptor.features = UINT_MAX;
+               /* Assume that the device supports all features except the charge limit */
+               device_descriptor.features = UINT_MAX & ~UNIWILL_FEATURE_BATTERY;
                pr_warn("Enabling potentially unsupported features\n");
        }