From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:36385) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sypsr-00029J-Vn for qemu-devel@nongnu.org; Tue, 07 Aug 2012 15:56:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Sypso-0008PI-Px for qemu-devel@nongnu.org; Tue, 07 Aug 2012 15:56:05 -0400 Received: from mx1.redhat.com ([209.132.183.28]:13412) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sypso-0008Og-IR for qemu-devel@nongnu.org; Tue, 07 Aug 2012 15:56:02 -0400 From: Eduardo Habkost Date: Tue, 7 Aug 2012 16:56:46 -0300 Message-Id: <1344369413-9053-9-git-send-email-ehabkost@redhat.com> In-Reply-To: <1344369413-9053-1-git-send-email-ehabkost@redhat.com> References: <1344369413-9053-1-git-send-email-ehabkost@redhat.com> Subject: [Qemu-devel] [RFC 08/15] move global properties code to global-properties.c List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Igor Mammedov , =?UTF-8?q?Andreas=20F=C3=A4rber?= , Gleb Natapov , Paolo Bonzini Signed-off-by: Eduardo Habkost --- Makefile.objs | 1 + global-properties.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++ hw/qdev-properties.c | 54 -------------------------------------------------- 3 files changed, 57 insertions(+), 54 deletions(-) create mode 100644 global-properties.c diff --git a/Makefile.objs b/Makefile.objs index 5ebbcfa..5cd4082 100644 --- a/Makefile.objs +++ b/Makefile.objs @@ -77,6 +77,7 @@ common-obj-y += qemu-char.o #aio.o common-obj-y += block-migration.o iohandler.o common-obj-y += pflib.o common-obj-y += bitmap.o bitops.o +common-obj-y += global-properties.o common-obj-$(CONFIG_POSIX) += migration-exec.o migration-unix.o migration-fd.o common-obj-$(CONFIG_WIN32) += version.o diff --git a/global-properties.c b/global-properties.c new file mode 100644 index 0000000..a1c3581 --- /dev/null +++ b/global-properties.c @@ -0,0 +1,56 @@ +#include "hw/qdev.h" +#include "qerror.h" + +static QTAILQ_HEAD(, GlobalProperty) global_props = QTAILQ_HEAD_INITIALIZER(global_props); + +static void qdev_prop_register_global(GlobalProperty *prop) +{ + QTAILQ_INSERT_TAIL(&global_props, prop, next); +} + +void qdev_prop_register_global_list(GlobalProperty *props) +{ + int i; + + for (i = 0; props[i].driver != NULL; i++) { + qdev_prop_register_global(props+i); + } +} + +void qdev_prop_set_globals(DeviceState *dev) +{ + ObjectClass *class = object_get_class(OBJECT(dev)); + + do { + GlobalProperty *prop; + Error *err = NULL; + QTAILQ_FOREACH(prop, &global_props, next) { + if (strcmp(object_class_get_name(class), prop->driver) != 0) { + continue; + } + qdev_prop_parse(dev, prop->property, prop->value, &err); + if (err) { + qerror_report_err(err); + exit(1); + } + } + class = object_class_get_parent(class); + } while (class); +} + +static int qdev_add_one_global(QemuOpts *opts, void *opaque) +{ + GlobalProperty *g; + + g = g_malloc0(sizeof(*g)); + g->driver = qemu_opt_get(opts, "driver"); + g->property = qemu_opt_get(opts, "property"); + g->value = qemu_opt_get(opts, "value"); + qdev_prop_register_global(g); + return 0; +} + +void qemu_add_globals(void) +{ + qemu_opts_foreach(qemu_find_opts("global"), qdev_add_one_global, NULL, 0); +} diff --git a/hw/qdev-properties.c b/hw/qdev-properties.c index a52884f..3217490 100644 --- a/hw/qdev-properties.c +++ b/hw/qdev-properties.c @@ -1219,57 +1219,3 @@ void qdev_prop_set_ptr(DeviceState *dev, const char *name, void *value) ptr = qdev_get_prop_ptr(dev, prop); *ptr = value; } - -static QTAILQ_HEAD(, GlobalProperty) global_props = QTAILQ_HEAD_INITIALIZER(global_props); - -static void qdev_prop_register_global(GlobalProperty *prop) -{ - QTAILQ_INSERT_TAIL(&global_props, prop, next); -} - -void qdev_prop_register_global_list(GlobalProperty *props) -{ - int i; - - for (i = 0; props[i].driver != NULL; i++) { - qdev_prop_register_global(props+i); - } -} - -void qdev_prop_set_globals(DeviceState *dev) -{ - ObjectClass *class = object_get_class(OBJECT(dev)); - - do { - GlobalProperty *prop; - Error *err = NULL; - QTAILQ_FOREACH(prop, &global_props, next) { - if (strcmp(object_class_get_name(class), prop->driver) != 0) { - continue; - } - qdev_prop_parse(dev, prop->property, prop->value, &err); - if (err) { - qerror_report_err(err); - exit(1); - } - } - class = object_class_get_parent(class); - } while (class); -} - -static int qdev_add_one_global(QemuOpts *opts, void *opaque) -{ - GlobalProperty *g; - - g = g_malloc0(sizeof(*g)); - g->driver = qemu_opt_get(opts, "driver"); - g->property = qemu_opt_get(opts, "property"); - g->value = qemu_opt_get(opts, "value"); - qdev_prop_register_global(g); - return 0; -} - -void qemu_add_globals(void) -{ - qemu_opts_foreach(qemu_find_opts("global"), qdev_add_one_global, NULL, 0); -} -- 1.7.11.2