Re: [PATCHv1 00/19] Improve SBS battery support

From: Sebastian Reichel
Date: Thu May 28 2020 - 18:44:30 EST


Hi,

I queued this series to power-supply's for-next branch.

-- Sebastian

On Wed, May 13, 2020 at 08:55:56PM +0200, Sebastian Reichel wrote:
> This patchset improves support for SBS compliant batteries. Due to
> the changes, the battery now exposes 32 power supply properties and
> (un)plugging it generates a backtrace containing the following message
> without the first patch in this series:
>
> ---------------------------
> WARNING: CPU: 0 PID: 20 at lib/kobject_uevent.c:659 add_uevent_var+0xd4/0x104
> add_uevent_var: too many keys
> ---------------------------
>
> For references this is what an SBS battery status looks like after
> the patch series has been applied:
>
> cat /sys/class/power_supply/sbs-0-000b/uevent
> POWER_SUPPLY_NAME=sbs-0-000b
> POWER_SUPPLY_TYPE=Battery
> POWER_SUPPLY_STATUS=Discharging
> POWER_SUPPLY_CAPACITY_LEVEL=Normal
> POWER_SUPPLY_HEALTH=Good
> POWER_SUPPLY_PRESENT=1
> POWER_SUPPLY_TECHNOLOGY=Li-ion
> POWER_SUPPLY_CYCLE_COUNT=12
> POWER_SUPPLY_VOLTAGE_NOW=11441000
> POWER_SUPPLY_CURRENT_NOW=-26000
> POWER_SUPPLY_CURRENT_AVG=-24000
> POWER_SUPPLY_CAPACITY=76
> POWER_SUPPLY_CAPACITY_ERROR_MARGIN=1
> POWER_SUPPLY_TEMP=198
> POWER_SUPPLY_TIME_TO_EMPTY_AVG=438600
> POWER_SUPPLY_TIME_TO_FULL_AVG=3932100
> POWER_SUPPLY_SERIAL_NUMBER=0000
> POWER_SUPPLY_VOLTAGE_MIN_DESIGN=10800000
> POWER_SUPPLY_VOLTAGE_MAX_DESIGN=10800000
> POWER_SUPPLY_ENERGY_NOW=31090000
> POWER_SUPPLY_ENERGY_FULL=42450000
> POWER_SUPPLY_ENERGY_FULL_DESIGN=41040000
> POWER_SUPPLY_CHARGE_NOW=2924000
> POWER_SUPPLY_CHARGE_FULL=3898000
> POWER_SUPPLY_CHARGE_FULL_DESIGN=3800000
> POWER_SUPPLY_CONSTANT_CHARGE_CURRENT_MAX=3000000
> POWER_SUPPLY_CONSTANT_CHARGE_VOLTAGE_MAX=12300000
> POWER_SUPPLY_MANUFACTURE_YEAR=2017
> POWER_SUPPLY_MANUFACTURE_MONTH=7
> POWER_SUPPLY_MANUFACTURE_DAY=3
> POWER_SUPPLY_MANUFACTURER=UR18650A
> POWER_SUPPLY_MODEL_NAME=GEHC
>
> -- Sebastian
>
> Jean-Francois Dagenais (1):
> power: supply: sbs-battery: add ability to disable charger broadcasts
>
> Sebastian Reichel (18):
> kobject: increase allowed number of uevent variables
> power: supply: core: add capacity error margin property
> power: supply: core: add manufacture date properties
> power: supply: core: add POWER_SUPPLY_HEALTH_CALIBRATION_REQUIRED
> power: supply: sbs-battery: Add TI BQ20Z65 support
> power: supply: sbs-battery: add
> POWER_SUPPLY_PROP_CAPACITY_ERROR_MARGIN support
> power: supply: sbs-battery: simplify read_read_string_data
> power: supply: sbs-battery: add PEC support
> power: supply: sbs-battery: add POWER_SUPPLY_PROP_CURRENT_AVG support
> power: supply: sbs-battery: Improve POWER_SUPPLY_PROP_TECHNOLOGY
> support
> power: supply: sbs-battery: add
> POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT/VOLTAGE_MAX support
> power: supply: sbs-battery: add MANUFACTURE_DATE support
> power: supply: sbs-battery: add
> POWER_SUPPLY_HEALTH_CALIBRATION_REQUIRED support
> power: supply: sbs-battery: fix idle battery status
> power: supply: sbs-battery: switch from of_property_* to
> device_property_*
> power: supply: sbs-battery: switch to i2c's probe_new
> power: supply: sbs-battery: constify power-supply property array
> dt-bindings: power: sbs-battery: Convert to yaml
>
> Documentation/ABI/testing/sysfs-class-power | 45 ++-
> .../power/supply/sbs,sbs-battery.yaml | 83 +++++
> .../bindings/power/supply/sbs_sbs-battery.txt | 27 --
> drivers/power/supply/power_supply_sysfs.c | 5 +
> drivers/power/supply/sbs-battery.c | 348 +++++++++++++-----
> include/linux/kobject.h | 2 +-
> include/linux/power_supply.h | 5 +
> 7 files changed, 404 insertions(+), 111 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/power/supply/sbs,sbs-battery.yaml
> delete mode 100644 Documentation/devicetree/bindings/power/supply/sbs_sbs-battery.txt
>
> --
> 2.26.2
>

Attachment: signature.asc
Description: PGP signature