On 2019/9/17 下午8:07, Cornelia Huck wrote:
On Thu, 12 Sep 2019 17:40:11 +0800 Jason Wang jasowang@redhat.com 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@redhat.com
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 */