Alex, does this series look good to you now? On Sat, Jul 09, 2022 at 06:54:36AM +0200, Christoph Hellwig wrote: > Hi all, > > this series signigicantly simplies the mdev driver interface by following > the patterns for device model interaction used elsewhere in the kernel. > > Changes since v5: > - rebased to the latest vfio/next branch > - drop the last patch again > - make sure show_available_instances works properly for the internallly > tracked case > > Changes since v4: > - move the kobject_put later in mdev_device_release > - add a Fixes tag for the first patch > - add another patch to remove an extra kobject_get/put > > Changes since v3: > - make the sysfs_name and pretty_name fields pointers instead of arrays > - add an i915 cleanup to prepare for the above > > Changes since v2: > - rebased to vfio/next > - fix a pre-existing memory leak in i915 instead of making it worse > - never manipulate if ->available_instances if drv->get_available is > provided > - keep a parent reference for the mdev_type > - keep a few of the sysfs.c helper function around > - improve the documentation for the parent device lifetime > - minor spellig / formatting fixes > > Changes since v1: > - embedd the mdev_parent into a different sub-structure in i916 > - remove headers now inclued by mdev.h from individual source files > - pass an array of mdev_types to mdev_register_parent > - add additional patches to implement all attributes on the > mdev_type in the core code > > Diffstat: > Documentation/driver-api/vfio-mediated-device.rst | 26 +- > Documentation/s390/vfio-ap.rst | 2 > Documentation/s390/vfio-ccw.rst | 2 > drivers/gpu/drm/i915/gvt/aperture_gm.c | 20 +- > drivers/gpu/drm/i915/gvt/gvt.h | 42 ++-- > drivers/gpu/drm/i915/gvt/kvmgt.c | 168 ++++------------- > drivers/gpu/drm/i915/gvt/vgpu.c | 210 +++++++--------------- > drivers/s390/cio/cio.h | 4 > drivers/s390/cio/vfio_ccw_drv.c | 12 - > drivers/s390/cio/vfio_ccw_ops.c | 51 ----- > drivers/s390/cio/vfio_ccw_private.h | 2 > drivers/s390/crypto/vfio_ap_ops.c | 68 +------ > drivers/s390/crypto/vfio_ap_private.h | 6 > drivers/vfio/mdev/mdev_core.c | 190 ++++--------------- > drivers/vfio/mdev/mdev_driver.c | 7 > drivers/vfio/mdev/mdev_private.h | 32 --- > drivers/vfio/mdev/mdev_sysfs.c | 189 ++++++++++--------- > include/linux/mdev.h | 77 ++++---- > samples/vfio-mdev/mbochs.c | 103 +++------- > samples/vfio-mdev/mdpy.c | 115 +++--------- > samples/vfio-mdev/mtty.c | 94 +++------ > 21 files changed, 463 insertions(+), 957 deletions(-) ---end quoted text---