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(-) -- 2.20.1