[PATCH 0/3] mfd: sprd-sc27xx: Move poweroff/reboot support to the parent MFD driver

Otto Pflüger posted 3 patches 4 months ago
There is a newer version of this series
drivers/mfd/sprd-sc27xx-spi.c         | 152 ++++++++++++++++++++++++++++++++++
drivers/power/reset/Kconfig           |   9 --
drivers/power/reset/Makefile          |   1 -
drivers/power/reset/sc27xx-poweroff.c |  79 ------------------
drivers/spi/spi-sprd-adi.c            |  73 +---------------
5 files changed, 153 insertions(+), 161 deletions(-)
[PATCH 0/3] mfd: sprd-sc27xx: Move poweroff/reboot support to the parent MFD driver
Posted by Otto Pflüger 4 months ago
Registers for powering off the system are present in all SC27xx-series
PMICs, although their locations vary between the specific PMIC models.
On systems using these chips, the PMIC can always power off the system
and is usually the only chip capable of doing this. Similarly, the PMICs
(except for SC2731) contain a reset register that can always be used to
restart the system.

There is an existing sc27xx-poweroff driver, but it currently only works
on SC2731 and is not probed anywhere since it is missing an OF match
table and is not instantiated by the MFD driver. Reboot for SC2731 is
implemented in drivers/spi/spi-sprd-adi.c, which is not really an
appropriate location for PMIC-specific code.

Since a separate device tree node for the poweroff support would not
provide anything useful (see [1]) and passing platform-specific data
between drivers is unnecessarily complex for such a simple feature,
reimplement the poweroff functionality in the main MFD driver. While at
it, add support for the newer SC2730 PMIC and its hardware reset
register.

Reboot is special because it requires storing the reboot mode. Move the
existing code for this from the SPI bus driver to the MFD driver.

[1]: https://lore.kernel.org/all/20251002025344.GA2958334-robh@kernel.org/

Signed-off-by: Otto Pflüger <otto.pflueger@abscue.de>
---
Otto Pflüger (3):
      mfd: sprd-sc27xx: Integrate power off and reboot support
      spi: sprd-adi: Remove code for storing the reboot mode
      power: reset: sc27xx: Drop unused driver

 drivers/mfd/sprd-sc27xx-spi.c         | 152 ++++++++++++++++++++++++++++++++++
 drivers/power/reset/Kconfig           |   9 --
 drivers/power/reset/Makefile          |   1 -
 drivers/power/reset/sc27xx-poweroff.c |  79 ------------------
 drivers/spi/spi-sprd-adi.c            |  73 +---------------
 5 files changed, 153 insertions(+), 161 deletions(-)
---
base-commit: 68842969e138d9ad3e3aa2bbd65d514df1581b5c
change-id: 20251007-sc27xx-mfd-poweroff-9cf728d55fed

Best regards,
-- 
Otto Pflüger <otto.pflueger@abscue.de>