mbox series

[v4,0/4] power: supply: Add new "charge_types" property

Message ID 20241211174451.355421-1-hdegoede@redhat.com
Headers show
Series power: supply: Add new "charge_types" property | expand

Message

Hans de Goede Dec. 11, 2024, 5:44 p.m. UTC
Hi,

As first discussed here:
https://lore.kernel.org/linux-pm/49993a42-aa91-46bf-acef-4a089db4c2db@redhat.com/

Some power_supply devices have a writable charge_type property, but
userspace cannot know which charge_type values are valid to write.

This series adds a new "charge_types" property, which is identical to
"charge_type" but reading returns a list of supported charge-types with
the currently active type surrounded by square brackets, e.g.:

Fast [Standard] Long_Life

this allows userspace to find out which charge-types are supported.

Patch 1/4 does some prep work and patch 2/4 is the core implementation
of "charge_types" property support.

Patch 3/4 is a standard psy-driver user of the new "charge_types"
property support. Patch 4/4 shows an ACPI battery extension driver
with support for this property using the new show()/store() helpers.

Changes in v4:
- Rebase on top of latest sre/linux-power-supply.git/for-next
- Only print current value in uevent using new uevent flag passed to
  power_supply_format_property()
- Put new POWER_SUPPLY_PROP_CHARGE_TYPES enum power_supply_property entry
  directly after the existing POWER_SUPPLY_PROP_CHARGE_TYPE entry

Changes in v3:
- Rebase on top of v6.13-rc1

Changes in v2:
- Replace spaces with '_' instead of surrounding the text-value by ""
- Add "Check charge_types to get the values supported by the battery."
  to Documentation/ABI/testing/sysfs-class-power
- Add a note about labels with spaces having these replaced by '_'
  in charge_types output to Documentation/ABI/testing/sysfs-class-power
- Use power_supply_match_string() in power_supply_charge_types_parse()

Regards,

Hans


Hans de Goede (4):
  power: supply: power_supply_show_enum_with_available(): Replace spaces
    with '_'
  power: supply: core: Add new "charge_types" property
  power: supply: bq24190_charger: Add support for "charge_types"
    property
  platform/x86: dell-laptop: Use power_supply_charge_types_show/_parse()
    helpers

 Documentation/ABI/testing/sysfs-class-power | 20 ++++++
 drivers/platform/x86/dell/dell-laptop.c     | 54 +++++++--------
 drivers/power/supply/bq24190_charger.c      |  7 ++
 drivers/power/supply/power_supply_sysfs.c   | 73 +++++++++++++++++++--
 include/linux/power_supply.h                | 23 ++++++-
 5 files changed, 143 insertions(+), 34 deletions(-)

Comments

Sebastian Reichel Dec. 12, 2024, 11:51 p.m. UTC | #1
On Wed, 11 Dec 2024 18:44:47 +0100, Hans de Goede wrote:
> As first discussed here:
> https://lore.kernel.org/linux-pm/49993a42-aa91-46bf-acef-4a089db4c2db@redhat.com/
> 
> Some power_supply devices have a writable charge_type property, but
> userspace cannot know which charge_type values are valid to write.
> 
> This series adds a new "charge_types" property, which is identical to
> "charge_type" but reading returns a list of supported charge-types with
> the currently active type surrounded by square brackets, e.g.:
> 
> [...]

Applied, thanks!

[2/4] power: supply: core: Add new "charge_types" property
      commit: d24bf99214b199c25f9c2cb04b3a4993d1c7ab60
[3/4] power: supply: bq24190_charger: Add support for "charge_types" property
      commit: 5d417a5e7ade02a7b75cd886d8afe3e9025e7e25

Best regards,