
From: Simon Glass sjg@chromium.org Date: Fri, 21 Jan 2022 18:40:23 -0700
Hi Mark,
On Fri, 14 Jan 2022 at 04:05, Mark Kettenis kettenis@openbsd.org wrote:
The power management controller found on Apple SoCs als provides a way to reset all devices within a power domain. This is needed to cleanly shutdown the NVMe controller before we hand over control to the OS.
Signed-off-by: Mark Kettenis kettenis@openbsd.org
arch/arm/Kconfig | 1 + drivers/power/domain/apple-pmgr.c | 73 ++++++++++++++++++++++++++++++- 2 files changed, 73 insertions(+), 1 deletion(-)
This should use devicetree instead of device_bind() and be a reset driver in drivers/reset
Not sure what you mean with "this should use devicetree". The reset and power domain functionality is integrated in the same hardware register and there is a single node that decsribes the device.
The Linux driver implements the power domain and reset functionality in a single driver as well. I suppose I could move the reset code into a file of its own in drivers/reset, but I don't think it would make the code easier to understand. And I'd still need to bind the reset driver explicitly in apple_pmgr_probe() as it isn't possible to automatically bind two drivers to a single device tree node as far as I can tell.