[PATCH v2 0/9] Add RT5033 charger device driver

From: Jakob Hauser
Date: Sun Apr 16 2023 - 08:45:09 EST


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