mbox series

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

Message ID 20230809-pca9450-reboot-v2-0-b98b4f8139d5@skidata.com
Headers show
Series regulator: pca9450: register restart handlers | expand

Message

Benjamin Bara Aug. 9, 2023, 7:24 p.m. UTC
Hi!

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,
Benjamin

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

---
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@skidata.com

---
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,

Comments

Lee Jones Aug. 18, 2023, 4:12 p.m. UTC | #1
On Wed, 09 Aug 2023, Benjamin Bara wrote:

> Hi!
> 
> 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,
> Benjamin
> 
> [1] https://lore.kernel.org/all/7eddaf8c-ab04-7670-fc45-15f0fce5eff2@collabora.com/
> [2] https://lore.kernel.org/all/20230327-tegra-pmic-reboot-v7-3-18699d5dcd76@skidata.com/
> 
> ---
> 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@skidata.com
> 
> ---
> 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

What are they interdependencies between them all?

Should they all be applied at once?

>  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@skidata.com>
>