From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60550) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WIRjY-00068O-6d for qemu-devel@nongnu.org; Tue, 25 Feb 2014 18:48:25 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WIRjS-0006av-UM for qemu-devel@nongnu.org; Tue, 25 Feb 2014 18:48:20 -0500 Received: from mx1.redhat.com ([209.132.183.28]:25459) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WIRjS-0006a0-Mx for qemu-devel@nongnu.org; Tue, 25 Feb 2014 18:48:14 -0500 From: Bandan Das Date: Tue, 25 Feb 2014 18:47:40 -0500 Message-Id: <1393372061-12493-2-git-send-email-bsd@redhat.com> In-Reply-To: <1393372061-12493-1-git-send-email-bsd@redhat.com> References: <1393372061-12493-1-git-send-email-bsd@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PATCH 1/2 v4] qdev-monitor: set DeviceState opts before calling realize List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Markus Armbruster , Alex Williamson , =?UTF-8?q?Andreas=20F=C3=A4rber?= , "Michael S. Tsirkin" Setting opts before the realize property is set allows the following patch to make decisions based on whether the user specified "rombar". This also avoids having to create a new tristate property especially for this purpose Reviewed-by: Andreas F=C3=A4rber Signed-off-by: Bandan Das --- qdev-monitor.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/qdev-monitor.c b/qdev-monitor.c index 3a7dc0d..6673e3c 100644 --- a/qdev-monitor.c +++ b/qdev-monitor.c @@ -548,16 +548,18 @@ DeviceState *qdev_device_add(QemuOpts *opts) OBJECT(dev), NULL); g_free(name); } + + dev->opts =3D opts; object_property_set_bool(OBJECT(dev), true, "realized", &err); if (err !=3D NULL) { qerror_report_err(err); error_free(err); + dev->opts =3D NULL; object_unparent(OBJECT(dev)); object_unref(OBJECT(dev)); qerror_report(QERR_DEVICE_INIT_FAILED, driver); return NULL; } - dev->opts =3D opts; return dev; } =20 --=20 1.8.3.1