aboutsummaryrefslogtreecommitdiff
path: root/hw/vfio/calxeda-xgmac.c
diff options
context:
space:
mode:
authorEric Auger <eric.auger@redhat.com>2018-10-15 10:52:09 -0600
committerAlex Williamson <alex.williamson@redhat.com>2018-10-15 10:52:09 -0600
commita49531ebd0bdf5677e0405cd7c01c184717cee52 (patch)
treed25433ddba27213c8ace3aa3c3493e97ac816949 /hw/vfio/calxeda-xgmac.c
parentb290659fc3dd8fc51ea35511ea44d7656a3c9396 (diff)
vfio/platform: Make the vfio-platform device non-abstract
Up to now the vfio-platform device has been abstract and could not be instantiated. The integration of a new vfio platform device required creating a dummy derived device which only set the compatible string. Following the few vfio-platform device integrations we have seen the actual requested adaptation happens on device tree node creation (sysbus-fdt). Hence remove the abstract setting, and read the list of compatible values from sysfs if not set by a derived device. Update the amd-xgbe and calxeda-xgmac drivers to fill in the number of compatible values, as there can now be more than one. Note that sysbus-fdt does not support the instantiation of the vfio-platform device yet. Signed-off-by: Eric Auger <eric.auger@redhat.com> [geert: Rebase, set user_creatable=true, use compatible values in sysfs instead of user-supplied manufacturer/model options, reword] Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Eric Auger <eric.auger@redhat.com> Tested-by: Eric Auger <eric.auger@redhat.com> Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Diffstat (limited to 'hw/vfio/calxeda-xgmac.c')
-rw-r--r--hw/vfio/calxeda-xgmac.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/vfio/calxeda-xgmac.c b/hw/vfio/calxeda-xgmac.c
index 24cee6d065..e7767c4b02 100644
--- a/hw/vfio/calxeda-xgmac.c
+++ b/hw/vfio/calxeda-xgmac.c
@@ -20,6 +20,7 @@ static void calxeda_xgmac_realize(DeviceState *dev, Error **errp)
VFIOCalxedaXgmacDeviceClass *k = VFIO_CALXEDA_XGMAC_DEVICE_GET_CLASS(dev);
vdev->compat = g_strdup("calxeda,hb-xgmac");
+ vdev->num_compat = 1;
k->parent_realize(dev, errp);
}