[RESPONDED] Battery charge control thresholds in sysfs

So, exposing the charge threshold in sysfs is something I’m working on. The limit is mediated by the EC, and exposing it in sysfs requires the installation of a battery “extension” (it’s a kernel interface that allows one driver to add sysfs entries to an ACPI battery node owned by another driver.)

I’m planning on seeking upstream approval for this patch soon. For now, though, some teasers:

(rigel) ~ % ls /sys/class/power_supply/BAT1 
alarm           charge_full_design  device        power          subsystem   voltage_min_design
capacity        charge_now          hwmon2        present        technology  voltage_now
capacity_level  current_now         manufacturer  serial_number  type
charge_full     cycle_count         model_name    status         uevent

(rigel) ~ % sudo modprobe framework_acpi

(rigel) ~ % sudo dmesg | tail -n 1
[159509.633091] ACPI: battery: new extension: Framework Laptop Battery Extension

(rigel) ~ % ls /sys/class/power_supply/BAT1/charge_control_end_threshold 
/sys/class/power_supply/BAT1/charge_control_end_threshold

(rigel) ~ % cat /sys/class/power_supply/BAT1/charge_control_end_threshold
100

(rigel) ~ % echo 80 | sudo tee /sys/class/power_supply/BAT1/charge_control_end_threshold
80

21 Likes