Re: [PATCH RFC] virtio: wrap config->reset calls

From: David Hildenbrand
Date: Wed Oct 13 2021 - 07:03:57 EST


On 13.10.21 12:55, Michael S. Tsirkin wrote:
This will enable cleanups down the road.
The idea is to disable cbs, then add "flush_queued_cbs" callback
as a parameter, this way drivers can flush any work
queued after callbacks have been disabled.

Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
---
arch/um/drivers/virt-pci.c | 2 +-
drivers/block/virtio_blk.c | 4 ++--
drivers/bluetooth/virtio_bt.c | 2 +-
drivers/char/hw_random/virtio-rng.c | 2 +-
drivers/char/virtio_console.c | 4 ++--
drivers/crypto/virtio/virtio_crypto_core.c | 8 ++++----
drivers/firmware/arm_scmi/virtio.c | 2 +-
drivers/gpio/gpio-virtio.c | 2 +-
drivers/gpu/drm/virtio/virtgpu_kms.c | 2 +-
drivers/i2c/busses/i2c-virtio.c | 2 +-
drivers/iommu/virtio-iommu.c | 2 +-
drivers/net/caif/caif_virtio.c | 2 +-
drivers/net/virtio_net.c | 4 ++--
drivers/net/wireless/mac80211_hwsim.c | 2 +-
drivers/nvdimm/virtio_pmem.c | 2 +-
drivers/rpmsg/virtio_rpmsg_bus.c | 2 +-
drivers/scsi/virtio_scsi.c | 2 +-
drivers/virtio/virtio.c | 5 +++++
drivers/virtio/virtio_balloon.c | 2 +-
drivers/virtio/virtio_input.c | 2 +-
drivers/virtio/virtio_mem.c | 2 +-
fs/fuse/virtio_fs.c | 4 ++--
include/linux/virtio.h | 1 +
net/9p/trans_virtio.c | 2 +-
net/vmw_vsock/virtio_transport.c | 4 ++--
sound/virtio/virtio_card.c | 4 ++--
26 files changed, 39 insertions(+), 33 deletions(-)

diff --git a/arch/um/drivers/virt-pci.c b/arch/um/drivers/virt-pci.c
index c08066633023..22c4d87c9c15 100644
--- a/arch/um/drivers/virt-pci.c
+++ b/arch/um/drivers/virt-pci.c
@@ -616,7 +616,7 @@ static void um_pci_virtio_remove(struct virtio_device *vdev)
int i;
/* Stop all virtqueues */
- vdev->config->reset(vdev);
+ virtio_reset_device(vdev);
vdev->config->del_vqs(vdev);

Nit: virtio_device_reset()?

Because I see:

int virtio_device_freeze(struct virtio_device *dev);
int virtio_device_restore(struct virtio_device *dev);
void virtio_device_ready(struct virtio_device *dev)

But well, there is:
void virtio_break_device(struct virtio_device *dev);

--
Thanks,

David / dhildenb