Merge tag 'v1.2.0' into tizen-arm
[sdk/emulator/qemu.git] / hw / qdev-properties.c
index 8aca0d4..4226a02 100644 (file)
@@ -2,6 +2,7 @@
 #include "qdev.h"
 #include "qerror.h"
 #include "blockdev.h"
+#include "virtio-transport.h"
 #include "hw/block-common.h"
 #include "net/hub.h"
 
@@ -526,6 +527,34 @@ PropertyInfo qdev_prop_drive = {
     .release = release_drive,
 };
 
+/* --- virtio transport --- */
+
+static int parse_transport(DeviceState *dev, const char *str, void **ptr)
+{
+    VirtIOTransportLink *trl;
+
+    trl = virtio_find_transport(str);
+
+    if (trl == NULL) {
+        return -ENOENT;
+    }
+
+    *ptr = trl;
+
+    return 0;
+}
+
+static void set_transport(Object *obj, Visitor *v, void *opaque,
+                      const char *name, Error **errp)
+{
+    set_pointer(obj, v, opaque, parse_transport, name, errp);
+}
+
+PropertyInfo qdev_prop_transport = {
+    .name  = "transport",
+    .set   = set_transport,
+};
+
 /* --- character device --- */
 
 static int parse_chr(DeviceState *dev, const char *str, void **ptr)