On 5/12/25 17:32, Steve Sistare wrote:
Move event_notifier_cleanup calls to a helper vfio_notifier_cleanup.
This version is trivial, and does not yet use the vdev and nr parameters.
No functional change.

Signed-off-by: Steve Sistare <steven.sist...@oracle.com>


Reviewed-by: Cédric Le Goater <c...@redhat.com>

Thanks,

C.

        
---
  hw/vfio/pci.c | 28 +++++++++++++++++-----------
  1 file changed, 17 insertions(+), 11 deletions(-)

diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c
index bfeaafa..d2b08a3 100644
--- a/hw/vfio/pci.c
+++ b/hw/vfio/pci.c
@@ -67,6 +67,12 @@ static bool vfio_notifier_init(VFIOPCIDevice *vdev, 
EventNotifier *e,
      return !ret;
  }
+static void vfio_notifier_cleanup(VFIOPCIDevice *vdev, EventNotifier *e,
+                                  const char *name, int nr)
+{
+    event_notifier_cleanup(e);
+}
+
  /*
   * Disabling BAR mmaping can be slow, but toggling it around INTx can
   * also be a huge overhead.  We try to get the best of both worlds by
@@ -179,7 +185,7 @@ fail_vfio:
      kvm_irqchip_remove_irqfd_notifier_gsi(kvm_state, &vdev->intx.interrupt,
                                            vdev->intx.route.irq);
  fail_irqfd:
-    event_notifier_cleanup(&vdev->intx.unmask);
+    vfio_notifier_cleanup(vdev, &vdev->intx.unmask, "intx-unmask", 0);
  fail:
      qemu_set_fd_handler(irq_fd, vfio_intx_interrupt, NULL, vdev);
      vfio_device_irq_unmask(&vdev->vbasedev, VFIO_PCI_INTX_IRQ_INDEX);
@@ -211,7 +217,7 @@ static void vfio_intx_disable_kvm(VFIOPCIDevice *vdev)
      }
/* We only need to close the eventfd for VFIO to cleanup the kernel side */
-    event_notifier_cleanup(&vdev->intx.unmask);
+    vfio_notifier_cleanup(vdev, &vdev->intx.unmask, "intx-unmask", 0);
/* QEMU starts listening for interrupt events. */
      qemu_set_fd_handler(event_notifier_get_fd(&vdev->intx.interrupt),
@@ -310,7 +316,7 @@ static bool vfio_intx_enable(VFIOPCIDevice *vdev, Error 
**errp)
      if (!vfio_device_irq_set_signaling(&vdev->vbasedev, 
VFIO_PCI_INTX_IRQ_INDEX, 0,
                                  VFIO_IRQ_SET_ACTION_TRIGGER, fd, errp)) {
          qemu_set_fd_handler(fd, NULL, NULL, vdev);
-        event_notifier_cleanup(&vdev->intx.interrupt);
+        vfio_notifier_cleanup(vdev, &vdev->intx.interrupt, "intx-interrupt", 
0);
          return false;
      }
@@ -337,7 +343,7 @@ static void vfio_intx_disable(VFIOPCIDevice *vdev) fd = event_notifier_get_fd(&vdev->intx.interrupt);
      qemu_set_fd_handler(fd, NULL, NULL, vdev);
-    event_notifier_cleanup(&vdev->intx.interrupt);
+    vfio_notifier_cleanup(vdev, &vdev->intx.interrupt, "intx-interrupt", 0);
vdev->interrupt = VFIO_INT_NONE; @@ -500,7 +506,7 @@ static void vfio_connect_kvm_msi_virq(VFIOMSIVector *vector, int nr)
      return;
fail_kvm:
-    event_notifier_cleanup(&vector->kvm_interrupt);
+    vfio_notifier_cleanup(vector->vdev, &vector->kvm_interrupt, name, nr);
  fail_notifier:
      kvm_irqchip_release_virq(kvm_state, vector->virq);
      vector->virq = -1;
@@ -513,7 +519,7 @@ static void vfio_remove_kvm_msi_virq(VFIOPCIDevice *vdev, 
VFIOMSIVector *vector,
                                            vector->virq);
      kvm_irqchip_release_virq(kvm_state, vector->virq);
      vector->virq = -1;
-    event_notifier_cleanup(&vector->kvm_interrupt);
+    vfio_notifier_cleanup(vdev, &vector->kvm_interrupt, "kvm_interrupt", nr);
  }
static void vfio_update_kvm_msi_virq(VFIOMSIVector *vector, MSIMessage msg,
@@ -830,7 +836,7 @@ static void vfio_msi_disable_common(VFIOPCIDevice *vdev)
              }
              qemu_set_fd_handler(event_notifier_get_fd(&vector->interrupt),
                                  NULL, NULL, NULL);
-            event_notifier_cleanup(&vector->interrupt);
+            vfio_notifier_cleanup(vdev, &vector->interrupt, "interrupt", i);
          }
      }
@@ -2936,7 +2942,7 @@ static void vfio_register_err_notifier(VFIOPCIDevice *vdev)
                                         VFIO_IRQ_SET_ACTION_TRIGGER, fd, 
&err)) {
          error_reportf_err(err, VFIO_MSG_PREFIX, vdev->vbasedev.name);
          qemu_set_fd_handler(fd, NULL, NULL, vdev);
-        event_notifier_cleanup(&vdev->err_notifier);
+        vfio_notifier_cleanup(vdev, &vdev->err_notifier, "err_notifier", 0);
          vdev->pci_aer = false;
      }
  }
@@ -2955,7 +2961,7 @@ static void vfio_unregister_err_notifier(VFIOPCIDevice 
*vdev)
      }
      qemu_set_fd_handler(event_notifier_get_fd(&vdev->err_notifier),
                          NULL, NULL, vdev);
-    event_notifier_cleanup(&vdev->err_notifier);
+    vfio_notifier_cleanup(vdev, &vdev->err_notifier, "err_notifier", 0);
  }
static void vfio_req_notifier_handler(void *opaque)
@@ -3003,7 +3009,7 @@ static void vfio_register_req_notifier(VFIOPCIDevice 
*vdev)
                                         VFIO_IRQ_SET_ACTION_TRIGGER, fd, 
&err)) {
          error_reportf_err(err, VFIO_MSG_PREFIX, vdev->vbasedev.name);
          qemu_set_fd_handler(fd, NULL, NULL, vdev);
-        event_notifier_cleanup(&vdev->req_notifier);
+        vfio_notifier_cleanup(vdev, &vdev->req_notifier, "req_notifier", 0);
      } else {
          vdev->req_enabled = true;
      }
@@ -3023,7 +3029,7 @@ static void vfio_unregister_req_notifier(VFIOPCIDevice 
*vdev)
      }
      qemu_set_fd_handler(event_notifier_get_fd(&vdev->req_notifier),
                          NULL, NULL, vdev);
-    event_notifier_cleanup(&vdev->req_notifier);
+    vfio_notifier_cleanup(vdev, &vdev->req_notifier, "req_notifier", 0);
vdev->req_enabled = false;
  }


Reply via email to