This patchset adds the charger driver "rt5033-charger". It is part of the multifunction device rt5033. The patchset is based on an older version by Beomho Seo of March 2015. For more information on the history and setup of the patchset see the cover sheet of version v1, there is a link further down below the changelog. The patchset is still based on next-20230413. Changes in v3: - Drobbed v2 patch 5 "regulator: rt5033: Change regulator names to lowercase". It affects an existing driver, therefore the uppercase node names are tolerable. - Patch 5: In function rt5033_get_charger_state() after "if (!regmap)" changed "return state" to "return POWER_SUPPLY_STATUS_UNKNOWN". If the regmap isn't available, the status is unknown. - Patch 5: Changed function rt5033_charger_dt_init() to the devicetree "battery" node readout style. - Patch 5: Added dev_err() messages if the values are out of range in the init functions rt5033_init_const_charge(), rt5033_init_fast_charge() and rt5033_init_pre_charge(). - Patch 5: In function rt5033_charger_probe() moved rt5033_charger_dt_init() and rt5033_charger_reg_init() behind devm_power_supply_register() because the power supply needs to be initiated to read out the "battery" node. - Patch 7: In function rt5033_battery_get_status() after "if (!charger)" changed "return -ENODEV" to "return POWER_SUPPLY_STATUS_UNKNOWN". If the charger isn't available, the status is unknown. - Changes on patch 8 are described in that patch below the commit message. v1: https://lore.kernel.org/linux-pm/cover.1677620677.git.jahau@xxxxxxxxxxxxxx/T/#t v2: https://lore.kernel.org/linux-pm/cover.1681646904.git.jahau@xxxxxxxxxxxxxx/T/#t The result of the patchset v3 can be seen at: https://github.com/Jakko3/linux/blob/rt5033-charger_v3/drivers/power/supply/rt5033_charger.c Jakob Hauser (7): mfd: rt5033: Fix chip revision readout mfd: rt5033: Fix STAT_MASK, HZ_MASK and AICR defines mfd: rt5033: Apply preparatory changes before adding rt5033-charger driver power: supply: rt5033_charger: Add RT5033 charger device driver power: supply: rt5033_charger: Add cable detection and USB OTG supply power: supply: rt5033_battery: Adopt status property from charger dt-bindings: Add rt5033 mfd, regulator and charger Stephan Gerhold (1): mfd: rt5033: Drop rt5033-battery sub-device .../bindings/mfd/richtek,rt5033.yaml | 105 +++ .../power/supply/richtek,rt5033-charger.yaml | 63 ++ drivers/mfd/rt5033.c | 8 +- drivers/power/supply/Kconfig | 8 + drivers/power/supply/Makefile | 1 + drivers/power/supply/rt5033_battery.c | 24 + drivers/power/supply/rt5033_charger.c | 725 ++++++++++++++++++ include/linux/mfd/rt5033-private.h | 64 +- include/linux/mfd/rt5033.h | 10 +- 9 files changed, 981 insertions(+), 27 deletions(-) create mode 100644 Documentation/devicetree/bindings/mfd/richtek,rt5033.yaml create mode 100644 Documentation/devicetree/bindings/power/supply/richtek,rt5033-charger.yaml create mode 100644 drivers/power/supply/rt5033_charger.c -- 2.39.2