From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49128) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZzZSB-0000Gs-PN for qemu-devel@nongnu.org; Thu, 19 Nov 2015 19:21:28 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZzZSA-0003G7-Iv for qemu-devel@nongnu.org; Thu, 19 Nov 2015 19:21:27 -0500 Received: from mail.kernel.org ([198.145.29.136]:44515) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZzZSA-0003Ft-Ci for qemu-devel@nongnu.org; Thu, 19 Nov 2015 19:21:26 -0500 From: Ming Lin Date: Thu, 19 Nov 2015 16:21:03 -0800 Message-Id: <1447978868-17138-5-git-send-email-mlin@kernel.org> In-Reply-To: <1447978868-17138-1-git-send-email-mlin@kernel.org> References: <1447978868-17138-1-git-send-email-mlin@kernel.org> Subject: [Qemu-devel] [RFC PATCH 4/9] nvmet: add a controller "start" hook List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: linux-nvme@lists.infradead.org Cc: Ming Lin , Christoph Hellwig , qemu-devel@nongnu.org, "Nicholas A. Bellinger" , virtualization@lists.linux-foundation.org From: Ming Lin This is used to execute controller specific start code Signed-off-by: Ming Lin --- drivers/nvme/target/core.c | 3 +++ drivers/nvme/target/nvmet.h | 3 +++ 2 files changed, 6 insertions(+) diff --git a/drivers/nvme/target/core.c b/drivers/nvme/target/core.c index 1bfef66..0a0fc48 100644 --- a/drivers/nvme/target/core.c +++ b/drivers/nvme/target/core.c @@ -251,6 +251,9 @@ static void nvmet_start_ctrl(struct nvmet_ctrl *ctrl) } ctrl->csts = NVME_CSTS_RDY; + + if (ctrl->start) + ctrl->start(ctrl->opaque); } static void nvmet_clear_ctrl(struct nvmet_ctrl *ctrl) diff --git a/drivers/nvme/target/nvmet.h b/drivers/nvme/target/nvmet.h index 9335584..eac008b 100644 --- a/drivers/nvme/target/nvmet.h +++ b/drivers/nvme/target/nvmet.h @@ -59,6 +59,9 @@ struct nvmet_ctrl { struct kref ref; #define NVMET_SUBSYS_NAME_LEN 256 char subsys_name[NVMET_SUBSYS_NAME_LEN]; + + void *opaque; + void (*start)(void *); }; struct nvmet_subsys { -- 1.9.1