From mboxrd@z Thu Jan 1 00:00:00 1970 Received: by 2002:a5d:6089:0:0:0:0:0 with SMTP id w9csp1323503wrt; Tue, 27 Nov 2018 06:13:04 -0800 (PST) X-Google-Smtp-Source: AFSGD/WafBjEkqDA31MP5qg17JQImjWkGIteURwQce4QDyRfnjjMrejS/WrlChF1geGmrP5F3RtL X-Received: by 2002:a25:b28d:: with SMTP id k13-v6mr14178457ybj.222.1543327984157; Tue, 27 Nov 2018 06:13:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543327984; cv=none; d=google.com; s=arc-20160816; b=AZKr/qwsNi+LZMh/zfyu9UCxly36C5HBio+IXXgWMtPR++ogNhlBtdroHI5BDf8UFv 2i6PiDD6ZXN1wbdhnVLDbydt29osYlZYy8VvmIgX7rmUOqmvyCvmqWTzgBsz6OiZ/ZYK tCXmggR9XgosRQcv+4iskv1iyxFV9QYpu0r6tTvwfM1wCNvldSJueHws9cRK9Cu9fIYV pLd5Qc6rtoTuNPHSYn/sd2tS/QOtAB4TVPERJ1Dml42OGkHRJGcgfKRroM/JnX3ouR8k yOWCRL33lITU5/hI5Uz6ieH3QE/flW1XY0rVQdTSTH8vC7RgzGiZD4a3zuaLK5pH59Mi mt8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject :content-transfer-encoding:mime-version:references:in-reply-to :message-id:to:from:date; bh=tcaR+8XyvfhTR4BqXq4ivyde6hBg8cDfokVfhk/bXJA=; b=uVtCZn+UXVWiz81xtxP7PKP3KU+kf6ZTlBhrqkYDv8L74LQvnK5iy/OS1vO4pKyfTL /Q2fRxcpRUG89yka/gS/wGxKKiG0F8zDY2I3mC0c+YyFi1SVpnGGpJ+pEhkG+0zM2HYD 2xDEDaT43Jqt8riUwHjthMOlzMNvq4JdRPRrmX4BaH5zWirDbeLB0l0oaYZqN9W0U0se 3O1yDWI4NGmh6jUReOVBsBB18GSNZ+ixgnxN72fUYzqfaj++iBSQwkEHHhvJJyNtXN7w khcPHnJ5tHscmN+D/cyffho+6DmL07MHq+5wpkLAyheqRXg+xGEnsyZQA8J37Xac0GUI dKiQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom="qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org. [2001:4830:134:3::11]) by mx.google.com with ESMTPS id b2-v6si2655253ybc.192.2018.11.27.06.13.03 for (version=TLS1 cipher=AES128-SHA bits=128/128); Tue, 27 Nov 2018 06:13:04 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) client-ip=2001:4830:134:3::11; Authentication-Results: mx.google.com; spf=pass (google.com: domain of qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom="qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from localhost ([::1]:42651 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gRe6p-0003yp-1m for alex.bennee@linaro.org; Tue, 27 Nov 2018 09:13:03 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57423) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gRe6b-0003tl-8K for qemu-arm@nongnu.org; Tue, 27 Nov 2018 09:12:50 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gRe6V-0002gO-Ub for qemu-arm@nongnu.org; Tue, 27 Nov 2018 09:12:49 -0500 Received: from mx1.redhat.com ([209.132.183.28]:46158) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gRe6V-00012Q-KB; Tue, 27 Nov 2018 09:12:43 -0500 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 723003082DDC; Tue, 27 Nov 2018 14:12:33 +0000 (UTC) Received: from localhost (unknown [10.43.2.182]) by smtp.corp.redhat.com (Postfix) with ESMTP id 5A80A1A7CA; Tue, 27 Nov 2018 14:12:14 +0000 (UTC) Date: Tue, 27 Nov 2018 15:12:12 +0100 From: Igor Mammedov To: =?UTF-8?B?TWFyYy1BbmRyw6k=?= Lureau Message-ID: <20181127151212.4583e324@redhat.com> In-Reply-To: References: <20181107123652.23417-1-marcandre.lureau@redhat.com> <20181107123652.23417-11-marcandre.lureau@redhat.com> <20181126142046.07c5e227@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.46]); Tue, 27 Nov 2018 14:12:33 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: Re: [Qemu-arm] [Qemu-devel] [PATCH for-3.2 v3 10/14] qdev-props: call object_apply_global_props() X-BeenThere: qemu-arm@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Stefano Stabellini , Eduardo Habkost , Corey Minyard , amit@kernel.org, "open list:sPAPR pseries" , "Michael S. Tsirkin" , Mark Cave-Ayland , QEMU , "Dr. David Alan Gilbert" , "open list:ARM" , hpoussin@reactos.org, xen-devel@lists.xenproject.org, Anthony Perard , Paolo Bonzini , stefanb@linux.ibm.com, Andreas =?UTF-8?B?RsOkcmJlcg==?= , atar4qemu@gmail.com, Richard Henderson Errors-To: qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org Sender: "Qemu-arm" X-TUID: S97rWjir2z7t On Tue, 27 Nov 2018 00:02:35 +0400 Marc-Andr=C3=A9 Lureau wrote: > Hi > On Mon, Nov 26, 2018 at 5:27 PM Igor Mammedov wrote: > > > > On Wed, 7 Nov 2018 16:36:48 +0400 > > Marc-Andr=C3=A9 Lureau wrote: > > =20 > > > It's now possible to use the common function. > > > > > > Teach object_apply_global_props() to warn if Error argument is NULL. > > > > > > Signed-off-by: Marc-Andr=C3=A9 Lureau > > > --- > > > hw/core/qdev-properties.c | 24 ++---------------------- > > > qom/object.c | 6 +++++- > > > 2 files changed, 7 insertions(+), 23 deletions(-) > > > > > > diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c > > > index 8728cbab9f..239535a4cb 100644 > > > --- a/hw/core/qdev-properties.c > > > +++ b/hw/core/qdev-properties.c > > > @@ -1223,28 +1223,8 @@ int qdev_prop_check_globals(void) > > > > > > void qdev_prop_set_globals(DeviceState *dev) > > > { > > > - int i; > > > - > > > - for (i =3D 0; i < global_props()->len; i++) { > > > - GlobalProperty *prop; > > > - Error *err =3D NULL; > > > - > > > - prop =3D g_array_index(global_props(), GlobalProperty *, i); > > > - if (object_dynamic_cast(OBJECT(dev), prop->driver) =3D=3D NU= LL) { > > > - continue; > > > - } > > > - prop->used =3D true; > > > - object_property_parse(OBJECT(dev), prop->value, prop->proper= ty, &err); > > > - if (err !=3D NULL) { > > > - error_prepend(&err, "can't apply global %s.%s=3D%s: ", > > > - prop->driver, prop->property, prop->value); > > > - if (!dev->hotplugged) { > > > - error_propagate(&error_fatal, err); > > > - } else { > > > - warn_report_err(err); > > > - } > > > - } > > > - } > > > + object_apply_global_props(OBJECT(dev), global_props(), > > > + dev->hotplugged ? NULL : &error_fatal)= ; =20 > > arguably, it's up to caller to decide it warn or not. > > I'd leave it warning code out of object_apply_global_props() and let ca= ller do the job =20 >=20 > The problem is that there may be multiple errors, and the remaining > globals should be applied. > > I'll add a comment. ok =20 > > > } > > > > > > /* --- 64bit unsigned int 'size' type --- */ > > > diff --git a/qom/object.c b/qom/object.c > > > index 9acdf9e16d..b1a7f70550 100644 > > > --- a/qom/object.c > > > +++ b/qom/object.c > > > @@ -392,7 +392,11 @@ void object_apply_global_props(Object *obj, GArr= ay *props, Error **errp) > > > if (err !=3D NULL) { > > > error_prepend(&err, "can't apply global %s.%s=3D%s: ", > > > p->driver, p->property, p->value); > > > - error_propagate(errp, err); > > > + if (errp) { > > > + error_propagate(errp, err); > > > + } else { > > > + warn_report_err(err); > > > + } > > > } > > > } > > > } =20 > > > > =20 >=20 >=20 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Igor Mammedov Subject: Re: [Qemu-devel] [PATCH for-3.2 v3 10/14] qdev-props: call object_apply_global_props() Date: Tue, 27 Nov 2018 15:12:12 +0100 Message-ID: <20181127151212.4583e324@redhat.com> References: <20181107123652.23417-1-marcandre.lureau@redhat.com> <20181107123652.23417-11-marcandre.lureau@redhat.com> <20181126142046.07c5e227@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gRe6N-0000lE-5L for xen-devel@lists.xenproject.org; Tue, 27 Nov 2018 14:12:35 +0000 In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: =?UTF-8?B?TWFyYy1BbmRyw6k=?= Lureau Cc: Peter Maydell , Stefano Stabellini , Eduardo Habkost , Corey Minyard , amit@kernel.org, "open list:sPAPR pseries" , "Michael S. Tsirkin" , Mark Cave-Ayland , QEMU , "Dr. David Alan Gilbert" , "open list:ARM" , hpoussin@reactos.org, xen-devel@lists.xenproject.org, Anthony Perard , Paolo Bonzini , stefanb@linux.ibm.com, Andreas =?UTF-8?B?RsOkcmJlcg==?= , atar4qemu@gmail.com, Richard Henderson List-Id: xen-devel@lists.xenproject.org T24gVHVlLCAyNyBOb3YgMjAxOCAwMDowMjozNSArMDQwMApNYXJjLUFuZHLDqSBMdXJlYXUgPG1h cmNhbmRyZS5sdXJlYXVAZ21haWwuY29tPiB3cm90ZToKCj4gSGkKPiBPbiBNb24sIE5vdiAyNiwg MjAxOCBhdCA1OjI3IFBNIElnb3IgTWFtbWVkb3YgPGltYW1tZWRvQHJlZGhhdC5jb20+IHdyb3Rl Ogo+ID4KPiA+IE9uIFdlZCwgIDcgTm92IDIwMTggMTY6MzY6NDggKzA0MDAKPiA+IE1hcmMtQW5k csOpIEx1cmVhdSA8bWFyY2FuZHJlLmx1cmVhdUByZWRoYXQuY29tPiB3cm90ZToKPiA+ICAKPiA+ ID4gSXQncyBub3cgcG9zc2libGUgdG8gdXNlIHRoZSBjb21tb24gZnVuY3Rpb24uCj4gPiA+Cj4g PiA+IFRlYWNoIG9iamVjdF9hcHBseV9nbG9iYWxfcHJvcHMoKSB0byB3YXJuIGlmIEVycm9yIGFy Z3VtZW50IGlzIE5VTEwuCj4gPiA+Cj4gPiA+IFNpZ25lZC1vZmYtYnk6IE1hcmMtQW5kcsOpIEx1 cmVhdSA8bWFyY2FuZHJlLmx1cmVhdUByZWRoYXQuY29tPgo+ID4gPiAtLS0KPiA+ID4gIGh3L2Nv cmUvcWRldi1wcm9wZXJ0aWVzLmMgfCAyNCArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+ID4g IHFvbS9vYmplY3QuYyAgICAgICAgICAgICAgfCAgNiArKysrKy0KPiA+ID4gIDIgZmlsZXMgY2hh bmdlZCwgNyBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKPiA+ID4KPiA+ID4gZGlmZiAt LWdpdCBhL2h3L2NvcmUvcWRldi1wcm9wZXJ0aWVzLmMgYi9ody9jb3JlL3FkZXYtcHJvcGVydGll cy5jCj4gPiA+IGluZGV4IDg3MjhjYmFiOWYuLjIzOTUzNWE0Y2IgMTAwNjQ0Cj4gPiA+IC0tLSBh L2h3L2NvcmUvcWRldi1wcm9wZXJ0aWVzLmMKPiA+ID4gKysrIGIvaHcvY29yZS9xZGV2LXByb3Bl cnRpZXMuYwo+ID4gPiBAQCAtMTIyMywyOCArMTIyMyw4IEBAIGludCBxZGV2X3Byb3BfY2hlY2tf Z2xvYmFscyh2b2lkKQo+ID4gPgo+ID4gPiAgdm9pZCBxZGV2X3Byb3Bfc2V0X2dsb2JhbHMoRGV2 aWNlU3RhdGUgKmRldikKPiA+ID4gIHsKPiA+ID4gLSAgICBpbnQgaTsKPiA+ID4gLQo+ID4gPiAt ICAgIGZvciAoaSA9IDA7IGkgPCBnbG9iYWxfcHJvcHMoKS0+bGVuOyBpKyspIHsKPiA+ID4gLSAg ICAgICAgR2xvYmFsUHJvcGVydHkgKnByb3A7Cj4gPiA+IC0gICAgICAgIEVycm9yICplcnIgPSBO VUxMOwo+ID4gPiAtCj4gPiA+IC0gICAgICAgIHByb3AgPSBnX2FycmF5X2luZGV4KGdsb2JhbF9w cm9wcygpLCBHbG9iYWxQcm9wZXJ0eSAqLCBpKTsKPiA+ID4gLSAgICAgICAgaWYgKG9iamVjdF9k eW5hbWljX2Nhc3QoT0JKRUNUKGRldiksIHByb3AtPmRyaXZlcikgPT0gTlVMTCkgewo+ID4gPiAt ICAgICAgICAgICAgY29udGludWU7Cj4gPiA+IC0gICAgICAgIH0KPiA+ID4gLSAgICAgICAgcHJv cC0+dXNlZCA9IHRydWU7Cj4gPiA+IC0gICAgICAgIG9iamVjdF9wcm9wZXJ0eV9wYXJzZShPQkpF Q1QoZGV2KSwgcHJvcC0+dmFsdWUsIHByb3AtPnByb3BlcnR5LCAmZXJyKTsKPiA+ID4gLSAgICAg ICAgaWYgKGVyciAhPSBOVUxMKSB7Cj4gPiA+IC0gICAgICAgICAgICBlcnJvcl9wcmVwZW5kKCZl cnIsICJjYW4ndCBhcHBseSBnbG9iYWwgJXMuJXM9JXM6ICIsCj4gPiA+IC0gICAgICAgICAgICAg ICAgICAgICAgICAgIHByb3AtPmRyaXZlciwgcHJvcC0+cHJvcGVydHksIHByb3AtPnZhbHVlKTsK PiA+ID4gLSAgICAgICAgICAgIGlmICghZGV2LT5ob3RwbHVnZ2VkKSB7Cj4gPiA+IC0gICAgICAg ICAgICAgICAgZXJyb3JfcHJvcGFnYXRlKCZlcnJvcl9mYXRhbCwgZXJyKTsKPiA+ID4gLSAgICAg ICAgICAgIH0gZWxzZSB7Cj4gPiA+IC0gICAgICAgICAgICAgICAgd2Fybl9yZXBvcnRfZXJyKGVy cik7Cj4gPiA+IC0gICAgICAgICAgICB9Cj4gPiA+IC0gICAgICAgIH0KPiA+ID4gLSAgICB9Cj4g PiA+ICsgICAgb2JqZWN0X2FwcGx5X2dsb2JhbF9wcm9wcyhPQkpFQ1QoZGV2KSwgZ2xvYmFsX3By b3BzKCksCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXYtPmhvdHBsdWdn ZWQgPyBOVUxMIDogJmVycm9yX2ZhdGFsKTsgIAo+ID4gYXJndWFibHksIGl0J3MgdXAgdG8gY2Fs bGVyIHRvIGRlY2lkZSBpdCB3YXJuIG9yIG5vdC4KPiA+IEknZCBsZWF2ZSBpdCB3YXJuaW5nIGNv ZGUgb3V0IG9mIG9iamVjdF9hcHBseV9nbG9iYWxfcHJvcHMoKSBhbmQgbGV0IGNhbGxlciBkbyB0 aGUgam9iICAKPiAKPiBUaGUgcHJvYmxlbSBpcyB0aGF0IHRoZXJlIG1heSBiZSBtdWx0aXBsZSBl cnJvcnMsIGFuZCB0aGUgcmVtYWluaW5nCj4gZ2xvYmFscyBzaG91bGQgYmUgYXBwbGllZC4KPgo+ IEknbGwgYWRkIGEgY29tbWVudC4Kb2sKCiAKPiA+ID4gIH0KPiA+ID4KPiA+ID4gIC8qIC0tLSA2 NGJpdCB1bnNpZ25lZCBpbnQgJ3NpemUnIHR5cGUgLS0tICovCj4gPiA+IGRpZmYgLS1naXQgYS9x b20vb2JqZWN0LmMgYi9xb20vb2JqZWN0LmMKPiA+ID4gaW5kZXggOWFjZGY5ZTE2ZC4uYjFhN2Y3 MDU1MCAxMDA2NDQKPiA+ID4gLS0tIGEvcW9tL29iamVjdC5jCj4gPiA+ICsrKyBiL3FvbS9vYmpl Y3QuYwo+ID4gPiBAQCAtMzkyLDcgKzM5MiwxMSBAQCB2b2lkIG9iamVjdF9hcHBseV9nbG9iYWxf cHJvcHMoT2JqZWN0ICpvYmosIEdBcnJheSAqcHJvcHMsIEVycm9yICoqZXJycCkKPiA+ID4gICAg ICAgICAgaWYgKGVyciAhPSBOVUxMKSB7Cj4gPiA+ICAgICAgICAgICAgICBlcnJvcl9wcmVwZW5k KCZlcnIsICJjYW4ndCBhcHBseSBnbG9iYWwgJXMuJXM9JXM6ICIsCj4gPiA+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHAtPmRyaXZlciwgcC0+cHJvcGVydHksIHAtPnZhbHVlKTsKPiA+ID4g LSAgICAgICAgICAgIGVycm9yX3Byb3BhZ2F0ZShlcnJwLCBlcnIpOwo+ID4gPiArICAgICAgICAg ICAgaWYgKGVycnApIHsKPiA+ID4gKyAgICAgICAgICAgICAgICBlcnJvcl9wcm9wYWdhdGUoZXJy cCwgZXJyKTsKPiA+ID4gKyAgICAgICAgICAgIH0gZWxzZSB7Cj4gPiA+ICsgICAgICAgICAgICAg ICAgd2Fybl9yZXBvcnRfZXJyKGVycik7Cj4gPiA+ICsgICAgICAgICAgICB9Cj4gPiA+ICAgICAg ICAgIH0KPiA+ID4gICAgICB9Cj4gPiA+ICB9ICAKPiA+Cj4gPiAgCj4gCj4gCgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcg bGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9q ZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA== From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57451) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gRe6d-0003xv-8N for qemu-devel@nongnu.org; Tue, 27 Nov 2018 09:12:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gRe6c-0003w0-Ai for qemu-devel@nongnu.org; Tue, 27 Nov 2018 09:12:51 -0500 Date: Tue, 27 Nov 2018 15:12:12 +0100 From: Igor Mammedov Message-ID: <20181127151212.4583e324@redhat.com> In-Reply-To: References: <20181107123652.23417-1-marcandre.lureau@redhat.com> <20181107123652.23417-11-marcandre.lureau@redhat.com> <20181126142046.07c5e227@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH for-3.2 v3 10/14] qdev-props: call object_apply_global_props() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?B?TWFyYy1BbmRyw6k=?= Lureau Cc: Peter Maydell , Stefano Stabellini , Eduardo Habkost , Corey Minyard , amit@kernel.org, Paolo Bonzini , "Michael S. Tsirkin" , Mark Cave-Ayland , QEMU , "Dr. David Alan Gilbert" , "open list:ARM" , hpoussin@reactos.org, xen-devel@lists.xenproject.org, Anthony Perard , "open list:sPAPR pseries" , Richard Henderson , Andreas =?UTF-8?B?RsOkcmJlcg==?= , atar4qemu@gmail.com, stefanb@linux.ibm.com On Tue, 27 Nov 2018 00:02:35 +0400 Marc-Andr=C3=A9 Lureau wrote: > Hi > On Mon, Nov 26, 2018 at 5:27 PM Igor Mammedov wrote: > > > > On Wed, 7 Nov 2018 16:36:48 +0400 > > Marc-Andr=C3=A9 Lureau wrote: > > =20 > > > It's now possible to use the common function. > > > > > > Teach object_apply_global_props() to warn if Error argument is NULL. > > > > > > Signed-off-by: Marc-Andr=C3=A9 Lureau > > > --- > > > hw/core/qdev-properties.c | 24 ++---------------------- > > > qom/object.c | 6 +++++- > > > 2 files changed, 7 insertions(+), 23 deletions(-) > > > > > > diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c > > > index 8728cbab9f..239535a4cb 100644 > > > --- a/hw/core/qdev-properties.c > > > +++ b/hw/core/qdev-properties.c > > > @@ -1223,28 +1223,8 @@ int qdev_prop_check_globals(void) > > > > > > void qdev_prop_set_globals(DeviceState *dev) > > > { > > > - int i; > > > - > > > - for (i =3D 0; i < global_props()->len; i++) { > > > - GlobalProperty *prop; > > > - Error *err =3D NULL; > > > - > > > - prop =3D g_array_index(global_props(), GlobalProperty *, i); > > > - if (object_dynamic_cast(OBJECT(dev), prop->driver) =3D=3D NU= LL) { > > > - continue; > > > - } > > > - prop->used =3D true; > > > - object_property_parse(OBJECT(dev), prop->value, prop->proper= ty, &err); > > > - if (err !=3D NULL) { > > > - error_prepend(&err, "can't apply global %s.%s=3D%s: ", > > > - prop->driver, prop->property, prop->value); > > > - if (!dev->hotplugged) { > > > - error_propagate(&error_fatal, err); > > > - } else { > > > - warn_report_err(err); > > > - } > > > - } > > > - } > > > + object_apply_global_props(OBJECT(dev), global_props(), > > > + dev->hotplugged ? NULL : &error_fatal)= ; =20 > > arguably, it's up to caller to decide it warn or not. > > I'd leave it warning code out of object_apply_global_props() and let ca= ller do the job =20 >=20 > The problem is that there may be multiple errors, and the remaining > globals should be applied. > > I'll add a comment. ok =20 > > > } > > > > > > /* --- 64bit unsigned int 'size' type --- */ > > > diff --git a/qom/object.c b/qom/object.c > > > index 9acdf9e16d..b1a7f70550 100644 > > > --- a/qom/object.c > > > +++ b/qom/object.c > > > @@ -392,7 +392,11 @@ void object_apply_global_props(Object *obj, GArr= ay *props, Error **errp) > > > if (err !=3D NULL) { > > > error_prepend(&err, "can't apply global %s.%s=3D%s: ", > > > p->driver, p->property, p->value); > > > - error_propagate(errp, err); > > > + if (errp) { > > > + error_propagate(errp, err); > > > + } else { > > > + warn_report_err(err); > > > + } > > > } > > > } > > > } =20 > > > > =20 >=20 >=20