> From: Simon Glass <s...@chromium.org> > Date: Fri, 21 Jan 2022 18:40:23 -0700 > > Hi Mark, > > On Fri, 14 Jan 2022 at 04:05, Mark Kettenis <kette...@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 <kette...@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.