From: Denis Mukhin <[email protected]> Make nvme_shutdown() public so that it can be re-used in board-specific board_quiesce_devices() before OS hand-off.
Signed-off-by: Denis Mukhin <[email protected]> --- Changes since v2: - fixup for apple device Changes since v1: - n/a --- drivers/nvme/nvme.h | 7 ------- drivers/nvme/nvme_apple.c | 1 + include/nvme.h | 11 +++++++++++ 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/drivers/nvme/nvme.h b/drivers/nvme/nvme.h index a938da728506..cc1477717391 100644 --- a/drivers/nvme/nvme.h +++ b/drivers/nvme/nvme.h @@ -703,11 +703,4 @@ struct nvme_ops { */ int nvme_init(struct udevice *udev); -/** - * nvme_shutdown() - Shutdown NVM Express device - * @udev: The NVM Express device - * Return: 0 if OK, -ve on error - */ -int nvme_shutdown(struct udevice *udev); - #endif /* __DRIVER_NVME_H__ */ diff --git a/drivers/nvme/nvme_apple.c b/drivers/nvme/nvme_apple.c index 7e7538553e3f..a36f15a3ff4e 100644 --- a/drivers/nvme/nvme_apple.c +++ b/drivers/nvme/nvme_apple.c @@ -6,6 +6,7 @@ #include <dm.h> #include <mailbox.h> #include <mapmem.h> +#include <nvme.h> #include "nvme.h" #include <reset.h> diff --git a/include/nvme.h b/include/nvme.h index 2cdf8ce320c1..c7b301300097 100644 --- a/include/nvme.h +++ b/include/nvme.h @@ -90,4 +90,15 @@ int nvme_print_info(struct udevice *udev); */ int nvme_get_namespace_id(struct udevice *udev, u32 *ns_id, u8 *eui64); +/** + * nvme_shutdown() - Shutdown NVM Express device + * + * Must be called before booting an OS to ensure cache is flushed + * and the controller is in a clean state for OS to re-initialize. + * + * @udev: The NVM Express device + * Return: 0 if OK, -ve on error + */ +int nvme_shutdown(struct udevice *udev); + #endif /* __NVME_H__ */ -- 2.54.0

