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

Convert all callers of object_class_property_add_enum() but one to
pass QAPITypeInfo instead of QEnumLookup.

This enables QMP QOM introspection to report accurate QAPI type names
for enum properties in member @qapi-type.

Leave pc_i440fx_machine_options() for later, because enum
PCSouthBridgeOption is a handmade QAPI-like enum instead of a real
one.

Signed-off-by: Marc-AndrĂ© Lureau <[email protected]>
Signed-off-by: Markus Armbruster <[email protected]>
Message-ID: <[email protected]>
---
 include/chardev/char.h                   | 6 ++++--
 authz/list.c                             | 6 ++++--
 backends/hostmem.c                       | 5 +++--
 crypto/secret_common.c                   | 5 +++--
 crypto/tlscreds.c                        | 4 ++--
 hw/microblaze/petalogix_s3adsp1800_mmu.c | 4 ++--
 monitor/qmp.c                            | 5 +++--
 net/filter.c                             | 5 +++--
 target/i386/kvm/kvm.c                    | 9 +++++----
 ui/console-vc.c                          | 1 +
 ui/dbus.c                                | 6 ++++--
 ui/input-linux.c                         | 5 +++--
 12 files changed, 37 insertions(+), 24 deletions(-)

diff --git a/include/chardev/char.h b/include/chardev/char.h
index 5283cc0d5d..61e6957118 100644
--- a/include/chardev/char.h
+++ b/include/chardev/char.h
@@ -1,6 +1,7 @@
 #ifndef QEMU_CHAR_H
 #define QEMU_CHAR_H
 
+#include "qapi/qapi-type-infos-char.h"
 #include "qapi/qapi-types-char.h"
 #include "qemu/bitmap.h"
 #include "qemu/thread.h"
@@ -356,8 +357,9 @@ static inline void chardev_vc_add_encoding_prop(ObjectClass 
*oc,
     int (*get)(Object *, Error **),
     void (*set)(Object *, int, Error **))
 {
-    object_class_property_add_enum(oc, "encoding", "ChardevVCEncoding", NULL,
-                                   &ChardevVCEncoding_lookup, get, set);
+    object_class_property_add_enum(oc, "encoding", "ChardevVCEncoding",
+                                   &ChardevVCEncoding_type_info, NULL,
+                                   get, set);
 }
 
 #endif
diff --git a/authz/list.c b/authz/list.c
index 40fbccd87e..767e91b3aa 100644
--- a/authz/list.c
+++ b/authz/list.c
@@ -22,6 +22,7 @@
 #include "authz/list.h"
 #include "trace.h"
 #include "qom/object_interfaces.h"
+#include "qapi/qapi-type-infos-authz.h"
 #include "qapi/qapi-visit-authz.h"
 #include "qemu/module.h"
 
@@ -120,8 +121,9 @@ qauthz_list_class_init(ObjectClass *oc, const void *data)
 {
     QAuthZClass *authz = QAUTHZ_CLASS(oc);
 
-    object_class_property_add_enum(oc, "policy", "QAuthZListPolicy", NULL,
-                                   &QAuthZListPolicy_lookup,
+    object_class_property_add_enum(oc, "policy", "QAuthZListPolicy",
+                                   &QAuthZListPolicy_type_info,
+                                   NULL,
                                    qauthz_list_prop_get_policy,
                                    qauthz_list_prop_set_policy);
 
diff --git a/backends/hostmem.c b/backends/hostmem.c
index c5882f0b16..b43d6ca956 100644
--- a/backends/hostmem.c
+++ b/backends/hostmem.c
@@ -16,6 +16,7 @@
 #include "hw/core/boards.h"
 #include "qapi/error.h"
 #include "qapi/qapi-builtin-visit.h"
+#include "qapi/qapi-type-infos-common.h"
 #include "qapi/visitor.h"
 #include "qemu/config-file.h"
 #include "qom/compat-properties.h"
@@ -551,8 +552,8 @@ host_memory_backend_class_init(ObjectClass *oc, const void 
*data)
                               NULL, NULL);
     object_class_property_set_description(oc, "host-nodes",
         "Binds memory to the list of NUMA host nodes");
-    object_class_property_add_enum(oc, "policy", "HostMemPolicy", NULL,
-                                   &HostMemPolicy_lookup,
+    object_class_property_add_enum(oc, "policy", "HostMemPolicy",
+                                   &HostMemPolicy_type_info, NULL,
                                    host_memory_backend_get_policy,
                                    host_memory_backend_set_policy);
     object_class_property_set_description(oc, "policy",
diff --git a/crypto/secret_common.c b/crypto/secret_common.c
index 16df64b336..8e05f1365e 100644
--- a/crypto/secret_common.c
+++ b/crypto/secret_common.c
@@ -22,6 +22,7 @@
 #include "crypto/secret_common.h"
 #include "crypto/cipher.h"
 #include "qapi/error.h"
+#include "qapi/qapi-type-infos-crypto.h"
 #include "qom/object_interfaces.h"
 #include "qemu/base64.h"
 #include "qemu/module.h"
@@ -269,8 +270,8 @@ qcrypto_secret_class_init(ObjectClass *oc, const void *data)
 
     ucc->complete = qcrypto_secret_complete;
 
-    object_class_property_add_enum(oc, "format", "QCryptoSecretFormat", NULL,
-                                   &QCryptoSecretFormat_lookup,
+    object_class_property_add_enum(oc, "format", "QCryptoSecretFormat",
+                                   &QCryptoSecretFormat_type_info, NULL,
                                    qcrypto_secret_prop_get_format,
                                    qcrypto_secret_prop_set_format);
     object_class_property_add_str(oc, "keyid",
diff --git a/crypto/tlscreds.c b/crypto/tlscreds.c
index db74d302cc..021e4bf111 100644
--- a/crypto/tlscreds.c
+++ b/crypto/tlscreds.c
@@ -20,6 +20,7 @@
 
 #include "qemu/osdep.h"
 #include "qapi/error.h"
+#include "qapi/qapi-type-infos-crypto.h"
 #include "qapi-types-crypto.h"
 #include "qemu/module.h"
 #include "qemu/error-report.h"
@@ -222,8 +223,7 @@ qcrypto_tls_creds_class_init(ObjectClass *oc, const void 
*data)
                                   qcrypto_tls_creds_prop_get_dir,
                                   qcrypto_tls_creds_prop_set_dir);
     object_class_property_add_enum(oc, "endpoint", "QCryptoTLSCredsEndpoint",
-                                   NULL,
-                                   &QCryptoTLSCredsEndpoint_lookup,
+                                   &QCryptoTLSCredsEndpoint_type_info, NULL,
                                    qcrypto_tls_creds_prop_get_endpoint,
                                    qcrypto_tls_creds_prop_set_endpoint);
     object_class_property_add_str(oc, "priority",
diff --git a/hw/microblaze/petalogix_s3adsp1800_mmu.c 
b/hw/microblaze/petalogix_s3adsp1800_mmu.c
index 8cf7cda7d9..b52f12924d 100644
--- a/hw/microblaze/petalogix_s3adsp1800_mmu.c
+++ b/hw/microblaze/petalogix_s3adsp1800_mmu.c
@@ -27,6 +27,7 @@
 #include "qemu/target-info.h"
 #include "qemu/units.h"
 #include "qapi/error.h"
+#include "qapi/qapi-type-infos-common.h"
 #include "target/microblaze/cpu.h"
 #include "hw/core/sysbus.h"
 #include "net/net.h"
@@ -175,8 +176,7 @@ static void 
petalogix_s3adsp1800_machine_class_init(ObjectClass *oc,
     mc->is_default = true;
 
     prop = object_class_property_add_enum(oc, "endianness", "EndianMode",
-                                          NULL,
-                                          &EndianMode_lookup,
+                                          &EndianMode_type_info, NULL,
                                           machine_get_endianness,
                                           machine_set_endianness);
     object_property_set_default_str(prop, target_big_endian() ? "big"
diff --git a/monitor/qmp.c b/monitor/qmp.c
index 8d7e49d1ce..c6341f1a20 100644
--- a/monitor/qmp.c
+++ b/monitor/qmp.c
@@ -30,6 +30,7 @@
 #include "qapi/error.h"
 #include "qapi/qapi-commands-control.h"
 #include "qapi/qapi-commands-char.h"
+#include "qapi/qapi-type-infos-qom.h"
 #include "qobject/qdict.h"
 #include "qobject/qjson.h"
 #include "qobject/qlist.h"
@@ -134,8 +135,8 @@ static void monitor_qmp_class_init(ObjectClass *cls, const 
void *data)
                                    monitor_qmp_get_pretty,
                                    monitor_qmp_set_pretty);
     object_class_property_add_enum(cls, "close-action",
-                                   "MonitorQMPCloseAction", NULL,
-                                   &MonitorQMPCloseAction_lookup,
+                                   "MonitorQMPCloseAction",
+                                   &MonitorQMPCloseAction_type_info, NULL,
                                    monitor_qmp_get_close_action,
                                    monitor_qmp_set_close_action);
 
diff --git a/net/filter.c b/net/filter.c
index 5311622aca..9013d872ea 100644
--- a/net/filter.c
+++ b/net/filter.c
@@ -8,6 +8,7 @@
 
 #include "qemu/osdep.h"
 #include "qapi/error.h"
+#include "qapi/qapi-type-infos-common.h"
 #include "qapi/qmp/qerror.h"
 #include "qemu/error-report.h"
 
@@ -342,8 +343,8 @@ static void netfilter_class_init(ObjectClass *oc, const 
void *data)
 
     object_class_property_add_str(oc, "netdev",
                                   netfilter_get_netdev_id, 
netfilter_set_netdev_id);
-    object_class_property_add_enum(oc, "queue", "NetFilterDirection", NULL,
-                                   &NetFilterDirection_lookup,
+    object_class_property_add_enum(oc, "queue", "NetFilterDirection",
+                                   &NetFilterDirection_type_info, NULL,
                                    netfilter_get_direction, 
netfilter_set_direction);
     object_class_property_add_str(oc, "status",
                                   netfilter_get_status, netfilter_set_status);
diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c
index e6a9fae928..b52831779f 100644
--- a/target/i386/kvm/kvm.c
+++ b/target/i386/kvm/kvm.c
@@ -14,6 +14,8 @@
 
 #include "qemu/osdep.h"
 #include "qapi/qapi-events-run-state.h"
+#include "qapi/qapi-type-infos-common.h"
+#include "qapi/qapi-type-infos-run-state.h"
 #include "qapi/error.h"
 #include "qapi/visitor.h"
 #include <math.h>
@@ -7099,8 +7101,7 @@ static void kvm_arch_set_honor_guest_pat(Object *obj, int 
value, Error **errp)
 void kvm_arch_accel_class_init(ObjectClass *oc)
 {
     object_class_property_add_enum(oc, "notify-vmexit", "NotifyVMexitOption",
-                                   NULL,
-                                   &NotifyVmexitOption_lookup,
+                                   &NotifyVmexitOption_type_info, NULL,
                                    kvm_arch_get_notify_vmexit,
                                    kvm_arch_set_notify_vmexit);
     object_class_property_set_description(oc, "notify-vmexit",
@@ -7137,8 +7138,8 @@ void kvm_arch_accel_class_init(ObjectClass *oc)
     object_class_property_set_description(oc, "xen-evtchn-max-pirq",
                                           "Maximum number of Xen PIRQs");
 
-    object_class_property_add_enum(oc, "honor-guest-pat", "OnOffAuto", NULL,
-                                   &OnOffAuto_lookup,
+    object_class_property_add_enum(oc, "honor-guest-pat", "OnOffAuto",
+                                   &OnOffAuto_type_info, NULL,
                                    kvm_arch_get_honor_guest_pat,
                                    kvm_arch_set_honor_guest_pat);
     object_class_property_set_description(oc, "honor-guest-pat",
diff --git a/ui/console-vc.c b/ui/console-vc.c
index 99cc8f09c8..ac8c6bf101 100644
--- a/ui/console-vc.c
+++ b/ui/console-vc.c
@@ -6,6 +6,7 @@
 
 #include "chardev/char.h"
 #include "qapi/error.h"
+#include "qapi/qapi-type-infos-char.h"
 #include "qemu/option.h"
 #include "qemu/queue.h"
 #include "qom/compat-properties.h"
diff --git a/ui/dbus.c b/ui/dbus.c
index 966c2c8b4e..9c21204771 100644
--- a/ui/dbus.c
+++ b/ui/dbus.c
@@ -38,6 +38,8 @@
 #include "qemu/audio.h"
 #include "audio/audio_int.h" /* FIXME: use QOM dynamic cast instead of 
drv->name */
 #include "qapi/error.h"
+#include "qapi/qapi-type-infos-char.h"
+#include "qapi/qapi-type-infos-ui.h"
 #include "trace.h"
 
 #include "dbus.h"
@@ -508,8 +510,8 @@ dbus_display_class_init(ObjectClass *oc, const void *data)
     object_class_property_add_bool(oc, "p2p", get_dbus_p2p, set_dbus_p2p);
     object_class_property_add_str(oc, "addr", get_dbus_addr, set_dbus_addr);
     object_class_property_add_str(oc, "audiodev", get_audiodev, set_audiodev);
-    object_class_property_add_enum(oc, "gl-mode", "DisplayGLMode", NULL,
-                                   &DisplayGLMode_lookup,
+    object_class_property_add_enum(oc, "gl-mode", "DisplayGLMode",
+                                   &DisplayGLMode_type_info, NULL,
                                    get_gl_mode, set_gl_mode);
 }
 
diff --git a/ui/input-linux.c b/ui/input-linux.c
index ea4d76e75d..127be74450 100644
--- a/ui/input-linux.c
+++ b/ui/input-linux.c
@@ -6,6 +6,7 @@
 
 #include "qemu/osdep.h"
 #include "qapi/error.h"
+#include "qapi/qapi-type-infos-common.h"
 #include "qemu/config-file.h"
 #include "qemu/main-loop.h"
 #include "qemu/module.h"
@@ -506,8 +507,8 @@ static void input_linux_class_init(ObjectClass *oc, const 
void *data)
     object_class_property_add_bool(oc, "repeat",
                                    input_linux_get_repeat,
                                    input_linux_set_repeat);
-    object_class_property_add_enum(oc, "grab-toggle", "GrabToggleKeys", NULL,
-                                   &GrabToggleKeys_lookup,
+    object_class_property_add_enum(oc, "grab-toggle", "GrabToggleKeys",
+                                   &GrabToggleKeys_type_info, NULL,
                                    input_linux_get_grab_toggle,
                                    input_linux_set_grab_toggle);
 }
-- 
2.55.0


Reply via email to