[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v4 1/8] qom: do not register interface "types" in th
From: |
Alexey Kardashevskiy |
Subject: |
[Qemu-devel] [PATCH v4 1/8] qom: do not register interface "types" in the type table |
Date: |
Wed, 11 Dec 2013 21:22:14 +1100 |
From: Paolo Bonzini <address@hidden>
There should be no need to look them up nor enumerate the interface
"types", whose "classes" are really just vtables. Just create the
types and add them to the interface list of the parent type.
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Alexey Kardashevskiy <address@hidden>
---
qom/object.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/qom/object.c b/qom/object.c
index fc19cf6..3a43186 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -88,7 +88,7 @@ static TypeImpl *type_table_lookup(const char *name)
return g_hash_table_lookup(type_table_get(), name);
}
-static TypeImpl *type_register_internal(const TypeInfo *info)
+static TypeImpl *type_new(const TypeInfo *info)
{
TypeImpl *ti = g_malloc0(sizeof(*ti));
int i;
@@ -122,8 +122,15 @@ static TypeImpl *type_register_internal(const TypeInfo
*info)
}
ti->num_interfaces = i;
+ return ti;
+}
+
+static TypeImpl *type_register_internal(const TypeInfo *info)
+{
+ TypeImpl *ti;
+ ti = type_new(info);
+
type_table_add(ti);
-
return ti;
}
@@ -216,7 +223,7 @@ static void type_initialize_interface(TypeImpl *ti, const
char *parent)
info.name = g_strdup_printf("%s::%s", ti->name, info.parent);
info.abstract = true;
- iface_impl = type_register(&info);
+ iface_impl = type_new(&info);
type_initialize(iface_impl);
g_free((char *)info.name);
--
1.8.4.rc4
- [Qemu-devel] [PATCH v4 0/8] spapr: bootindex support, Alexey Kardashevskiy, 2013/12/11
- [Qemu-devel] [PATCH v4 4/8] spapr-llan: add to boot device list, Alexey Kardashevskiy, 2013/12/11
- [Qemu-devel] [PATCH v4 8/8] spapr: define interface to fix device pathname, Alexey Kardashevskiy, 2013/12/11
- [Qemu-devel] [PATCH v4 1/8] qom: do not register interface "types" in the type table,
Alexey Kardashevskiy <=
- [Qemu-devel] [PATCH v4 2/8] qom: detect bad reentrance during object_class_foreach, Alexey Kardashevskiy, 2013/12/11
- [Qemu-devel] [PATCH v4 6/8] qdev: introduce FWPathProvider interface, Alexey Kardashevskiy, 2013/12/11
- [Qemu-devel] [PATCH v4 7/8] vl: allow customizing the class of /machine, Alexey Kardashevskiy, 2013/12/11
- [Qemu-devel] [PATCH v4 3/8] boot: extend get_boot_devices_list() to ignore suffixes, Alexey Kardashevskiy, 2013/12/11
- [Qemu-devel] [PATCH v4 5/8] spapr-vio: fix firmware names, Alexey Kardashevskiy, 2013/12/11
- Re: [Qemu-devel] [PATCH v4 0/8] spapr: bootindex support, Paolo Bonzini, 2013/12/11
- Re: [Qemu-devel] [PATCH v4 0/8] spapr: bootindex support, Michael S. Tsirkin, 2013/12/12