public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/7] vfio-ccw parent rework
@ 2022-11-04 14:20 Eric Farman
  2022-11-04 14:20 ` [PATCH v3 1/7] vfio/ccw: create a parent struct Eric Farman
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Eric Farman @ 2022-11-04 14:20 UTC (permalink / raw)
  To: Matthew Rosato, Alex Williamson, Cornelia Huck, Jason Gunthorpe,
	Kevin Tian, Yi Liu
  Cc: Zhenyu Wang, Zhi Wang, Jani Nikula, Joonas Lahtinen, Rodrigo Vivi,
	Tvrtko Ursulin, David Airlie, Daniel Vetter, Halil Pasic,
	Vineeth Vijayan, Peter Oberparleiter, Heiko Carstens,
	Vasily Gorbik, Alexander Gordeev, Christian Borntraeger,
	Sven Schnelle, Tony Krowiak, Jason Herne, Harald Freudenberger,
	Diana Craciun, Eric Auger, Kirti Wankhede, Abhishek Sahu,
	Yishai Hadas, intel-gvt-dev, intel-gfx, dri-devel, linux-kernel,
	linux-s390, kvm, Eric Farman

Hi Alex,

Here's the (last?) update to the vfio-ccw lifecycle changes that I've sent
recently, and were previously discussed at various points [1][2].

Patches 1-5 rework the behavior of the vfio-ccw driver's private struct.
In summary, the mdev pieces are split out of vfio_ccw_private and into a
new vfio_ccw_parent struct that will continue to follow today's lifecycle.
The remainder (bulk) of the private struct moves to follow the mdev
probe/remove pair. There's opportunity for further separation of the
things in the private struct, which would simplify some of the vfio-ccw
code, but it got too hairy as I started that. Once vfio-ccw is no longer
considered unique, those cleanups can happen at our leisure. 

Patch 6 removes the trickery where vfio-ccw uses vfio_init_device instead of
vfio_alloc_device, and thus removes vfio_init_device from the outside world.

Patch 7 removes vfio_free_device from vfio-ccw and the other drivers (hello,
CC list!), letting it be handled by vfio_device_release directly.

I believe this covers everything in this space; let me know if not!

Thanks,
Eric

[1] https://lore.kernel.org/kvm/0-v3-57c1502c62fd+2190-ccw_mdev_jgg@nvidia.com/
[2] https://lore.kernel.org/kvm/20220602171948.2790690-1-farman@linux.ibm.com/

v2->v3:
 - [MR] Added r-b to remaining patches (Thank you!)
 - Patch 1:
   [gfx checkpatch] Whitespace
   [EF] Remove put_device(&parent->dev)
   [MR] Fix error exit when alloc of parent fails
   [MR] Check for !private on sch_probe error path
 - Patch 3:
   [EF] Fix error exit when alloc of private fails
 - Patch 6:
   [AW] Added ack (Thank you!)
 - Patch 7:
   [CH, AK] Added r-b (Thank you!)
   [AW] Added ack (Thank you!)
v2: https://lore.kernel.org/kvm/20221102150152.2521475-1-farman@linux.ibm.com/
v1: https://lore.kernel.org/kvm/20221019162135.798901-1-farman@linux.ibm.com/

Eric Farman (7):
  vfio/ccw: create a parent struct
  vfio/ccw: remove private->sch
  vfio/ccw: move private initialization to callback
  vfio/ccw: move private to mdev lifecycle
  vfio/ccw: remove release completion
  vfio/ccw: replace vfio_init_device with _alloc_
  vfio: Remove vfio_free_device

 drivers/gpu/drm/i915/gvt/kvmgt.c      |   1 -
 drivers/s390/cio/vfio_ccw_chp.c       |   5 +-
 drivers/s390/cio/vfio_ccw_drv.c       | 173 +++++++++++---------------
 drivers/s390/cio/vfio_ccw_fsm.c       |  27 ++--
 drivers/s390/cio/vfio_ccw_ops.c       | 107 +++++++++++-----
 drivers/s390/cio/vfio_ccw_private.h   |  37 ++++--
 drivers/s390/crypto/vfio_ap_ops.c     |   6 -
 drivers/vfio/fsl-mc/vfio_fsl_mc.c     |   1 -
 drivers/vfio/pci/vfio_pci_core.c      |   1 -
 drivers/vfio/platform/vfio_amba.c     |   1 -
 drivers/vfio/platform/vfio_platform.c |   1 -
 drivers/vfio/vfio_main.c              |  32 ++---
 include/linux/vfio.h                  |   3 -
 samples/vfio-mdev/mbochs.c            |   1 -
 samples/vfio-mdev/mdpy.c              |   1 -
 samples/vfio-mdev/mtty.c              |   1 -
 16 files changed, 196 insertions(+), 202 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2022-11-10 20:18 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-04 14:20 [PATCH v3 0/7] vfio-ccw parent rework Eric Farman
2022-11-04 14:20 ` [PATCH v3 1/7] vfio/ccw: create a parent struct Eric Farman
2022-11-04 14:20 ` [PATCH v3 2/7] vfio/ccw: remove private->sch Eric Farman
2022-11-04 14:20 ` [PATCH v3 3/7] vfio/ccw: move private initialization to callback Eric Farman
2022-11-04 14:20 ` [PATCH v3 4/7] vfio/ccw: move private to mdev lifecycle Eric Farman
2022-11-04 14:20 ` [PATCH v3 5/7] vfio/ccw: remove release completion Eric Farman
2022-11-04 14:20 ` [PATCH v3 6/7] vfio/ccw: replace vfio_init_device with _alloc_ Eric Farman
2022-11-04 14:20 ` [PATCH v3 7/7] vfio: Remove vfio_free_device Eric Farman
2022-11-10 20:16 ` [PATCH v3 0/7] vfio-ccw parent rework Alex Williamson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox