virtio: allow caller to override device id in vp_modern
authorShannon Nelson <shannon.nelson@amd.com>
Fri, 19 May 2023 21:56:22 +0000 (14:56 -0700)
committerMichael S. Tsirkin <mst@redhat.com>
Tue, 27 Jun 2023 14:47:08 +0000 (10:47 -0400)
commita37c0191acbd58efab4da43372585207f30e3102
tree9af003f9c6de7acc51e3bde0e64fa168f3d950d6
parent4f0fc22534e3d81ebd470e899fed3c0dbb4aeb56
virtio: allow caller to override device id in vp_modern

To add a bit of vendor flexibility with various virtio based devices,
allow the caller to check for a different device id.  This adds a function
pointer field to struct virtio_pci_modern_device to specify an override
device id check.  If defined by the driver, this function will be called
to check that the PCI device is the vendor's expected device, and will
return the found device id to be stored in mdev->id.device.  This allows
vendors with alternative vendor device ids to use this library on their
own device BAR.

Note: A lot of the diff in this is simply indenting the existing code
into an else block.

Signed-off-by: Shannon Nelson <shannon.nelson@amd.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20230519215632.12343-2-shannon.nelson@amd.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
drivers/virtio/virtio_pci_modern_dev.c
include/linux/virtio_pci_modern.h