summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJelle van der Waa <jvanderwaa@redhat.com>2025-06-09 12:21:14 +0200
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>2025-06-13 12:33:28 +0300
commitdce77641056ea4fb2efab0a66d6929a5008d7235 (patch)
tree2621469090f4f15e6c51c0e18aa059a1bddb5f75
parentd9926f09edabd81db86768fd87eff3e163f109e2 (diff)
platform/x86: fujitsu: clamp charge_control_end_threshold values to 50
Follow the sysfs ABI documentation that drivers should round written values to the nearest supported value instead of returning an error. Tested on a Fujitsu Lifebook U7720. Signed-off-by: Jelle van der Waa <jvanderwaa@redhat.com> Reviewed-by: Hans de Goede <hansg@kernel.org> Acked-by: Jonathan Woithe <jwoithe@just42.net> Link: https://lore.kernel.org/r/20250609102115.36936-3-jvanderwaa@redhat.com Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
-rw-r--r--drivers/platform/x86/fujitsu-laptop.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/platform/x86/fujitsu-laptop.c b/drivers/platform/x86/fujitsu-laptop.c
index c6ec61518160..931fbcdd21b8 100644
--- a/drivers/platform/x86/fujitsu-laptop.c
+++ b/drivers/platform/x86/fujitsu-laptop.c
@@ -187,9 +187,12 @@ static ssize_t charge_control_end_threshold_store(struct device *dev,
if (ret)
return ret;
- if (value < 50 || value > 100)
+ if (value > 100)
return -EINVAL;
+ if (value < 50)
+ value = 50;
+
cc_end_value = value * 0x100 + 0x20;
s006_cc_return = call_fext_func(fext, FUNC_S006_METHOD,
CHARGE_CONTROL_RW, cc_end_value, 0x0);