]> www.infradead.org Git - users/dwmw2/qemu.git/commitdiff
qom: allow user-creatable classes to be in modules
authorPaolo Bonzini <pbonzini@redhat.com>
Tue, 29 Oct 2024 09:46:38 +0000 (10:46 +0100)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 31 Oct 2024 17:28:32 +0000 (18:28 +0100)
There is no real reason to make user-creatable classes different
from other backends in this respect.  This also allows modularized
character devices to be treated by qom-list-properties just like
builtin ones.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
qom/object_interfaces.c
qom/qom-qmp-cmds.c

index 1f2aa1330667dcb200f32aad8d78d473f446b3c3..1a6f29c053e45bf5da5252f6ac1dfa4e85627f9f 100644 (file)
@@ -90,7 +90,7 @@ Object *user_creatable_add_type(const char *type, const char *id,
         return NULL;
     }
 
-    klass = object_class_by_name(type);
+    klass = module_object_class_by_name(type);
     if (!klass) {
         error_setg(errp, "invalid object type: %s", type);
         return NULL;
index 69a8e17aa80dd7e3e152747f57c7086e76f87d6d..46e4562300c3fbfb320f40d79c625e2e05d8dadf 100644 (file)
@@ -186,7 +186,7 @@ ObjectPropertyInfoList *qmp_qom_list_properties(const char *typename,
     ObjectPropertyIterator iter;
     ObjectPropertyInfoList *prop_list = NULL;
 
-    klass = object_class_by_name(typename);
+    klass = module_object_class_by_name(typename);
     if (klass == NULL) {
         error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
                   "Class '%s' not found", typename);