On Tue, Jul 15, 2025 at 10:25:52AM +0100, Mark Cave-Ayland wrote:
> Use QOM casts to convert between VFIOUserPCIDevice and VFIOPCIDevice instead
> of accessing device directly.
>
> Signed-off-by: Mark Cave-Ayland <mark.caveayland@nutanix.com>
> ---
> hw/vfio-user/pci.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/hw/vfio-user/pci.c b/hw/vfio-user/pci.c
> index da6fe51809..e23a941605 100644
> --- a/hw/vfio-user/pci.c
> +++ b/hw/vfio-user/pci.c
> @@ -214,8 +214,9 @@ static void vfio_user_compute_needs_reset(VFIODevice *vbasedev)
>
> static Object *vfio_user_pci_get_object(VFIODevice *vbasedev)
> {
> - VFIOUserPCIDevice *vdev = container_of(vbasedev, VFIOUserPCIDevice,
> - device.vbasedev);
> + VFIOUserPCIDevice *vdev = VFIO_USER_PCI(container_of(vbasedev,
> + VFIOPCIDevice,
> + vbasedev));
>
> return OBJECT(vdev);
> }
> @@ -418,7 +419,7 @@ static void vfio_user_pci_set_socket(Object *obj, Visitor *v, const char *name,
> VFIOUserPCIDevice *udev = VFIO_USER_PCI(obj);
> bool success;
>
> - if (udev->device.vbasedev.proxy) {
> + if (VFIO_PCI_BASE(udev)->vbasedev.proxy) {
> error_setg(errp, "Proxy is connected");
> return;
> }
Reviewed-by: John Levon <john.levon@nutanix.com>