From: Marc-AndrĂ© Lureau <[email protected]>

Convert the hostmem-file's rom property and hostmem-memfd's
guest-memfd property from manual visitor-based callbacks to
object_class_property_add_enum().

Signed-off-by: Marc-AndrĂ© Lureau <[email protected]>
Signed-off-by: Markus Armbruster <[email protected]>
Message-ID: <[email protected]>
---
 backends/hostmem-file.c  | 25 ++++++++++---------------
 backends/hostmem-memfd.c | 23 ++++++++++-------------
 2 files changed, 20 insertions(+), 28 deletions(-)

diff --git a/backends/hostmem-file.c b/backends/hostmem-file.c
index aec38bac2f..15b5fee246 100644
--- a/backends/hostmem-file.c
+++ b/backends/hostmem-file.c
@@ -19,7 +19,7 @@
 #include "qom/object_interfaces.h"
 #include "qom/object.h"
 #include "qapi/visitor.h"
-#include "qapi/qapi-visit-common.h"
+#include "qapi/qapi-type-infos-common.h"
 
 OBJECT_DECLARE_SIMPLE_TYPE(HostMemoryBackendFile, MEMORY_BACKEND_FILE)
 
@@ -230,30 +230,24 @@ static void file_memory_backend_set_readonly(Object *obj, 
bool value,
     fb->readonly = value;
 }
 
-static void file_memory_backend_get_rom(Object *obj, Visitor *v,
-                                        const char *name, void *opaque,
-                                        Error **errp)
+static int file_memory_backend_get_rom(Object *obj, Error **errp)
 {
     HostMemoryBackendFile *fb = MEMORY_BACKEND_FILE(obj);
-    OnOffAuto rom = fb->rom;
-
-    visit_type_OnOffAuto(v, name, &rom, errp);
+    return fb->rom;
 }
 
-static void file_memory_backend_set_rom(Object *obj, Visitor *v,
-                                        const char *name, void *opaque,
-                                        Error **errp)
+static void file_memory_backend_set_rom(Object *obj, int value, Error **errp)
 {
     HostMemoryBackend *backend = MEMORY_BACKEND(obj);
     HostMemoryBackendFile *fb = MEMORY_BACKEND_FILE(obj);
 
     if (host_memory_backend_mr_inited(backend)) {
-        error_setg(errp, "cannot change property '%s' of %s.", name,
+        error_setg(errp, "cannot change property 'rom' of %s.",
                    object_get_typename(obj));
         return;
     }
 
-    visit_type_OnOffAuto(v, name, &fb->rom, errp);
+    fb->rom = value;
 }
 
 static void file_backend_unparent(Object *obj)
@@ -298,9 +292,10 @@ file_backend_class_init(ObjectClass *oc, const void *data)
     object_class_property_add_bool(oc, "readonly",
         file_memory_backend_get_readonly,
         file_memory_backend_set_readonly);
-    object_class_property_add(oc, "rom", "OnOffAuto", NULL,
-                              file_memory_backend_get_rom,
-                              file_memory_backend_set_rom, NULL, NULL);
+    object_class_property_add_enum(oc, "rom", "OnOffAuto",
+                                   &OnOffAuto_type_info, NULL,
+                                   file_memory_backend_get_rom,
+                                   file_memory_backend_set_rom);
     object_class_property_set_description(oc, "rom",
         "Whether to create Read Only Memory (ROM)");
 }
diff --git a/backends/hostmem-memfd.c b/backends/hostmem-memfd.c
index 7df0440071..28f7e180f4 100644
--- a/backends/hostmem-memfd.c
+++ b/backends/hostmem-memfd.c
@@ -20,7 +20,7 @@
 #include "migration/cpr.h"
 #include "system/kvm.h"
 #include <linux/kvm.h>
-#include "qapi/qapi-visit-common.h"
+#include "qapi/qapi-type-infos-common.h"
 
 OBJECT_DECLARE_SIMPLE_TYPE(HostMemoryBackendMemfd, MEMORY_BACKEND_MEMFD)
 
@@ -98,24 +98,20 @@ have_fd:
                                           backend->size, ram_flags, fd, 0, 
errp);
 }
 
-static void
-memfd_backend_get_guest_memfd(Object *o, Visitor *v,
-                              const char *value, void *opaque,
-                              Error **errp)
+static int
+memfd_backend_get_guest_memfd(Object *o, Error **errp)
 {
     HostMemoryBackendMemfd *m = MEMORY_BACKEND_MEMFD(o);
 
-    visit_type_OnOffAuto(v, value, &m->guest_memfd, errp);
+    return m->guest_memfd;
 }
 
 static void
-memfd_backend_set_guest_memfd(Object *o, Visitor *v,
-                              const char *value, void *opaque,
-                              Error **errp)
+memfd_backend_set_guest_memfd(Object *o, int value, Error **errp)
 {
     HostMemoryBackendMemfd *m = MEMORY_BACKEND_MEMFD(o);
 
-    visit_type_OnOffAuto(v, value, &m->guest_memfd, errp);
+    m->guest_memfd = value;
 }
 
 static bool
@@ -206,9 +202,10 @@ memfd_backend_class_init(ObjectClass *oc, const void *data)
                                               "Huge pages size (ex: 2M, 1G)");
     }
 
-    object_class_property_add(oc, "guest-memfd", "OnOffAuto", NULL,
-                              memfd_backend_get_guest_memfd,
-                              memfd_backend_set_guest_memfd, NULL, NULL);
+    object_class_property_add_enum(oc, "guest-memfd",  "OnOffAuto",
+                                   &OnOffAuto_type_info, NULL,
+                                   memfd_backend_get_guest_memfd,
+                                   memfd_backend_set_guest_memfd);
     object_class_property_set_description(oc, "guest-memfd",
                                           "Use guest memfd");
 
-- 
2.55.0


Reply via email to