From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33468) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c6pzI-0003Yp-9s for qemu-devel@nongnu.org; Tue, 15 Nov 2016 21:30:13 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c6pzD-0002zL-Cy for qemu-devel@nongnu.org; Tue, 15 Nov 2016 21:30:12 -0500 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:53187 helo=mx0a-001b2d01.pphosted.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1c6pzD-0002yH-8Q for qemu-devel@nongnu.org; Tue, 15 Nov 2016 21:30:07 -0500 Received: from pps.filterd (m0098413.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.17/8.16.0.17) with SMTP id uAG2T1ad020514 for ; Tue, 15 Nov 2016 21:30:06 -0500 Received: from e19.ny.us.ibm.com (e19.ny.us.ibm.com [129.33.205.209]) by mx0b-001b2d01.pphosted.com with ESMTP id 26ray8775v-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Tue, 15 Nov 2016 21:30:06 -0500 Received: from localhost by e19.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 15 Nov 2016 21:30:05 -0500 Date: Wed, 16 Nov 2016 10:29:58 +0800 From: Dong Jia Shi References: <1479223805-22895-1-git-send-email-kwankhede@nvidia.com> <1479223805-22895-3-git-send-email-kwankhede@nvidia.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1479223805-22895-3-git-send-email-kwankhede@nvidia.com> Message-Id: <20161116022958.GA5531@bjsdjshi@linux.vnet.ibm.com> Subject: Re: [Qemu-devel] [PATCH v13 02/22] vfio: VFIO based driver for Mediated devices List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kirti Wankhede Cc: alex.williamson@redhat.com, pbonzini@redhat.com, kraxel@redhat.com, cjia@nvidia.com, qemu-devel@nongnu.org, kvm@vger.kernel.org, kevin.tian@intel.com, jike.song@intel.com, bjsdjshi@linux.vnet.ibm.com, linux-kernel@vger.kernel.org * Kirti Wankhede [2016-11-15 20:59:45 +0530]: Hi Kirti, > vfio_mdev driver registers with mdev core driver. > mdev core driver creates mediated device and calls probe routine of > vfio_mdev driver for each device. > Probe routine of vfio_mdev driver adds mediated device to VFIO core module > > This driver forms a shim layer that pass through VFIO devices operations > to vendor driver for mediated devices. > > Signed-off-by: Kirti Wankhede > Signed-off-by: Neo Jia > Reviewed-by: Jike Song > > Change-Id: I583f4734752971d3d112324d69e2508c88f359ec > --- > drivers/vfio/mdev/Kconfig | 7 ++ > drivers/vfio/mdev/Makefile | 1 + > drivers/vfio/mdev/mdev_core.c | 16 ++++- > drivers/vfio/mdev/vfio_mdev.c | 148 ++++++++++++++++++++++++++++++++++++++++++ > 4 files changed, 171 insertions(+), 1 deletion(-) > create mode 100644 drivers/vfio/mdev/vfio_mdev.c > > diff --git a/drivers/vfio/mdev/Kconfig b/drivers/vfio/mdev/Kconfig > index 258481d65ebd..1aa0391d74f2 100644 > --- a/drivers/vfio/mdev/Kconfig > +++ b/drivers/vfio/mdev/Kconfig > @@ -7,3 +7,10 @@ config VFIO_MDEV > Provides a framework to virtualize devices. > > If you don't know what do here, say N. > + > +config VFIO_MDEV_DEVICE > + tristate "VFIO support for Mediated devices" ^^^^^^^^^^^^^^^^ > + depends on VFIO && VFIO_MDEV > + default n > + help > + VFIO based driver for mediated devices. ^^^^^^^^^^^^^^^^ nit: s/mediated/Mediated/ I saw in many places you use the term "Mediated device", so I guess this is what you preferred to name them. > diff --git a/drivers/vfio/mdev/Makefile b/drivers/vfio/mdev/Makefile > index 31bc04801d94..fa2d5ea466ee 100644 > --- a/drivers/vfio/mdev/Makefile > +++ b/drivers/vfio/mdev/Makefile > @@ -2,3 +2,4 @@ > mdev-y := mdev_core.o mdev_sysfs.o mdev_driver.o > > obj-$(CONFIG_VFIO_MDEV) += mdev.o > +obj-$(CONFIG_VFIO_MDEV_DEVICE) += vfio_mdev.o > diff --git a/drivers/vfio/mdev/mdev_core.c b/drivers/vfio/mdev/mdev_core.c > index 613e8a8a3b2a..1e0714ebc56a 100644 > --- a/drivers/vfio/mdev/mdev_core.c > +++ b/drivers/vfio/mdev/mdev_core.c > @@ -354,7 +354,21 @@ int mdev_device_remove(struct device *dev, bool force_remove) > > static int __init mdev_init(void) > { > - return mdev_bus_register(); > + int ret; > + > + ret = mdev_bus_register(); > + if (ret) { > + pr_err("Failed to register mdev bus\n"); If you want to report an error message here, you should do it in a previous patch where you introduce the call for mdev_bus_register. > + return ret; > + } > + > + /* > + * Attempt to load known vfio_mdev. This gives us a working environment > + * without the user needing to explicitly load vfio_mdev driver. > + */ > + request_module_nowait("vfio_mdev"); > + > + return ret; > } > > static void __exit mdev_exit(void) [...] Please: Reviewed-by: Dong Jia Shi -- Dong Jia