[PATCH v3 0/8] Add RT5033 charger device driver

From: Jakob Hauser
Date: Thu Apr 27 2023 - 19:30:56 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.

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