On 2021-11-16 17:56+0100, Thomas Koch wrote:
thank you very much for working on this. It is high time that we leave
external kernel modules for ThinkPads behind us.
On 13.11.21 11:42, Thomas Weißschuh wrote:
Hi,S-o-b/Co-developed-by/Tested-by is fine with me.
this series adds support for the charge_behaviour property to the power
subsystem and thinkpad_acpi driver.
As thinkpad_acpi has to use the 'struct power_supply' created by the generic
ACPI driver it has to rely on custom sysfs attributes instead of proper
power_supply properties to implement this property.
Patch 1: Adds the power_supply documentation and basic public API
Patch 2: Adds helpers to power_supply core to help drivers implement the
charge_behaviour attribute
Patch 3: Adds support for force-discharge to thinkpad_acpi.
Patch 4: Adds support for inhibit-discharge to thinkpad_acpi.
Patch 3 and 4 are largely taken from other patches and adapted to the new API.
(Links are in the patch trailer)
Ognjen Galic, Nicolo' Piazzalunga, Thomas Koch:
Your S-o-b is on the original inhibit_charge and force_discharge patches.
I would like to add you as Co-developed-by but to do that it will also require
your S-o-b. Could you give your sign-offs for the new patches, so you can be
properly attributed?
I tested your patches.
Hardware:
- ThinkPad X220, BAT0
- ThinkPad T450s, BAT0+BAT1
- ThinkPad X1C6, BAT0
Test Results:
1. force-discharge
Everythings works as expected
- Writing including disengaging w/ "auto" : OK
- Reading: OK
- Battery discharging: OK
- Disengaging with "auto": OK
2. inhibit-charge
Works as expected:
- Writing: OK
- Disengaging with "auto": OK
Discrepancies:
- Battery charge inhibited: BAT0 OK, BAT1 no effect e.g. continues charging
- Reading: always returns "auto"
I tested it on a T460s with two batteries and there inhibit-charge works
fine for both batteries.
What does not work is setting force-discharge for both batteries at the same
time.
This makes somewhat sense as on a physical level probably only one of them can
be used at a time.
Mark Pearson: Could you confirm that this is the intended behaviour?
In my changes queued for v2 of the series[0] I added validation of the written
settings and an EIO is now reported if the settings were not applied, so this
should help userspace handle this situatoin.
The plan is to submit v2 after the first round of review for the core PM
changes.
[0] https://git.sr.ht/~t-8ch/linux/tree/charge-control