mbox series

[00/10] power: supply: Charger-manager improvements

Message ID BN6PR04MB06603115D277DF264D9380E8A3BC0@BN6PR04MB0660.namprd04.prod.outlook.com (mailing list archive)
Headers show
Series power: supply: Charger-manager improvements | expand

Message

Jonathan Bakker May 14, 2020, 11:04 p.m. UTC
Charger-manager is a virtual driver for unifying chargers, fuel gauges,
extcon devices, and a thermal device into a battery management system.

Unfortunately, it has been broken since commit 830ae442202e ("extcon:
Remove the deprecated extcon functions") when the extcon internal API
was changed but some drivers were not updated.  Additionally, it had
some race conditions and was unnecessarily complex.

A number of these patches come from a Tizen git tree(1); they have been
rebased and the commit messages cleaned up.

These changes have been tested on a couple of first-gen Galaxy S devices
based on s5pv210 with a modified max8998 driver so that a charger
regulator is exposed.  In addition to the max8998, this hardware has
a max17040 fuel gauge, fsa9480 extcon, and a generic thermal resistor
for temperature sensing.

1) https://git.tizen.org/cgit/platform/kernel/linux-exynos/log/drivers/power/charger-manager.c?h=tizen_5.0

Jonathan Bakker (4):
  power: supply: charger-manager: Always use POWER_SUPPLY_PROP_TEMP
  power: supply: charger-manager: Update extcon functions
  power: supply: charger-manager: Count cm-chargers property directly
  dt-bindings: power: supply: Cleanup charger-manager bindings

Jonghwa Lee (6):
  power: supply: charger-manager: Swap private uevent for
    power_supply_changed
  power: supply: charger-manager: Remove cm_notify_event function
  power: supply: charger-manager: Correct usage of CHARGE_NOW/FULL
  power: supply: charger-manager:  Collect all power_supply_changed()
    calls
  power: supply: charger-manager: Make decisions focussed on battery
    status
  power: supply: charger-manager: Don't start charging in cable
    nofitication

 .../bindings/power/supply/charger-manager.txt |  30 +-
 drivers/power/supply/charger-manager.c        | 571 +++++-------------
 include/linux/power/charger-manager.h         |  41 +-
 3 files changed, 175 insertions(+), 467 deletions(-)

Comments

Sebastian Reichel Aug. 28, 2020, 5:33 p.m. UTC | #1
Hi,

On Thu, May 14, 2020 at 04:04:25PM -0700, Jonathan Bakker wrote:
> Charger-manager is a virtual driver for unifying chargers, fuel gauges,
> extcon devices, and a thermal device into a battery management system.
> 
> Unfortunately, it has been broken since commit 830ae442202e ("extcon:
> Remove the deprecated extcon functions") when the extcon internal API
> was changed but some drivers were not updated.  Additionally, it had
> some race conditions and was unnecessarily complex.
> 
> A number of these patches come from a Tizen git tree(1); they have been
> rebased and the commit messages cleaned up.
> 
> These changes have been tested on a couple of first-gen Galaxy S devices
> based on s5pv210 with a modified max8998 driver so that a charger
> regulator is exposed.  In addition to the max8998, this hardware has
> a max17040 fuel gauge, fsa9480 extcon, and a generic thermal resistor
> for temperature sensing.
> 
> 1) https://git.tizen.org/cgit/platform/kernel/linux-exynos/log/drivers/power/charger-manager.c?h=tizen_5.0

Thanks, queued. I hope this does not trigger more people to use it.
We really need a proper core feature for this.

-- Sebastian