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. In patch 9 I didn't change the extcon phandle, I haven't received any answer on this. Changes in v2: - Rebased to linux-next (20230413), as suggested by Lee. - The v1 patch 3 "mfd: rt5033: Fix comments and style in includes" vanished as it got applied already. - Dropped the v1 patch 8 "power: supply: rt5033_charger: Make use of high impedance mode". The high impedance mode is kind of a sleep mode for power saving. It turned out that it might complicate a future implementation of an rt5033 flash LED driver. Therefore drop it for now. The high impedance mode could be added at a later date as a power saving improvement. - Patch 2: Changed variable name "data" back to original "dev_id". - New patch 5: Changed name of regulators to lowercase, as suggested by Rob. - Patch 6: In function "rt5033_charger_dt_init" replaced the devicetree units "uamp" to "microamp" and "uvolt" to "microvolt". However, I didn't change the unit names of the driver-internal variables in order to keep the variable names short. Let me know if you think they should be changed too. - Patch 9: Removed '|' after all "description" blocks in all three files. - Patch 9: In the example of "mfd/richtek,rt5033.yaml" changed "i2c@0" to "i2c". - Patch 9: In the example of "mfd/richtek,rt5033.yaml" removed the last part on the battery fuelgauge. It has its own I2C line and is therefore not a subsidiary of the rt5033 MFD driver. - Patch 9: Replaced units "uamp" by "microamp" and "uvolt" by "microvolt" in the example of "mfd/richtek,rt5033.yaml" and the file "power/supply/richtek,rt5033-charger.yaml". - Patch 9: Changed name of regulators to lowercase in "regulator/richtek,rt5033-regulator.yaml" and in the example of "mfd/richtek,rt5033.yaml" (related to patch 5). - Patch 9: Removed example from "regulator/richtek,rt5033-regulator.yaml". It is already part of the example in "mfd/richtek,rt5033.yaml". v1: https://lore.kernel.org/linux-pm/cover.1677620677.git.jahau@xxxxxxxxxxxxxx/T/#t The result of the patchset v2 can be seen at: https://github.com/Jakko3/linux/blob/rt5033-charger_v2/drivers/power/supply/rt5033_charger.c Jakob Hauser (8): 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 regulator: rt5033: Change regulator names to lowercase 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 documentation for rt5033 mfd, regulator and charger Stephan Gerhold (1): mfd: rt5033: Drop rt5033-battery sub-device .../bindings/mfd/richtek,rt5033.yaml | 90 +++ .../power/supply/richtek,rt5033-charger.yaml | 76 ++ .../regulator/richtek,rt5033-regulator.yaml | 24 + 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 | 724 ++++++++++++++++++ drivers/regulator/rt5033-regulator.c | 12 +- include/linux/mfd/rt5033-private.h | 64 +- include/linux/mfd/rt5033.h | 10 +- 11 files changed, 1008 insertions(+), 33 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 Documentation/devicetree/bindings/regulator/richtek,rt5033-regulator.yaml create mode 100644 drivers/power/supply/rt5033_charger.c -- 2.39.2