Re: [RFC PATCH 1/2] mdev: device id support

From: Jason Wang
Date: Wed Sep 18 2019 - 01:52:50 EST



On 2019/9/17 äå8:07, Cornelia Huck wrote:
On Thu, 12 Sep 2019 17:40:11 +0800
Jason Wang <jasowang@xxxxxxxxxx> wrote:

Mdev bus only support vfio driver right now, so it doesn't implement
match method. But in the future, we may add drivers other than vfio,
one example is virtio-mdev[1] driver. This means we need to add device
id support in bus match method to pair the mdev device and mdev driver
correctly.
Sounds reasonable.

So this patch add id_table to mdev_driver and id for mdev parent, and
implement the match method for mdev bus.

[1] https://lkml.org/lkml/2019/9/10/135

Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
---
drivers/gpu/drm/i915/gvt/kvmgt.c | 2 +-
drivers/s390/cio/vfio_ccw_ops.c | 2 +-
drivers/s390/crypto/vfio_ap_ops.c | 3 ++-
drivers/vfio/mdev/mdev_core.c | 14 ++++++++++++--
drivers/vfio/mdev/mdev_driver.c | 14 ++++++++++++++
drivers/vfio/mdev/mdev_private.h | 1 +
drivers/vfio/mdev/vfio_mdev.c | 6 ++++++
include/linux/mdev.h | 6 +++++-
include/linux/mod_devicetable.h | 6 ++++++
samples/vfio-mdev/mbochs.c | 2 +-
samples/vfio-mdev/mdpy.c | 2 +-
samples/vfio-mdev/mtty.c | 2 +-
12 files changed, 51 insertions(+), 9 deletions(-)
(...)

The transformations of the vendor drivers and the new interface look
sane.

(...)

diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h
index 5714fd35a83c..f1fc143df042 100644
--- a/include/linux/mod_devicetable.h
+++ b/include/linux/mod_devicetable.h
@@ -821,4 +821,10 @@ struct wmi_device_id {
const void *context;
};
+/* MDEV */
+
Maybe add some kerneldoc and give vfio as an example of what we're
matching here?


Will add when posting a non RFC patch.



+struct mdev_device_id {
+ __u8 id;
I agree with the suggestion to rename this to 'class_id'.


Let me change it.

Thanks


+};
+
#endif /* LINUX_MOD_DEVICETABLE_H */