[PATCH v2 0/6] regulator: pca9450: register restart handlers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



This series implements two restart handler registrations for the pca9450
(6/6). As the pca9450 supports both, cold and warm resets, and there
exist at least one other PMIC implementation which also implements a
warm and a cold reset (tps65219), 1-5/6 should simplify/clarify the
distinction process between warm/soft and cold/hard resets/restarts.
Instead of deciding in the handler, this should be done during
registration. The series is a follow-up to Dmitry's feedback, regarding
checking the reboot_mode in the handler [1].

As the cold handler queue is executed before the warm handler queue
(when the reboot_mode is not changed/specified), cold handlers are
implicitly executed with a higher prio and therefore the default
registration can be used.

This series is based on linux-next and 6/6 depends on [2].

Thanks & best regards,

[1] https://lore.kernel.org/all/7eddaf8c-ab04-7670-fc45-15f0fce5eff2@xxxxxxxxxxxxx/
[2] https://lore.kernel.org/all/20230327-tegra-pmic-reboot-v7-3-18699d5dcd76@xxxxxxxxxxx/

Changes in v2:
- rebase to next-20230809
- improve commit messages
- use helper (with implicit priority) instead of explicit priority
- fallback to warm handler if hard/cold requested but failed
- Link to v1: https://lore.kernel.org/r/20230727-pca9450-reboot-v1-0-c8edb27bf404@xxxxxxxxxxx

Benjamin Bara (6):
      kernel/reboot: distinguish between cold and warm
      mfd: rk8xx: Specify restart mode
      soc/tegra: pmc: Specify restart mode
      mfd: tps65219: Specify restart mode
      kernel/reboot: remove generic restart mode
      regulator: pca9450: register restart handlers

 drivers/mfd/rk8xx-core.c              |  6 +--
 drivers/mfd/tps65219.c                | 17 +++++--
 drivers/regulator/pca9450-regulator.c | 59 ++++++++++++++++++++++++
 drivers/soc/tegra/pmc.c               |  2 +-
 include/linux/reboot.h                | 23 +++++++---
 include/linux/regulator/pca9450.h     |  7 +++
 kernel/reboot.c                       | 84 +++++++++++++++++++++++++++++------
 7 files changed, 170 insertions(+), 28 deletions(-)
base-commit: 21ef7b1e17d039053edaeaf41142423810572741
change-id: 20230724-pca9450-reboot-0b32218fc7a2

Best regards,
Benjamin Bara <benjamin.bara@xxxxxxxxxxx>

[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux