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]> --- 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 15dc8814ba..4e1b23a1d6 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) @@ -95,24 +95,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 @@ -203,9 +199,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
