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? > +struct mdev_device_id { > + __u8 id; I agree with the suggestion to rename this to 'class_id'. > +}; > + > #endif /* LINUX_MOD_DEVICETABLE_H */