From nobody Sat May 18 00:40:21 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1588692703; cv=none; d=zohomail.com; s=zohoarc; b=X6q5y6bfOObF5TAMSOjX/uZoa42Pjpwl8PoaDlZ3hX3bo/Bn4TifW+x/2NtHSWqqudc5ZPe1e2H2ajAWifGkXkrgNgGy7KoLAWmlIWRANt2zNP3fv7cDdekbv0qxhr/GvDvR53BbamcXMK8UfQi7oAxNaf/JsELHjuymaK/h6x8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1588692703; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=G6n1q1CKUBB5YRA3C1f4HwmKosrRk5NH0rHk1l84Q0A=; b=Sg/qdi/0zrfpnpR7GgaNGtvOkmIC+J4DDklGbssAv2WjB8fb/EZWawOLnFE9ZvVJ7oqQLOVp7s4AKssmmTvyhYp/zmTumCn3MNANwjGIVEG5R8zw5RyohjmohrxhdKoitRecE+zwLPkbqgdGUV+jEjDc1tObWbsGGVhfpTlWXQ4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1588692703951732.7034870813818; Tue, 5 May 2020 08:31:43 -0700 (PDT) Received: from localhost ([::1]:47890 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jVzXq-00057C-CY for importer@patchew.org; Tue, 05 May 2020 11:31:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45916) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jVzVm-0003Jb-9Z for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:34 -0400 Received: from us-smtp-1.mimecast.com ([205.139.110.61]:59218 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jVzVk-0007Po-Fb for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:33 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-458-jLqyyOCtOEmHTNdRH0Y5SA-1; Tue, 05 May 2020 11:29:28 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id D5C8A461 for ; Tue, 5 May 2020 15:29:27 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-113-6.ams2.redhat.com [10.36.113.6]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9EFC82B15E; Tue, 5 May 2020 15:29:27 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 30E0511358BD; Tue, 5 May 2020 17:29:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1588692570; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=G6n1q1CKUBB5YRA3C1f4HwmKosrRk5NH0rHk1l84Q0A=; b=UlKqJ3hTiErm6D5/NDDc5NH6L2E/uhbUgtCpbdXMcPWxfbGhUlI0poCACCIvFnXh58odm5 nzuQcAZQNcLAFcOJxCNZSJWP/UFhm0zsnSIPyZkzotvQSLmFh0DM6sU6A0l6uW2qeZfnzf xic4KOGwnEDWVPlCm33UkqMWVSijifo= X-MC-Unique: jLqyyOCtOEmHTNdRH0Y5SA-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH v2 01/18] qom: Clearer reference counting in object_initialize_childv() Date: Tue, 5 May 2020 17:29:09 +0200 Message-Id: <20200505152926.18877-2-armbru@redhat.com> In-Reply-To: <20200505152926.18877-1-armbru@redhat.com> References: <20200505152926.18877-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.61; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/05 00:37:40 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: pbonzini@redhat.com, berrange@redhat.com, ehabkost@redhat.com, philmd@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Paolo Bonzini --- qom/object.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/qom/object.c b/qom/object.c index be700e831f..5511649502 100644 --- a/qom/object.c +++ b/qom/object.c @@ -571,18 +571,18 @@ void object_initialize_childv(Object *parentobj, cons= t char *propname, } } =20 +out: /* - * Since object_property_add_child added a reference to the child obje= ct, - * we can drop the reference added by object_initialize(), so the child - * property will own the only reference to the object. + * We want @obj's reference to be 1 on success, 0 on failure. + * On success, it's 2: one taken by object_initialize(), and one + * by object_property_add_child(). + * On failure in object_initialize() or earlier, it's 1. + * On failure afterwards, it's also 1: object_unparent() releases + * the reference taken by object_property_add_child(). */ object_unref(obj); =20 -out: - if (local_err) { - error_propagate(errp, local_err); - object_unref(obj); - } + error_propagate(errp, local_err); } =20 static inline bool object_property_is_child(ObjectProperty *prop) --=20 2.21.1 From nobody Sat May 18 00:40:21 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1588692710; cv=none; d=zohomail.com; s=zohoarc; b=HE/BFHlOB4yc48gjg9KrZ4lE3sRIERPt7jhcE+ZjCO/ilxQ0fSLGYe7Yhm65g7KrJ3xVXulXg4ztOhf4VwTKNHvhbF7s+ioH9LPmDhspXo0F/f7KlvpUAH93WNrxw9X5uyvIIkpNN3cPZ7HcVig5bbIJVPRryKUU7Axky+y3zbk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1588692710; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=+U2cKhpQjvrNzIPkMkxjhveQrL8Lyx86gXrXZzjtggo=; b=biz28dmCSoo4Nr+K98XojTX7l9vHrAzEbhQzIFF23RjthKvHQSGCyIKd1kmKlT07XicLeM0TXWhhsfyxUql6hORcy19ry83Uxb5FTwEdMqNMXU/ERtBP0HLHjoH4l/CVA1M0F+P2R6KBg19bgQrgvO7URrf+T+g27Ew/G2RkA74= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1588692710302561.2441508317196; Tue, 5 May 2020 08:31:50 -0700 (PDT) Received: from localhost ([::1]:48156 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jVzXw-0005Dp-TU for importer@patchew.org; Tue, 05 May 2020 11:31:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45948) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jVzVn-0003Jr-EM for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:35 -0400 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:24190 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jVzVl-0007QJ-2O for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:34 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-219-xRQe0a4kN9i7YA8gp8pU6A-1; Tue, 05 May 2020 11:29:28 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 0A8A8107B266 for ; Tue, 5 May 2020 15:29:28 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-113-6.ams2.redhat.com [10.36.113.6]) by smtp.corp.redhat.com (Postfix) with ESMTPS id A497963F94; Tue, 5 May 2020 15:29:27 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 33DED11358BE; Tue, 5 May 2020 17:29:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1588692570; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=+U2cKhpQjvrNzIPkMkxjhveQrL8Lyx86gXrXZzjtggo=; b=DGThYf8/rfYR/gu4iwZ00felepC7JPUGY9pHRpMboCgHVL3i/5K1JNg5F6ctyS2QiR86Qr m7fBlwZSQEVqQCfkdc/PbugtwMXUpifZfT9BuXOQUykgAsApfU1p0Rtj1pJxe56n4c5raD T+2VYEPX7obhdhdgu26HV2K22RACD0Q= X-MC-Unique: xRQe0a4kN9i7YA8gp8pU6A-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH v2 02/18] qom: Clean up inconsistent use of gchar * vs. char * Date: Tue, 5 May 2020 17:29:10 +0200 Message-Id: <20200505152926.18877-3-armbru@redhat.com> In-Reply-To: <20200505152926.18877-1-armbru@redhat.com> References: <20200505152926.18877-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.81; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/05 00:37:19 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: pbonzini@redhat.com, berrange@redhat.com, ehabkost@redhat.com, philmd@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Uses of gchar * in qom/object.h: * ObjectProperty member @name Functions that take a property name argument all use char *. Change the member to match. * ObjectProperty member @type Functions that take a property type argument or return it all use char *. Change the member to match. * ObjectProperty member @description Functions that take a property description argument all use char *. Change the member to match. * object_resolve_path_component() parameter @part Path components are property names. Most callers pass char * arguments. Change the parameter to match. Adjust the few callers that pass gchar * to pass char *. * Return value of object_get_canonical_path_component(), object_get_canonical_path() Most callers convert their return values right back to char *. Change the return value to match. Adjust the few callers where that would add a conversion to gchar * to use char * instead. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Paolo Bonzini --- include/qom/object.h | 12 +++++----- monitor/monitor-internal.h | 2 +- hw/dma/xlnx-zdma.c | 4 ++-- hw/net/virtio-net.c | 2 +- hw/ppc/spapr_drc.c | 2 +- memory.c | 4 ++-- qom/container.c | 2 +- qom/object.c | 46 ++++++++++++++++++++------------------ 8 files changed, 38 insertions(+), 36 deletions(-) diff --git a/include/qom/object.h b/include/qom/object.h index 784c97c0e1..ccfa82e33d 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -369,9 +369,9 @@ typedef void (ObjectPropertyInit)(Object *obj, ObjectPr= operty *prop); =20 struct ObjectProperty { - gchar *name; - gchar *type; - gchar *description; + char *name; + char *type; + char *description; ObjectPropertyAccessor *get; ObjectPropertyAccessor *set; ObjectPropertyResolve *resolve; @@ -1421,7 +1421,7 @@ Object *object_get_internal_root(void); * path is the path within the composition tree starting from the root. * %NULL if the object doesn't have a parent (and thus a canonical path). */ -gchar *object_get_canonical_path_component(Object *obj); +char *object_get_canonical_path_component(Object *obj); =20 /** * object_get_canonical_path: @@ -1429,7 +1429,7 @@ gchar *object_get_canonical_path_component(Object *ob= j); * Returns: The canonical path for a object. This is the path within the * composition tree starting from the root. */ -gchar *object_get_canonical_path(Object *obj); +char *object_get_canonical_path(Object *obj); =20 /** * object_resolve_path: @@ -1487,7 +1487,7 @@ Object *object_resolve_path_type(const char *path, co= nst char *typename, * * Returns: The resolved object or NULL on path lookup failure. */ -Object *object_resolve_path_component(Object *parent, const gchar *part); +Object *object_resolve_path_component(Object *parent, const char *part); =20 /** * object_property_add_child: diff --git a/monitor/monitor-internal.h b/monitor/monitor-internal.h index 8f60ccc70a..b39e03b744 100644 --- a/monitor/monitor-internal.h +++ b/monitor/monitor-internal.h @@ -91,7 +91,7 @@ struct Monitor { bool skip_flush; bool use_io_thread; =20 - gchar *mon_cpu_path; + char *mon_cpu_path; QTAILQ_ENTRY(Monitor) entry; =20 /* diff --git a/hw/dma/xlnx-zdma.c b/hw/dma/xlnx-zdma.c index 4121a1b489..2dec4a2643 100644 --- a/hw/dma/xlnx-zdma.c +++ b/hw/dma/xlnx-zdma.c @@ -719,7 +719,7 @@ static uint64_t zdma_read(void *opaque, hwaddr addr, un= signed size) RegisterInfo *r =3D &s->regs_info[addr / 4]; =20 if (!r->data) { - gchar *path =3D object_get_canonical_path(OBJECT(s)); + char *path =3D object_get_canonical_path(OBJECT(s)); qemu_log("%s: Decode error: read from %" HWADDR_PRIx "\n", path, addr); @@ -738,7 +738,7 @@ static void zdma_write(void *opaque, hwaddr addr, uint6= 4_t value, RegisterInfo *r =3D &s->regs_info[addr / 4]; =20 if (!r->data) { - gchar *path =3D object_get_canonical_path(OBJECT(s)); + char *path =3D object_get_canonical_path(OBJECT(s)); qemu_log("%s: Decode error: write to %" HWADDR_PRIx "=3D%" PRIx64 = "\n", path, addr, value); diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 3301869d4f..e51231e795 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -399,7 +399,7 @@ static void rxfilter_notify(NetClientState *nc) VirtIONet *n =3D qemu_get_nic_opaque(nc); =20 if (nc->rxfilter_notify_enabled) { - gchar *path =3D object_get_canonical_path(OBJECT(n->qdev)); + char *path =3D object_get_canonical_path(OBJECT(n->qdev)); qapi_event_send_nic_rx_filter_changed(!!n->netclient_name, n->netclient_name, path); g_free(path); diff --git a/hw/ppc/spapr_drc.c b/hw/ppc/spapr_drc.c index 47e6bb12f9..0b66d59867 100644 --- a/hw/ppc/spapr_drc.c +++ b/hw/ppc/spapr_drc.c @@ -518,7 +518,7 @@ static void realize(DeviceState *d, Error **errp) SpaprDrc *drc =3D SPAPR_DR_CONNECTOR(d); Object *root_container; gchar *link_name; - gchar *child_name; + char *child_name; Error *err =3D NULL; =20 trace_spapr_drc_realize(spapr_drc_index(drc)); diff --git a/memory.c b/memory.c index 601b749906..936c1b23d4 100644 --- a/memory.c +++ b/memory.c @@ -1175,7 +1175,7 @@ static void memory_region_get_container(Object *obj, = Visitor *v, Error **errp) { MemoryRegion *mr =3D MEMORY_REGION(obj); - gchar *path =3D (gchar *)""; + char *path =3D (char *)""; =20 if (mr->container) { path =3D object_get_canonical_path(OBJECT(mr->container)); @@ -2845,7 +2845,7 @@ static void mtree_expand_owner(const char *label, Obj= ect *obj) if (dev && dev->id) { qemu_printf(" id=3D%s", dev->id); } else { - gchar *canonical_path =3D object_get_canonical_path(obj); + char *canonical_path =3D object_get_canonical_path(obj); if (canonical_path) { qemu_printf(" path=3D%s", canonical_path); g_free(canonical_path); diff --git a/qom/container.c b/qom/container.c index f6ccaf7ea7..e635e8ee76 100644 --- a/qom/container.c +++ b/qom/container.c @@ -28,7 +28,7 @@ static void container_register_types(void) Object *container_get(Object *root, const char *path) { Object *obj, *child; - gchar **parts; + char **parts; int i; =20 parts =3D g_strsplit(path, "/", 0); diff --git a/qom/object.c b/qom/object.c index 5511649502..07762cc331 100644 --- a/qom/object.c +++ b/qom/object.c @@ -1357,7 +1357,7 @@ void object_property_set_link(Object *obj, Object *va= lue, const char *name, Error **errp) { if (value) { - gchar *path =3D object_get_canonical_path(value); + char *path =3D object_get_canonical_path(value); object_property_set_str(obj, path, name, errp); g_free(path); } else { @@ -1651,14 +1651,15 @@ static void object_get_child_property(Object *obj, = Visitor *v, Error **errp) { Object *child =3D opaque; - gchar *path; + char *path; =20 path =3D object_get_canonical_path(child); visit_type_str(v, name, &path, errp); g_free(path); } =20 -static Object *object_resolve_child_property(Object *parent, void *opaque,= const gchar *part) +static Object *object_resolve_child_property(Object *parent, void *opaque, + const char *part) { return opaque; } @@ -1679,7 +1680,7 @@ void object_property_add_child(Object *obj, const cha= r *name, Object *child, Error **errp) { Error *local_err =3D NULL; - gchar *type; + char *type; ObjectProperty *op; =20 if (child->parent !=3D NULL) { @@ -1738,14 +1739,14 @@ static void object_get_link_property(Object *obj, V= isitor *v, { LinkProperty *lprop =3D opaque; Object **targetp =3D object_link_get_targetp(obj, lprop); - gchar *path; + char *path; =20 if (*targetp) { path =3D object_get_canonical_path(*targetp); visit_type_str(v, name, &path, errp); g_free(path); } else { - path =3D (gchar *)""; + path =3D (char *)""; visit_type_str(v, name, &path, errp); } } @@ -1763,7 +1764,7 @@ static Object *object_resolve_link(Object *obj, const= char *name, const char *path, Error **errp) { const char *type; - gchar *target_type; + char *target_type; bool ambiguous =3D false; Object *target; =20 @@ -1826,7 +1827,8 @@ static void object_set_link_property(Object *obj, Vis= itor *v, } } =20 -static Object *object_resolve_link_property(Object *parent, void *opaque, = const gchar *part) +static Object *object_resolve_link_property(Object *parent, void *opaque, + const char *part) { LinkProperty *lprop =3D opaque; =20 @@ -1856,7 +1858,7 @@ static void object_add_link_prop(Object *obj, const c= har *name, { Error *local_err =3D NULL; LinkProperty *prop =3D g_malloc(sizeof(*prop)); - gchar *full_type; + char *full_type; ObjectProperty *op; =20 if (flags & OBJ_PROP_LINK_DIRECT) { @@ -1908,7 +1910,7 @@ object_class_property_add_link(ObjectClass *oc, { Error *local_err =3D NULL; LinkProperty *prop =3D g_new0(LinkProperty, 1); - gchar *full_type; + char *full_type; ObjectProperty *op; =20 prop->offset =3D offset; @@ -1943,7 +1945,7 @@ void object_property_add_const_link(Object *obj, cons= t char *name, NULL, OBJ_PROP_LINK_DIRECT, errp); } =20 -gchar *object_get_canonical_path_component(Object *obj) +char *object_get_canonical_path_component(Object *obj) { ObjectProperty *prop =3D NULL; GHashTableIter iter; @@ -1968,7 +1970,7 @@ gchar *object_get_canonical_path_component(Object *ob= j) return NULL; } =20 -gchar *object_get_canonical_path(Object *obj) +char *object_get_canonical_path(Object *obj) { Object *root =3D object_get_root(); char *newpath, *path =3D NULL; @@ -1998,7 +2000,7 @@ gchar *object_get_canonical_path(Object *obj) return path; } =20 -Object *object_resolve_path_component(Object *parent, const gchar *part) +Object *object_resolve_path_component(Object *parent, const char *part) { ObjectProperty *prop =3D object_property_find(parent, part, NULL); if (prop =3D=3D NULL) { @@ -2013,9 +2015,9 @@ Object *object_resolve_path_component(Object *parent,= const gchar *part) } =20 static Object *object_resolve_abs_path(Object *parent, - gchar **parts, - const char *typename, - int index) + char **parts, + const char *typename, + int index) { Object *child; =20 @@ -2036,9 +2038,9 @@ static Object *object_resolve_abs_path(Object *parent, } =20 static Object *object_resolve_partial_path(Object *parent, - gchar **parts, - const char *typename, - bool *ambiguous) + char **parts, + const char *typename, + bool *ambiguous) { Object *obj; GHashTableIter iter; @@ -2076,7 +2078,7 @@ Object *object_resolve_path_type(const char *path, co= nst char *typename, bool *ambiguousp) { Object *obj; - gchar **parts; + char **parts; =20 parts =3D g_strsplit(path, "/", 0); assert(parts); @@ -2767,7 +2769,7 @@ static void property_set_alias(Object *obj, Visitor *= v, const char *name, } =20 static Object *property_resolve_alias(Object *obj, void *opaque, - const gchar *part) + const char *part) { AliasProperty *prop =3D opaque; =20 @@ -2789,7 +2791,7 @@ void object_property_add_alias(Object *obj, const cha= r *name, AliasProperty *prop; ObjectProperty *op; ObjectProperty *target_prop; - gchar *prop_type; + char *prop_type; Error *local_err =3D NULL; =20 target_prop =3D object_property_find(target_obj, target_name, errp); --=20 2.21.1 From nobody Sat May 18 00:40:21 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1588693267; cv=none; d=zohomail.com; s=zohoarc; b=OHlNytrfzLDDHwgTlX51nKzJcleiH1rTVgHO3QBA2mMn4dlF9Azt8JAj2ffjtdILN5bdD3yWpoaOlDaR84FxRn8wOsA1XUyfNd6yz7O5K7L2rqCclFjtrhM3DOILfORLu+99NqX5Fc/uxD45qFZxMCuEqUSRqPZKSry92B+m7Ao= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1588693267; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=y+PHnR57qBTbd2B/WmRXaGvR865UwVJQqPHggRUV1/M=; b=bInJNuxAAbG2AGDCNK3kmQdE/ViaSVqwc4bW9EqJbmwY2fvi1C2oShSC6rjzpyfpObNA1FvCCi1QAVvNNFO9N28KDw3FMKU8eUoYRhV5tjl3hYvXsFCxQHR4ab62piKeSQaqBNiZKz4QAPQHX0+U39/HiBfrHJneXB1prkKbcnM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1588693267098246.0013323767447; Tue, 5 May 2020 08:41:07 -0700 (PDT) Received: from localhost ([::1]:44930 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jVzgv-0007ml-G3 for importer@patchew.org; Tue, 05 May 2020 11:41:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46034) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jVzVv-0003UM-Tj for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:43 -0400 Received: from us-smtp-1.mimecast.com ([205.139.110.61]:38228 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jVzVo-0007TF-EE for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:42 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-368-nEPwQrdJO1GcS8UNhDApeQ-1; Tue, 05 May 2020 11:29:28 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id E3EFE800687 for ; Tue, 5 May 2020 15:29:27 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-113-6.ams2.redhat.com [10.36.113.6]) by smtp.corp.redhat.com (Postfix) with ESMTPS id AB33C60BF4; Tue, 5 May 2020 15:29:27 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 3734A11358BF; Tue, 5 May 2020 17:29:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1588692575; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=y+PHnR57qBTbd2B/WmRXaGvR865UwVJQqPHggRUV1/M=; b=dUecfpHILl7lxewxds0HJsIEd8zoaXXEyOoBxbvH5WP2f5mVZ/O6Xxu7Hq9xWJWfqF10de 4NjAhf3gVaDBhz1B4O1j8/ZKT9KNAzLbjQuG5waEJAd8x3Zp4QW8X7JtdQQiHBAxVaj0u2 k5sgvR4CYVb1zu/i1KG2104Ii6IFhfM= X-MC-Unique: nEPwQrdJO1GcS8UNhDApeQ-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH v2 03/18] qom: Drop object_property_del_child()'s unused parameter @errp Date: Tue, 5 May 2020 17:29:11 +0200 Message-Id: <20200505152926.18877-4-armbru@redhat.com> In-Reply-To: <20200505152926.18877-1-armbru@redhat.com> References: <20200505152926.18877-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.61; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/05 00:37:40 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: pbonzini@redhat.com, berrange@redhat.com, ehabkost@redhat.com, philmd@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Paolo Bonzini --- qom/object.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qom/object.c b/qom/object.c index 07762cc331..3d65658059 100644 --- a/qom/object.c +++ b/qom/object.c @@ -614,7 +614,7 @@ static void object_property_del_all(Object *obj) g_hash_table_unref(obj->properties); } =20 -static void object_property_del_child(Object *obj, Object *child, Error **= errp) +static void object_property_del_child(Object *obj, Object *child) { ObjectProperty *prop; GHashTableIter iter; @@ -644,7 +644,7 @@ static void object_property_del_child(Object *obj, Obje= ct *child, Error **errp) void object_unparent(Object *obj) { if (obj->parent) { - object_property_del_child(obj->parent, obj, NULL); + object_property_del_child(obj->parent, obj); } } =20 --=20 2.21.1 From nobody Sat May 18 00:40:21 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1588692707; cv=none; d=zohomail.com; s=zohoarc; b=eZISOxCofzL2ib3NP/+HqZ17RRnnAUl8mUJZ9kxZrkt/TUaE4Pbr0v6kh7LyZG+KfnxZKxBfpoHiMU+frU2f9QPj4oSCIC4o8ycNwb4bGbo5JAJuWbS3P4HdOm85PlLwSyY/045UFS7rjpt0ybCSINeM9Bnef7fL3WpTVjrbA3g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1588692707; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=4RikHMQLXtDbA/cd7k4epxb/irkWDQhbyQSCKt0u3s4=; b=juieX0qyxicZO9gFGvF0KUOcxqs4mkBaPpVO/NKkmLlhInxiLR5/fMvpos/UlTTG6YLxtosE4dGH0kfaWkisJN1yjLD9tLLX0OUrQT89I076D157P0UKzv58znOX9EdCWWkMhn5si6JiZdjTzacH786PmfIrswUnf3ae+7kdquQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1588692707865778.9923471384518; Tue, 5 May 2020 08:31:47 -0700 (PDT) Received: from localhost ([::1]:47980 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jVzXu-00059l-F5 for importer@patchew.org; Tue, 05 May 2020 11:31:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45934) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jVzVm-0003Jd-Dk for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:34 -0400 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:27276 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jVzVk-0007QI-R0 for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:33 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-303-QQEVX7dTMaCVCz-2VTwODg-1; Tue, 05 May 2020 11:29:28 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id E6C3680183C for ; Tue, 5 May 2020 15:29:27 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-113-6.ams2.redhat.com [10.36.113.6]) by smtp.corp.redhat.com (Postfix) with ESMTPS id AEB141000232; Tue, 5 May 2020 15:29:27 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 3A4B111358C0; Tue, 5 May 2020 17:29:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1588692570; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=4RikHMQLXtDbA/cd7k4epxb/irkWDQhbyQSCKt0u3s4=; b=FZ33xGNDFB2jN+JFH3lg7rGB+wbw3xxd0GspgEv7G7xD5uiKBXUJP2tmtkop+sfP61TDzX Fs+zniiEq6oebwrAKjkLaGWATI3Cp+ynw6hSBOrGlQnn5BCa+HS0TUXfrOvsku6LB7soO6 cbvxSnPO3NybvdTBj+6/nuUF7YQ7tt8= X-MC-Unique: QQEVX7dTMaCVCz-2VTwODg-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH v2 04/18] qom: Simplify object_property_get_enum() Date: Tue, 5 May 2020 17:29:12 +0200 Message-Id: <20200505152926.18877-5-armbru@redhat.com> In-Reply-To: <20200505152926.18877-1-armbru@redhat.com> References: <20200505152926.18877-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/05 00:37:38 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: pbonzini@redhat.com, berrange@redhat.com, ehabkost@redhat.com, philmd@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Reuse object_property_get_str(). Switches from the string to the qobject visitor under the hood. Signed-off-by: Markus Armbruster Reviewed-by: Paolo Bonzini --- qom/object.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/qom/object.c b/qom/object.c index 3d65658059..b374af302c 100644 --- a/qom/object.c +++ b/qom/object.c @@ -1521,8 +1521,6 @@ typedef struct EnumProperty { int object_property_get_enum(Object *obj, const char *name, const char *typename, Error **errp) { - Error *err =3D NULL; - Visitor *v; char *str; int ret; ObjectProperty *prop =3D object_property_find(obj, name, errp); @@ -1541,15 +1539,10 @@ int object_property_get_enum(Object *obj, const cha= r *name, =20 enumprop =3D prop->opaque; =20 - v =3D string_output_visitor_new(false, &str); - object_property_get(obj, v, name, &err); - if (err) { - error_propagate(errp, err); - visit_free(v); + str =3D object_property_get_str(obj, name, errp); + if (!str) { return 0; } - visit_complete(v, &str); - visit_free(v); =20 ret =3D qapi_enum_parse(enumprop->lookup, str, -1, errp); g_free(str); --=20 2.21.1 From nobody Sat May 18 00:40:21 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1588692919; cv=none; d=zohomail.com; s=zohoarc; b=U6y8JE/a2LsklHt37fDg/oKIPCOafzl++LZc8KNUHvKKNg/kUpAplUIvjL5b0hfZ73bGZdymUQqdhM57mHy3XWjG9PkYNeocoSKKardSTgIOJ3KiuVFlaaXhpALx5lQ2E8JUB7fGCWJCGPwI3vibBJ999qdrty+kRBu5whVREec= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1588692919; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=McJcjHtSWnBjEEs2H2Yvzyf7jr3Q5e2gxUKSZdf2eOU=; b=j37uIM5ScwGr0kWLV672tCuBhJYyuExn5TVXnFw18foFed7ffx6M2xQ+XS00bvOIYmsOcs0p7txmiGpmHXSKOy+WSnUURqhdKAD+uJhIViDajpMilw8SRrJDw3vkiubwPRmVy82gu7v6DX9gJhNn9y7iytRbwsUV1osYnMdIl28= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1588692919175714.4997764629501; Tue, 5 May 2020 08:35:19 -0700 (PDT) Received: from localhost ([::1]:56788 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jVzbJ-0000pq-S8 for importer@patchew.org; Tue, 05 May 2020 11:35:17 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45964) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jVzVo-0003KB-B5 for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:36 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:28722 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jVzVl-0007Qe-DM for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:35 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-106-uXttmxrKOj6AwPAUrzFfJw-1; Tue, 05 May 2020 11:29:30 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 7A29953 for ; Tue, 5 May 2020 15:29:29 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-113-6.ams2.redhat.com [10.36.113.6]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 1F0E12B141; Tue, 5 May 2020 15:29:29 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 3D84311358C1; Tue, 5 May 2020 17:29:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1588692572; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=McJcjHtSWnBjEEs2H2Yvzyf7jr3Q5e2gxUKSZdf2eOU=; b=Av724U2P/pgFYcGLBhkdIpEnNSY2CFT68UNrmADU9MxRNyIAEyLfyjge5Z4smrwnCJpw1w TzzP67jr3fqqMeO+49uXHOlYMS29f4hoqStUWP7Cg25V69EqZl/uFH4+UsqUEcid1lz6w0 MbW15z4iHnyqF1Cc3yECzSVIpjMAdZI= X-MC-Unique: uXttmxrKOj6AwPAUrzFfJw-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH v2 05/18] qom: Drop convenience method object_property_get_uint16List() Date: Tue, 5 May 2020 17:29:13 +0200 Message-Id: <20200505152926.18877-6-armbru@redhat.com> In-Reply-To: <20200505152926.18877-1-armbru@redhat.com> References: <20200505152926.18877-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/05 03:48:16 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: pbonzini@redhat.com, berrange@redhat.com, ehabkost@redhat.com, philmd@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" qom/object.c provides object_property_get_TYPE() and object_property_set_TYPE() for a number of common types. These are all convenience wrappers around object_property_get_qobject() and object_property_set_qobject(). Except for object_property_get_uint16List(), which is unusual in two ways: * It bypasses object_property_get_qobject(). Fixable; the previous commit did it for object_property_get_enum()) * It stores the value through a parameter. Its contract claims it returns the value, like the other functions do. Also fixable. Fixing is not worthwhile, though: object_property_get_uint16List() has seen exactly one user in six years. Convert the lone user to do its job with the generic object_property_get_qobject(), and drop object_property_get_qobject(). Signed-off-by: Markus Armbruster Reviewed-by: Paolo Bonzini --- include/qom/object.h | 14 -------------- hw/core/machine-qmp-cmds.c | 16 +++++++++++++--- qom/object.c | 23 ----------------------- 3 files changed, 13 insertions(+), 40 deletions(-) diff --git a/include/qom/object.h b/include/qom/object.h index ccfa82e33d..4df9ecebad 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -1320,20 +1320,6 @@ uint64_t object_property_get_uint(Object *obj, const= char *name, int object_property_get_enum(Object *obj, const char *name, const char *typename, Error **errp); =20 -/** - * object_property_get_uint16List: - * @obj: the object - * @name: the name of the property - * @list: the returned int list - * @errp: returns an error if this function fails - * - * Returns: the value of the property, converted to integers, or - * undefined if an error occurs (including when the property value is not - * an list of integers). - */ -void object_property_get_uint16List(Object *obj, const char *name, - uint16List **list, Error **errp); - /** * object_property_set: * @obj: the object diff --git a/hw/core/machine-qmp-cmds.c b/hw/core/machine-qmp-cmds.c index eed5aeb2f7..2c5da8413d 100644 --- a/hw/core/machine-qmp-cmds.c +++ b/hw/core/machine-qmp-cmds.c @@ -11,9 +11,13 @@ #include "cpu.h" #include "hw/boards.h" #include "qapi/error.h" +#include "qapi/qapi-builtin-visit.h" #include "qapi/qapi-commands-machine.h" #include "qapi/qmp/qerror.h" +#include "qapi/qmp/qobject.h" +#include "qapi/qobject-input-visitor.h" #include "qemu/main-loop.h" +#include "qom/qom-qobject.h" #include "sysemu/hostmem.h" #include "sysemu/hw_accel.h" #include "sysemu/numa.h" @@ -303,6 +307,8 @@ static int query_memdev(Object *obj, void *opaque) { MemdevList **list =3D opaque; MemdevList *m =3D NULL; + QObject *host_nodes; + Visitor *v; =20 if (object_dynamic_cast(obj, TYPE_MEMORY_BACKEND)) { m =3D g_malloc0(sizeof(*m)); @@ -325,9 +331,13 @@ static int query_memdev(Object *obj, void *opaque) "policy", "HostMemPolicy", &error_abort); - object_property_get_uint16List(obj, "host-nodes", - &m->value->host_nodes, - &error_abort); + host_nodes =3D object_property_get_qobject(obj, + "host-nodes", + &error_abort); + v =3D qobject_input_visitor_new(host_nodes); + visit_type_uint16List(v, NULL, &m->value->host_nodes, &error_abort= ); + visit_free(v); + qobject_unref(host_nodes); =20 m->next =3D *list; *list =3D m; diff --git a/qom/object.c b/qom/object.c index b374af302c..54a26ed16a 100644 --- a/qom/object.c +++ b/qom/object.c @@ -1550,29 +1550,6 @@ int object_property_get_enum(Object *obj, const char= *name, return ret; } =20 -void object_property_get_uint16List(Object *obj, const char *name, - uint16List **list, Error **errp) -{ - Error *err =3D NULL; - Visitor *v; - char *str; - - v =3D string_output_visitor_new(false, &str); - object_property_get(obj, v, name, &err); - if (err) { - error_propagate(errp, err); - goto out; - } - visit_complete(v, &str); - visit_free(v); - v =3D string_input_visitor_new(str); - visit_type_uint16List(v, NULL, list, errp); - - g_free(str); -out: - visit_free(v); -} - void object_property_parse(Object *obj, const char *string, const char *name, Error **errp) { --=20 2.21.1 From nobody Sat May 18 00:40:21 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1588693116; cv=none; d=zohomail.com; s=zohoarc; b=gDoaCwNujjkQki4A53fXDbIfN2i9rn5w1kVddTAVbRXAt59LAqPwAwio7yZyrSI+kSaie/iH9d5MC/EIL0fpEZOhCzud2U4H0GeTYDRSlsLFbGv4osvix72TccFBtgX6nB6RjAfcR8XCyA/FQwLfo4JCVebGTW4+43/0YXr0uLA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1588693116; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=SSR+TphYHppnsCWK0QjYZsSwK6a1/17R2ldhPjBJizU=; b=ayMwuyTsS9kPPCUkaS7eSW5JnmJzs256FBtKu1Zv4C0I7QoOi2FF8nlfPn2r+7esC5SM3+5LhY6jP0wDie9tWfnx1w+C6sfnk6hENFZ4NlQm+phCIdCkwYCkltx3Jr9Pcxoxk0mP+hX9LBzrEWOva6A6dFBayG/ZBtfVQ4FG048= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1588693116523576.3207465064163; Tue, 5 May 2020 08:38:36 -0700 (PDT) Received: from localhost ([::1]:36852 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jVzeV-0004Lx-47 for importer@patchew.org; Tue, 05 May 2020 11:38:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45994) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jVzVq-0003NG-JY for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:38 -0400 Received: from us-smtp-1.mimecast.com ([205.139.110.61]:20826 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jVzVm-0007Qv-4z for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:37 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-484-AGJtQv7jOp6MZKK5qqP-gA-1; Tue, 05 May 2020 11:29:30 -0400 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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id A193C107B270 for ; Tue, 5 May 2020 15:29:29 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-113-6.ams2.redhat.com [10.36.113.6]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 20C1919C4F; Tue, 5 May 2020 15:29:29 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 410BF11358C2; Tue, 5 May 2020 17:29:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1588692572; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=SSR+TphYHppnsCWK0QjYZsSwK6a1/17R2ldhPjBJizU=; b=HdeMt+qLiTbbx2BA1vGmOp0Cf5DKISrMHeBaQtcF8UhASUESCzKlUqW06KgS38GDEDjI6e xmVbchkeg7GTMRZJdXVnXncogSdpFQRMWPOMq5MADVFBh/nHKnFSeD1xr8Q9fpN8ay2XEy QDXSOyXOlL0TRec7tshzq/2gREYPLcw= X-MC-Unique: AGJtQv7jOp6MZKK5qqP-gA-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH v2 06/18] qom: Make all the object_property_add_FOO() return the property Date: Tue, 5 May 2020 17:29:14 +0200 Message-Id: <20200505152926.18877-7-armbru@redhat.com> In-Reply-To: <20200505152926.18877-1-armbru@redhat.com> References: <20200505152926.18877-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.61; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/05 00:37:40 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: pbonzini@redhat.com, berrange@redhat.com, ehabkost@redhat.com, philmd@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Some object_property_add_FOO() return the newly added property, some don't. Clean that up. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Paolo Bonzini --- include/qom/object.h | 50 ++++++--- qom/object.c | 250 ++++++++++++++++++++++--------------------- 2 files changed, 164 insertions(+), 136 deletions(-) diff --git a/include/qom/object.h b/include/qom/object.h index 4df9ecebad..0ea5808432 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -1491,9 +1491,11 @@ Object *object_resolve_path_component(Object *parent= , const char *part); * The value of a child property as a C string will be the child object's * canonical path. It can be retrieved using object_property_get_str(). * The child object itself can be retrieved using object_property_get_link= (). + * + * Returns: The newly added property on success, or %NULL on failure. */ -void object_property_add_child(Object *obj, const char *name, - Object *child, Error **errp); +ObjectProperty *object_property_add_child(Object *obj, const char *name, + Object *child, Error **errp); =20 typedef enum { /* Unref the link pointer when the property is deleted */ @@ -1542,8 +1544,10 @@ void object_property_allow_set_link(const Object *, = const char *, * @flags OBJ_PROP_LINK_STRONG bit is set, * the reference count is decremented when the property is deleted or * modified. + * + * Returns: The newly added property on success, or %NULL on failure. */ -void object_property_add_link(Object *obj, const char *name, +ObjectProperty *object_property_add_link(Object *obj, const char *name, const char *type, Object **targetp, void (*check)(const Object *obj, const char = *name, Object *val, Error **errp), @@ -1569,8 +1573,10 @@ ObjectProperty *object_class_property_add_link(Objec= tClass *oc, * * Add a string property using getters/setters. This function will add a * property of type 'string'. + * + * Returns: The newly added property on success, or %NULL on failure. */ -void object_property_add_str(Object *obj, const char *name, +ObjectProperty *object_property_add_str(Object *obj, const char *name, char *(*get)(Object *, Error **), void (*set)(Object *, const char *, Error **), Error **errp); @@ -1592,8 +1598,10 @@ ObjectProperty *object_class_property_add_str(Object= Class *klass, * * Add a bool property using getters/setters. This function will add a * property of type 'bool'. + * + * Returns: The newly added property on success, or %NULL on failure. */ -void object_property_add_bool(Object *obj, const char *name, +ObjectProperty *object_property_add_bool(Object *obj, const char *name, bool (*get)(Object *, Error **), void (*set)(Object *, bool, Error **), Error **errp); @@ -1615,8 +1623,10 @@ ObjectProperty *object_class_property_add_bool(Objec= tClass *klass, * * Add an enum property using getters/setters. This function will add a * property of type '@typename'. + * + * Returns: The newly added property on success, or %NULL on failure. */ -void object_property_add_enum(Object *obj, const char *name, +ObjectProperty *object_property_add_enum(Object *obj, const char *name, const char *typename, const QEnumLookup *lookup, int (*get)(Object *, Error **), @@ -1640,8 +1650,10 @@ ObjectProperty *object_class_property_add_enum(Objec= tClass *klass, * * Add a read-only struct tm valued property using a getter function. * This function will add a property of type 'struct tm'. + * + * Returns: The newly added property on success, or %NULL on failure. */ -void object_property_add_tm(Object *obj, const char *name, +ObjectProperty *object_property_add_tm(Object *obj, const char *name, void (*get)(Object *, struct tm *, Error **), Error **errp); =20 @@ -1669,8 +1681,10 @@ typedef enum { * * Add an integer property in memory. This function will add a * property of type 'uint8'. + * + * Returns: The newly added property on success, or %NULL on failure. */ -void object_property_add_uint8_ptr(Object *obj, const char *name, +ObjectProperty *object_property_add_uint8_ptr(Object *obj, const char *nam= e, const uint8_t *v, ObjectPropertyFlags f= lags, Error **errp); =20 @@ -1690,8 +1704,10 @@ ObjectProperty *object_class_property_add_uint8_ptr(= ObjectClass *klass, * * Add an integer property in memory. This function will add a * property of type 'uint16'. + * + * Returns: The newly added property on success, or %NULL on failure. */ -void object_property_add_uint16_ptr(Object *obj, const char *name, +ObjectProperty *object_property_add_uint16_ptr(Object *obj, const char *na= me, const uint16_t *v, ObjectPropertyFlags flags, Error **errp); @@ -1712,8 +1728,10 @@ ObjectProperty *object_class_property_add_uint16_ptr= (ObjectClass *klass, * * Add an integer property in memory. This function will add a * property of type 'uint32'. + * + * Returns: The newly added property on success, or %NULL on failure. */ -void object_property_add_uint32_ptr(Object *obj, const char *name, +ObjectProperty *object_property_add_uint32_ptr(Object *obj, const char *na= me, const uint32_t *v, ObjectPropertyFlags flags, Error **errp); @@ -1734,8 +1752,10 @@ ObjectProperty *object_class_property_add_uint32_ptr= (ObjectClass *klass, * * Add an integer property in memory. This function will add a * property of type 'uint64'. + * + * Returns: The newly added property on success, or %NULL on failure. */ -void object_property_add_uint64_ptr(Object *obj, const char *name, +ObjectProperty *object_property_add_uint64_ptr(Object *obj, const char *na= me, const uint64_t *v, ObjectPropertyFlags flags, Error **Errp); @@ -1761,8 +1781,10 @@ ObjectProperty *object_class_property_add_uint64_ptr= (ObjectClass *klass, * this property exists. In the case of a child object or an alias on the= same * object this will be the case. For aliases to other objects the caller = is * responsible for taking a reference. + * + * Returns: The newly added property on success, or %NULL on failure. */ -void object_property_add_alias(Object *obj, const char *name, +ObjectProperty *object_property_add_alias(Object *obj, const char *name, Object *target_obj, const char *target_name, Error **errp); =20 @@ -1780,8 +1802,10 @@ void object_property_add_alias(Object *obj, const ch= ar *name, * this property exists. In the case @target is a child of @obj, * this will be the case. Otherwise, the caller is responsible for * taking a reference. + * + * Returns: The newly added property on success, or %NULL on failure. */ -void object_property_add_const_link(Object *obj, const char *name, +ObjectProperty *object_property_add_const_link(Object *obj, const char *na= me, Object *target, Error **errp); =20 /** diff --git a/qom/object.c b/qom/object.c index 54a26ed16a..4e5b2ecacd 100644 --- a/qom/object.c +++ b/qom/object.c @@ -1646,33 +1646,30 @@ static void object_finalize_child_property(Object *= obj, const char *name, object_unref(child); } =20 -void object_property_add_child(Object *obj, const char *name, - Object *child, Error **errp) +ObjectProperty * +object_property_add_child(Object *obj, const char *name, + Object *child, Error **errp) { - Error *local_err =3D NULL; - char *type; + g_autofree char *type =3D NULL; ObjectProperty *op; =20 if (child->parent !=3D NULL) { error_setg(errp, "child object is already parented"); - return; + return NULL; } =20 type =3D g_strdup_printf("child<%s>", object_get_typename(OBJECT(child= ))); =20 op =3D object_property_add(obj, name, type, object_get_child_property,= NULL, - object_finalize_child_property, child, &local= _err); - if (local_err) { - error_propagate(errp, local_err); - goto out; + object_finalize_child_property, child, errp); + if (!op) { + return NULL; } =20 op->resolve =3D object_resolve_child_property; object_ref(child); child->parent =3D obj; - -out: - g_free(type); + return op; } =20 void object_property_allow_set_link(const Object *obj, const char *name, @@ -1819,16 +1816,16 @@ static void object_release_link_property(Object *ob= j, const char *name, } } =20 -static void object_add_link_prop(Object *obj, const char *name, - const char *type, void *ptr, - void (*check)(const Object *, const char = *, - Object *, Error **), - ObjectPropertyLinkFlags flags, - Error **errp) +static ObjectProperty * +object_add_link_prop(Object *obj, const char *name, + const char *type, void *ptr, + void (*check)(const Object *, const char *, + Object *, Error **), + ObjectPropertyLinkFlags flags, + Error **errp) { - Error *local_err =3D NULL; LinkProperty *prop =3D g_malloc(sizeof(*prop)); - char *full_type; + g_autofree char *full_type =3D NULL; ObjectProperty *op; =20 if (flags & OBJ_PROP_LINK_DIRECT) { @@ -1846,27 +1843,26 @@ static void object_add_link_prop(Object *obj, const= char *name, check ? object_set_link_property : NULL, object_release_link_property, prop, - &local_err); - if (local_err) { - error_propagate(errp, local_err); + errp); + if (!op) { g_free(prop); - goto out; + return NULL; } =20 op->resolve =3D object_resolve_link_property; - -out: - g_free(full_type); + return op; } =20 -void object_property_add_link(Object *obj, const char *name, - const char *type, Object **targetp, - void (*check)(const Object *, const char *, - Object *, Error **), - ObjectPropertyLinkFlags flags, - Error **errp) +ObjectProperty * +object_property_add_link(Object *obj, const char *name, + const char *type, Object **targetp, + void (*check)(const Object *, const char *, + Object *, Error **), + ObjectPropertyLinkFlags flags, + Error **errp) { - object_add_link_prop(obj, name, type, targetp, check, flags, errp); + return object_add_link_prop(obj, name, type, targetp, check, flags, + errp); } =20 ObjectProperty * @@ -1908,11 +1904,13 @@ out: return op; } =20 -void object_property_add_const_link(Object *obj, const char *name, - Object *target, Error **errp) +ObjectProperty * +object_property_add_const_link(Object *obj, const char *name, + Object *target, Error **errp) { - object_add_link_prop(obj, name, object_get_typename(target), target, - NULL, OBJ_PROP_LINK_DIRECT, errp); + return object_add_link_prop(obj, name, + object_get_typename(target), target, + NULL, OBJ_PROP_LINK_DIRECT, errp); } =20 char *object_get_canonical_path_component(Object *obj) @@ -2121,26 +2119,27 @@ static void property_release_str(Object *obj, const= char *name, g_free(prop); } =20 -void object_property_add_str(Object *obj, const char *name, - char *(*get)(Object *, Error **), - void (*set)(Object *, const char *, Error **), - Error **errp) +ObjectProperty * +object_property_add_str(Object *obj, const char *name, + char *(*get)(Object *, Error **), + void (*set)(Object *, const char *, Error **), + Error **errp) { - Error *local_err =3D NULL; StringProperty *prop =3D g_malloc0(sizeof(*prop)); + ObjectProperty *op; =20 prop->get =3D get; prop->set =3D set; =20 - object_property_add(obj, name, "string", - get ? property_get_str : NULL, - set ? property_set_str : NULL, - property_release_str, - prop, &local_err); - if (local_err) { - error_propagate(errp, local_err); + op =3D object_property_add(obj, name, "string", + get ? property_get_str : NULL, + set ? property_set_str : NULL, + property_release_str, + prop, errp); + if (!op) { g_free(prop); } + return op; } =20 ObjectProperty * @@ -2215,26 +2214,27 @@ static void property_release_bool(Object *obj, cons= t char *name, g_free(prop); } =20 -void object_property_add_bool(Object *obj, const char *name, - bool (*get)(Object *, Error **), - void (*set)(Object *, bool, Error **), - Error **errp) +ObjectProperty * +object_property_add_bool(Object *obj, const char *name, + bool (*get)(Object *, Error **), + void (*set)(Object *, bool, Error **), + Error **errp) { - Error *local_err =3D NULL; BoolProperty *prop =3D g_malloc0(sizeof(*prop)); + ObjectProperty *op; =20 prop->get =3D get; prop->set =3D set; =20 - object_property_add(obj, name, "bool", - get ? property_get_bool : NULL, - set ? property_set_bool : NULL, - property_release_bool, - prop, &local_err); - if (local_err) { - error_propagate(errp, local_err); + op =3D object_property_add(obj, name, "bool", + get ? property_get_bool : NULL, + set ? property_set_bool : NULL, + property_release_bool, + prop, errp); + if (!op) { g_free(prop); } + return op; } =20 ObjectProperty * @@ -2301,29 +2301,30 @@ static void property_release_enum(Object *obj, cons= t char *name, g_free(prop); } =20 -void object_property_add_enum(Object *obj, const char *name, - const char *typename, - const QEnumLookup *lookup, - int (*get)(Object *, Error **), - void (*set)(Object *, int, Error **), - Error **errp) +ObjectProperty * +object_property_add_enum(Object *obj, const char *name, + const char *typename, + const QEnumLookup *lookup, + int (*get)(Object *, Error **), + void (*set)(Object *, int, Error **), + Error **errp) { - Error *local_err =3D NULL; EnumProperty *prop =3D g_malloc(sizeof(*prop)); + ObjectProperty *op; =20 prop->lookup =3D lookup; prop->get =3D get; prop->set =3D set; =20 - object_property_add(obj, name, typename, - get ? property_get_enum : NULL, - set ? property_set_enum : NULL, - property_release_enum, - prop, &local_err); - if (local_err) { - error_propagate(errp, local_err); + op =3D object_property_add(obj, name, typename, + get ? property_get_enum : NULL, + set ? property_set_enum : NULL, + property_release_enum, + prop, errp); + if (!op) { g_free(prop); } + return op; } =20 ObjectProperty * @@ -2414,23 +2415,24 @@ static void property_release_tm(Object *obj, const = char *name, g_free(prop); } =20 -void object_property_add_tm(Object *obj, const char *name, - void (*get)(Object *, struct tm *, Error **), - Error **errp) +ObjectProperty * +object_property_add_tm(Object *obj, const char *name, + void (*get)(Object *, struct tm *, Error **), + Error **errp) { - Error *local_err =3D NULL; TMProperty *prop =3D g_malloc0(sizeof(*prop)); + ObjectProperty *op; =20 prop->get =3D get; =20 - object_property_add(obj, name, "struct tm", - get ? property_get_tm : NULL, NULL, - property_release_tm, - prop, &local_err); - if (local_err) { - error_propagate(errp, local_err); + op =3D object_property_add(obj, name, "struct tm", + get ? property_get_tm : NULL, NULL, + property_release_tm, + prop, errp); + if (!op) { g_free(prop); } + return op; } =20 ObjectProperty * @@ -2553,10 +2555,11 @@ static void property_set_uint64_ptr(Object *obj, Vi= sitor *v, const char *name, *field =3D value; } =20 -void object_property_add_uint8_ptr(Object *obj, const char *name, - const uint8_t *v, - ObjectPropertyFlags flags, - Error **errp) +ObjectProperty * +object_property_add_uint8_ptr(Object *obj, const char *name, + const uint8_t *v, + ObjectPropertyFlags flags, + Error **errp) { ObjectPropertyAccessor *getter =3D NULL; ObjectPropertyAccessor *setter =3D NULL; @@ -2569,8 +2572,8 @@ void object_property_add_uint8_ptr(Object *obj, const= char *name, setter =3D property_set_uint8_ptr; } =20 - object_property_add(obj, name, "uint8", - getter, setter, NULL, (void *)v, errp); + return object_property_add(obj, name, "uint8", + getter, setter, NULL, (void *)v, errp); } =20 ObjectProperty * @@ -2594,10 +2597,11 @@ object_class_property_add_uint8_ptr(ObjectClass *kl= ass, const char *name, getter, setter, NULL, (void *)v, errp= ); } =20 -void object_property_add_uint16_ptr(Object *obj, const char *name, - const uint16_t *v, - ObjectPropertyFlags flags, - Error **errp) +ObjectProperty * +object_property_add_uint16_ptr(Object *obj, const char *name, + const uint16_t *v, + ObjectPropertyFlags flags, + Error **errp) { ObjectPropertyAccessor *getter =3D NULL; ObjectPropertyAccessor *setter =3D NULL; @@ -2610,8 +2614,8 @@ void object_property_add_uint16_ptr(Object *obj, cons= t char *name, setter =3D property_set_uint16_ptr; } =20 - object_property_add(obj, name, "uint16", - getter, setter, NULL, (void *)v, errp); + return object_property_add(obj, name, "uint16", + getter, setter, NULL, (void *)v, errp); } =20 ObjectProperty * @@ -2635,10 +2639,11 @@ object_class_property_add_uint16_ptr(ObjectClass *k= lass, const char *name, getter, setter, NULL, (void *)v, errp= ); } =20 -void object_property_add_uint32_ptr(Object *obj, const char *name, - const uint32_t *v, - ObjectPropertyFlags flags, - Error **errp) +ObjectProperty * +object_property_add_uint32_ptr(Object *obj, const char *name, + const uint32_t *v, + ObjectPropertyFlags flags, + Error **errp) { ObjectPropertyAccessor *getter =3D NULL; ObjectPropertyAccessor *setter =3D NULL; @@ -2651,8 +2656,8 @@ void object_property_add_uint32_ptr(Object *obj, cons= t char *name, setter =3D property_set_uint32_ptr; } =20 - object_property_add(obj, name, "uint32", - getter, setter, NULL, (void *)v, errp); + return object_property_add(obj, name, "uint32", + getter, setter, NULL, (void *)v, errp); } =20 ObjectProperty * @@ -2676,10 +2681,11 @@ object_class_property_add_uint32_ptr(ObjectClass *k= lass, const char *name, getter, setter, NULL, (void *)v, errp= ); } =20 -void object_property_add_uint64_ptr(Object *obj, const char *name, - const uint64_t *v, - ObjectPropertyFlags flags, - Error **errp) +ObjectProperty * +object_property_add_uint64_ptr(Object *obj, const char *name, + const uint64_t *v, + ObjectPropertyFlags flags, + Error **errp) { ObjectPropertyAccessor *getter =3D NULL; ObjectPropertyAccessor *setter =3D NULL; @@ -2692,8 +2698,8 @@ void object_property_add_uint64_ptr(Object *obj, cons= t char *name, setter =3D property_set_uint64_ptr; } =20 - object_property_add(obj, name, "uint64", - getter, setter, NULL, (void *)v, errp); + return object_property_add(obj, name, "uint64", + getter, setter, NULL, (void *)v, errp); } =20 ObjectProperty * @@ -2754,19 +2760,19 @@ static void property_release_alias(Object *obj, con= st char *name, void *opaque) g_free(prop); } =20 -void object_property_add_alias(Object *obj, const char *name, - Object *target_obj, const char *target_name, - Error **errp) +ObjectProperty * +object_property_add_alias(Object *obj, const char *name, + Object *target_obj, const char *target_name, + Error **errp) { AliasProperty *prop; ObjectProperty *op; ObjectProperty *target_prop; - char *prop_type; - Error *local_err =3D NULL; + g_autofree char *prop_type =3D NULL; =20 target_prop =3D object_property_find(target_obj, target_name, errp); if (!target_prop) { - return; + return NULL; } =20 if (object_property_is_child(target_prop)) { @@ -2784,12 +2790,12 @@ void object_property_add_alias(Object *obj, const c= har *name, property_get_alias, property_set_alias, property_release_alias, - prop, &local_err); - if (local_err) { - error_propagate(errp, local_err); + prop, errp); + if (!op) { g_free(prop); - goto out; + return NULL; } + op->resolve =3D property_resolve_alias; if (target_prop->defval) { op->defval =3D qobject_ref(target_prop->defval); @@ -2798,9 +2804,7 @@ void object_property_add_alias(Object *obj, const cha= r *name, object_property_set_description(obj, op->name, target_prop->description, &error_abort); - -out: - g_free(prop_type); + return op; } =20 void object_property_set_description(Object *obj, const char *name, --=20 2.21.1 From nobody Sat May 18 00:40:21 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1588693403; cv=none; d=zohomail.com; s=zohoarc; b=YZmE7sZkdWbq8pg26NcbqV69Lq6nkw7oYedvyMkSOHUT1T+tBdFi5uSJpqRXyZmS7ixtfHAZIGPq4V9OWOY3FcLve0KAvLiFJZ6ZzQUyG2Viu8OXZqBAhY06ucUxP4thA+8bFGssWSb7BYQK9KtGEEU9OkjonTYuuFTSa9sRFOM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1588693403; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=4w7IrnCXfuJRpn2Pwo4QWstitbRFNDkUmnPTKONht1E=; b=Sncj6pv2DcdPUPtdTGvBWXkQDQbNOaIrxabbTxHtQpw4Nn/yD74jypg9pE+kqfAEDFPJpJTxqJ0Tlod9SGmrUyHh2ZDY50KkSQWyZi9ZdUQkAMp3sVo/s37Nm3exgp3vgSCAqHzHp7j2BA6z6+Vt4Eu+KtlTPsPwT2epYdrW0mA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1588693403219941.5497998614006; Tue, 5 May 2020 08:43:23 -0700 (PDT) Received: from localhost ([::1]:53322 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jVzj7-0002nD-QR for importer@patchew.org; Tue, 05 May 2020 11:43:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46042) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jVzVw-0003Wy-64 for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:44 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:41503 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jVzVn-0007R5-9W for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:43 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-508-x42_PInpN6KRsYeJsEA54Q-1; Tue, 05 May 2020 11:29:30 -0400 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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id D4600461 for ; Tue, 5 May 2020 15:29:29 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-113-6.ams2.redhat.com [10.36.113.6]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 288CA165F6; Tue, 5 May 2020 15:29:29 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 44E9411358C3; Tue, 5 May 2020 17:29:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1588692572; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=4w7IrnCXfuJRpn2Pwo4QWstitbRFNDkUmnPTKONht1E=; b=fOxE69tyC0+dbwNRneZv0kA9SrBlnsWOzbp998J3k4q+T7uHxKtjwR/e4JNixD4f0JGk3q O8/1Z+agtCYuivli9TK0QAgHHPexCRtWCNMdME5q3iuwvYcxoCXB6z/+JTx/sQk6eDvqId r0mRvlz8Lk0o34KzbuA7eiuR1cNejzM= X-MC-Unique: x42_PInpN6KRsYeJsEA54Q-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH v2 07/18] qom: Drop object_property_set_description() parameter @errp Date: Tue, 5 May 2020 17:29:15 +0200 Message-Id: <20200505152926.18877-8-armbru@redhat.com> In-Reply-To: <20200505152926.18877-1-armbru@redhat.com> References: <20200505152926.18877-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/05 03:48:16 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: pbonzini@redhat.com, berrange@redhat.com, ehabkost@redhat.com, philmd@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" object_property_set_description() and object_class_property_set_description() fail only when property @name is not found. There are 85 calls of object_property_set_description() and object_class_property_set_description(). None of them can fail: * 84 immediately follow the creation of the property. * The one in spapr_rng_instance_init() refers to a property created in spapr_rng_class_init(), from spapr_rng_properties[]. Every one of them still gets to decide what to pass for @errp. 51 calls pass &error_abort, 32 calls pass NULL, one receives the error and propagates it to &error_abort, and one propagates it to &error_fatal. I'm actually surprised none of them violates the Error API. What are we gaining by letting callers handle the "property not found" error? Use when the property is not known to exist is simpler: you don't have to guard the call with a check. We haven't found such a use in 5+ years. Until we do, let's make life a bit simpler and drop the @errp parameter. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Paolo Bonzini --- include/qom/object.h | 6 ++---- accel/kvm/kvm-all.c | 4 ++-- accel/tcg/tcg-all.c | 2 +- backends/hostmem-memfd.c | 9 +++------ backends/hostmem.c | 16 +++++++-------- hw/arm/aspeed.c | 2 +- hw/arm/vexpress.c | 6 ++---- hw/arm/virt.c | 20 +++++++------------ hw/arm/xlnx-zcu102.c | 6 ++---- hw/core/machine.c | 41 ++++++++++++++++++-------------------- hw/core/qdev.c | 6 ++---- hw/i386/microvm.c | 14 ++++++------- hw/i386/pc.c | 2 +- hw/i386/x86.c | 6 +++--- hw/ppc/mac_newworld.c | 3 +-- hw/ppc/pnv.c | 3 +-- hw/ppc/spapr.c | 21 ++++++++----------- hw/ppc/spapr_caps.c | 6 +----- hw/ppc/spapr_rng.c | 3 +-- hw/riscv/sifive_u.c | 5 ++--- hw/s390x/css-bridge.c | 3 +-- hw/s390x/s390-virtio-ccw.c | 9 +++------ hw/sparc/sun4m.c | 3 +-- hw/xen/xen-common.c | 2 +- qom/object.c | 19 ++++-------------- target/arm/cpu64.c | 3 +-- target/arm/kvm.c | 2 +- target/i386/sev.c | 6 +++--- target/ppc/compat.c | 2 +- target/s390x/cpu_models.c | 4 ++-- 30 files changed, 91 insertions(+), 143 deletions(-) diff --git a/include/qom/object.h b/include/qom/object.h index 0ea5808432..1f0386a231 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -1813,16 +1813,14 @@ ObjectProperty *object_property_add_const_link(Obje= ct *obj, const char *name, * @obj: the object owning the property * @name: the name of the property * @description: the description of the property on the object - * @errp: if an error occurs, a pointer to an area to store the error * * Set an object property's description. * */ void object_property_set_description(Object *obj, const char *name, - const char *description, Error **errp= ); + const char *description); void object_class_property_set_description(ObjectClass *klass, const char = *name, - const char *description, - Error **errp); + const char *description); =20 /** * object_child_foreach: diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 439a4efe52..2fb6099cf2 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -3077,13 +3077,13 @@ static void kvm_accel_class_init(ObjectClass *oc, v= oid *data) NULL, kvm_set_kernel_irqchip, NULL, NULL, &error_abort); object_class_property_set_description(oc, "kernel-irqchip", - "Configure KVM in-kernel irqchip", &error_abort); + "Configure KVM in-kernel irqchip"); =20 object_class_property_add(oc, "kvm-shadow-mem", "int", kvm_get_kvm_shadow_mem, kvm_set_kvm_shadow_mem, NULL, NULL, &error_abort); object_class_property_set_description(oc, "kvm-shadow-mem", - "KVM shadow MMU size", &error_abort); + "KVM shadow MMU size"); } =20 static const TypeInfo kvm_accel_type =3D { diff --git a/accel/tcg/tcg-all.c b/accel/tcg/tcg-all.c index acfdcfdf59..3398a56ef9 100644 --- a/accel/tcg/tcg-all.c +++ b/accel/tcg/tcg-all.c @@ -210,7 +210,7 @@ static void tcg_accel_class_init(ObjectClass *oc, void = *data) tcg_get_tb_size, tcg_set_tb_size, NULL, NULL, &error_abort); object_class_property_set_description(oc, "tb-size", - "TCG translation block cache size", &error_abort); + "TCG translation block cache size"); =20 } =20 diff --git a/backends/hostmem-memfd.c b/backends/hostmem-memfd.c index 74ba9879c4..5991f31459 100644 --- a/backends/hostmem-memfd.c +++ b/backends/hostmem-memfd.c @@ -144,23 +144,20 @@ memfd_backend_class_init(ObjectClass *oc, void *data) memfd_backend_set_hugetlb, &error_abort); object_class_property_set_description(oc, "hugetlb", - "Use huge pages", - &error_abort); + "Use huge pages"); object_class_property_add(oc, "hugetlbsize", "int", memfd_backend_get_hugetlbsize, memfd_backend_set_hugetlbsize, NULL, NULL, &error_abort); object_class_property_set_description(oc, "hugetlbsize", - "Huge pages size (ex: 2M, 1G= )", - &error_abort); + "Huge pages size (ex: 2M, 1G= )"); } object_class_property_add_bool(oc, "seal", memfd_backend_get_seal, memfd_backend_set_seal, &error_abort); object_class_property_set_description(oc, "seal", - "Seal growing & shrinking", - &error_abort); + "Seal growing & shrinking"); } =20 static const TypeInfo memfd_backend_info =3D { diff --git a/backends/hostmem.c b/backends/hostmem.c index 327f9eebc3..946d176435 100644 --- a/backends/hostmem.c +++ b/backends/hostmem.c @@ -465,46 +465,46 @@ host_memory_backend_class_init(ObjectClass *oc, void = *data) host_memory_backend_get_merge, host_memory_backend_set_merge, &error_abort); object_class_property_set_description(oc, "merge", - "Mark memory as mergeable", &error_abort); + "Mark memory as mergeable"); object_class_property_add_bool(oc, "dump", host_memory_backend_get_dump, host_memory_backend_set_dump, &error_abort); object_class_property_set_description(oc, "dump", - "Set to 'off' to exclude from core dump", &error_abort); + "Set to 'off' to exclude from core dump"); object_class_property_add_bool(oc, "prealloc", host_memory_backend_get_prealloc, host_memory_backend_set_prealloc, &error_abort); object_class_property_set_description(oc, "prealloc", - "Preallocate memory", &error_abort); + "Preallocate memory"); object_class_property_add(oc, "prealloc-threads", "int", host_memory_backend_get_prealloc_threads, host_memory_backend_set_prealloc_threads, NULL, NULL, &error_abort); object_class_property_set_description(oc, "prealloc-threads", - "Number of CPU threads to use for prealloc", &error_abort); + "Number of CPU threads to use for prealloc"); object_class_property_add(oc, "size", "int", host_memory_backend_get_size, host_memory_backend_set_size, NULL, NULL, &error_abort); object_class_property_set_description(oc, "size", - "Size of the memory region (ex: 500M)", &error_abort); + "Size of the memory region (ex: 500M)"); object_class_property_add(oc, "host-nodes", "int", host_memory_backend_get_host_nodes, host_memory_backend_set_host_nodes, NULL, NULL, &error_abort); object_class_property_set_description(oc, "host-nodes", - "Binds memory to the list of NUMA host nodes", &error_abort); + "Binds memory to the list of NUMA host nodes"); object_class_property_add_enum(oc, "policy", "HostMemPolicy", &HostMemPolicy_lookup, host_memory_backend_get_policy, host_memory_backend_set_policy, &error_abort); object_class_property_set_description(oc, "policy", - "Set the NUMA policy", &error_abort); + "Set the NUMA policy"); object_class_property_add_bool(oc, "share", host_memory_backend_get_share, host_memory_backend_set_share, &error_abort); object_class_property_set_description(oc, "share", - "Mark the memory as private to QEMU or shared", &error_abort); + "Mark the memory as private to QEMU or shared"); object_class_property_add_bool(oc, "x-use-canonical-path-for-ramblock-= id", host_memory_backend_get_use_canonical_path, host_memory_backend_set_use_canonical_path, &error_abort); diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c index a6a2102a93..b9a34cab75 100644 --- a/hw/arm/aspeed.c +++ b/hw/arm/aspeed.c @@ -422,7 +422,7 @@ static void aspeed_machine_class_props_init(ObjectClass= *oc) aspeed_get_mmio_exec, aspeed_set_mmio_exec, &error_abort); object_class_property_set_description(oc, "execute-in-place", - "boot directly from CE0 flash device", &error_a= bort); + "boot directly from CE0 flash device"); } =20 static void aspeed_machine_class_init(ObjectClass *oc, void *data) diff --git a/hw/arm/vexpress.c b/hw/arm/vexpress.c index ed683eeea5..5372ab6c9b 100644 --- a/hw/arm/vexpress.c +++ b/hw/arm/vexpress.c @@ -752,8 +752,7 @@ static void vexpress_instance_init(Object *obj) vexpress_set_secure, NULL); object_property_set_description(obj, "secure", "Set on/off to enable/disable the ARM " - "Security Extensions (TrustZone)", - NULL); + "Security Extensions (TrustZone)"); } =20 static void vexpress_a15_instance_init(Object *obj) @@ -770,8 +769,7 @@ static void vexpress_a15_instance_init(Object *obj) object_property_set_description(obj, "virtualization", "Set on/off to enable/disable the ARM " "Virtualization Extensions " - "(defaults to same as 'secure')", - NULL); + "(defaults to same as 'secure')"); } =20 static void vexpress_a9_instance_init(Object *obj) diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 171e6908ec..e9c6b9a340 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -2258,7 +2258,7 @@ static void virt_machine_class_init(ObjectClass *oc, = void *data) virt_get_acpi, virt_set_acpi, NULL, NULL, &error_abort); object_class_property_set_description(oc, "acpi", - "Enable ACPI", &error_abort); + "Enable ACPI"); } =20 static void virt_instance_init(Object *obj) @@ -2275,8 +2275,7 @@ static void virt_instance_init(Object *obj) virt_set_secure, NULL); object_property_set_description(obj, "secure", "Set on/off to enable/disable the ARM " - "Security Extensions (TrustZone)", - NULL); + "Security Extensions (TrustZone)"); =20 /* EL2 is also disabled by default, for similar reasons */ vms->virt =3D false; @@ -2285,8 +2284,7 @@ static void virt_instance_init(Object *obj) object_property_set_description(obj, "virtualization", "Set on/off to enable/disable emulatin= g a " "guest CPU which implements the ARM " - "Virtualization Extensions", - NULL); + "Virtualization Extensions"); =20 /* High memory is enabled by default */ vms->highmem =3D true; @@ -2294,15 +2292,13 @@ static void virt_instance_init(Object *obj) virt_set_highmem, NULL); object_property_set_description(obj, "highmem", "Set on/off to enable/disable using " - "physical address space above 32 bits", - NULL); + "physical address space above 32 bits"= ); vms->gic_version =3D VIRT_GIC_VERSION_NOSEL; object_property_add_str(obj, "gic-version", virt_get_gic_version, virt_set_gic_version, NULL); object_property_set_description(obj, "gic-version", "Set GIC version. " - "Valid values are 2, 3, host and max", - NULL); + "Valid values are 2, 3, host and max"); =20 vms->highmem_ecam =3D !vmc->no_highmem_ecam; =20 @@ -2315,8 +2311,7 @@ static void virt_instance_init(Object *obj) virt_set_its, NULL); object_property_set_description(obj, "its", "Set on/off to enable/disable " - "ITS instantiation", - NULL); + "ITS instantiation"); } =20 /* Default disallows iommu instantiation */ @@ -2324,8 +2319,7 @@ static void virt_instance_init(Object *obj) object_property_add_str(obj, "iommu", virt_get_iommu, virt_set_iommu, = NULL); object_property_set_description(obj, "iommu", "Set the IOMMU type. " - "Valid values are none and smmuv3", - NULL); + "Valid values are none and smmuv3"); =20 vms->irqmap =3D a15irqmap; =20 diff --git a/hw/arm/xlnx-zcu102.c b/hw/arm/xlnx-zcu102.c index a798e228b7..808fdae804 100644 --- a/hw/arm/xlnx-zcu102.c +++ b/hw/arm/xlnx-zcu102.c @@ -212,8 +212,7 @@ static void xlnx_zcu102_machine_instance_init(Object *o= bj) zcu102_set_secure, NULL); object_property_set_description(obj, "secure", "Set on/off to enable/disable the ARM " - "Security Extensions (TrustZone)", - NULL); + "Security Extensions (TrustZone)"); =20 /* Default to virt (EL2) being disabled */ s->virt =3D false; @@ -222,8 +221,7 @@ static void xlnx_zcu102_machine_instance_init(Object *o= bj) object_property_set_description(obj, "virtualization", "Set on/off to enable/disable emulatin= g a " "guest CPU which implements the ARM " - "Virtualization Extensions", - NULL); + "Virtualization Extensions"); } =20 static void xlnx_zcu102_machine_class_init(ObjectClass *oc, void *data) diff --git a/hw/core/machine.c b/hw/core/machine.c index c1a444cb75..39310acf36 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -786,83 +786,82 @@ static void machine_class_init(ObjectClass *oc, void = *data) object_class_property_add_str(oc, "kernel", machine_get_kernel, machine_set_kernel, &error_abort); object_class_property_set_description(oc, "kernel", - "Linux kernel image file", &error_abort); + "Linux kernel image file"); =20 object_class_property_add_str(oc, "initrd", machine_get_initrd, machine_set_initrd, &error_abort); object_class_property_set_description(oc, "initrd", - "Linux initial ramdisk file", &error_abort); + "Linux initial ramdisk file"); =20 object_class_property_add_str(oc, "append", machine_get_append, machine_set_append, &error_abort); object_class_property_set_description(oc, "append", - "Linux kernel command line", &error_abort); + "Linux kernel command line"); =20 object_class_property_add_str(oc, "dtb", machine_get_dtb, machine_set_dtb, &error_abort); object_class_property_set_description(oc, "dtb", - "Linux kernel device tree file", &error_abort); + "Linux kernel device tree file"); =20 object_class_property_add_str(oc, "dumpdtb", machine_get_dumpdtb, machine_set_dumpdtb, &error_abort); object_class_property_set_description(oc, "dumpdtb", - "Dump current dtb to a file and quit", &error_abort); + "Dump current dtb to a file and quit"); =20 object_class_property_add(oc, "phandle-start", "int", machine_get_phandle_start, machine_set_phandle_start, NULL, NULL, &error_abort); object_class_property_set_description(oc, "phandle-start", - "The first phandle ID we may generate dynamically", &error_abo= rt); + "The first phandle ID we may generate dynamically"); =20 object_class_property_add_str(oc, "dt-compatible", machine_get_dt_compatible, machine_set_dt_compatible, &error_abort= ); object_class_property_set_description(oc, "dt-compatible", - "Overrides the \"compatible\" property of the dt root node", - &error_abort); + "Overrides the \"compatible\" property of the dt root node"); =20 object_class_property_add_bool(oc, "dump-guest-core", machine_get_dump_guest_core, machine_set_dump_guest_core, &error_a= bort); object_class_property_set_description(oc, "dump-guest-core", - "Include guest memory in a core dump", &error_abort); + "Include guest memory in a core dump"); =20 object_class_property_add_bool(oc, "mem-merge", machine_get_mem_merge, machine_set_mem_merge, &error_abort); object_class_property_set_description(oc, "mem-merge", - "Enable/disable memory merge support", &error_abort); + "Enable/disable memory merge support"); =20 object_class_property_add_bool(oc, "usb", machine_get_usb, machine_set_usb, &error_abort); object_class_property_set_description(oc, "usb", - "Set on/off to enable/disable usb", &error_abort); + "Set on/off to enable/disable usb"); =20 object_class_property_add_bool(oc, "graphics", machine_get_graphics, machine_set_graphics, &error_abort); object_class_property_set_description(oc, "graphics", - "Set on/off to enable/disable graphics emulation", &error_abort); + "Set on/off to enable/disable graphics emulation"); =20 object_class_property_add_str(oc, "firmware", machine_get_firmware, machine_set_firmware, &error_abort); object_class_property_set_description(oc, "firmware", - "Firmware image", &error_abort); + "Firmware image"); =20 object_class_property_add_bool(oc, "suppress-vmdesc", machine_get_suppress_vmdesc, machine_set_suppress_vmdesc, &error_abort); object_class_property_set_description(oc, "suppress-vmdesc", - "Set on to disable self-describing migration", &error_abort); + "Set on to disable self-describing migration"); =20 object_class_property_add_bool(oc, "enforce-config-section", machine_get_enforce_config_section, machine_set_enforce_config_sec= tion, &error_abort); object_class_property_set_description(oc, "enforce-config-section", - "Set on to enforce configuration section migration", &error_abort); + "Set on to enforce configuration section migration"); =20 object_class_property_add_str(oc, "memory-encryption", machine_get_memory_encryption, machine_set_memory_encryption, &error_abort); object_class_property_set_description(oc, "memory-encryption", - "Set memory encryption object to use", &error_abort); + "Set memory encryption object to use"); } =20 static void machine_class_base_init(ObjectClass *oc, void *data) @@ -895,7 +894,7 @@ static void machine_initfn(Object *obj) &error_abort); object_property_set_description(obj, "nvdimm", "Set on/off to enable/disable " - "NVDIMM instantiation", NULL); + "NVDIMM instantiation"); =20 object_property_add_str(obj, "nvdimm-persistence", machine_get_nvdimm_persistence, @@ -903,8 +902,7 @@ static void machine_initfn(Object *obj) &error_abort); object_property_set_description(obj, "nvdimm-persistence", "Set NVDIMM persistence" - "Valid values are cpu, mem-ctrl", - NULL); + "Valid values are cpu, mem-ctrl"); } =20 if (mc->cpu_index_to_instance_props && mc->get_default_cpu_node_id) { @@ -915,7 +913,7 @@ static void machine_initfn(Object *obj) object_property_set_description(obj, "hmat", "Set on/off to enable/disable " "ACPI Heterogeneous Memory Attribu= te " - "Table (HMAT)", NULL); + "Table (HMAT)"); } =20 object_property_add_str(obj, "memory-backend", @@ -923,8 +921,7 @@ static void machine_initfn(Object *obj) &error_abort); object_property_set_description(obj, "memory-backend", "Set RAM backend" - "Valid value is ID of hostmem based ba= ckend", - &error_abort); + "Valid value is ID of hostmem based ba= ckend"); =20 /* Register notifier when init is done for sysbus sanity checks */ ms->sysbus_notifier.notify =3D machine_init_notify; diff --git a/hw/core/qdev.c b/hw/core/qdev.c index dd77a56067..ea7118ab0e 100644 --- a/hw/core/qdev.c +++ b/hw/core/qdev.c @@ -775,8 +775,7 @@ void qdev_property_add_static(DeviceState *dev, Propert= y *prop) prop, &error_abort); =20 object_property_set_description(obj, prop->name, - prop->info->description, - &error_abort); + prop->info->description); =20 if (prop->set_default) { prop->info->set_default_value(op, prop); @@ -805,8 +804,7 @@ static void qdev_class_add_property(DeviceClass *klass,= Property *prop) } } object_class_property_set_description(oc, prop->name, - prop->info->description, - &error_abort); + prop->info->description); } =20 /* @qdev_alias_all_properties - Add alias properties to the source object = for diff --git a/hw/i386/microvm.c b/hw/i386/microvm.c index 38d8e51703..76aaa7a8d8 100644 --- a/hw/i386/microvm.c +++ b/hw/i386/microvm.c @@ -512,36 +512,35 @@ static void microvm_class_init(ObjectClass *oc, void = *data) microvm_machine_set_pic, NULL, NULL, &error_abort); object_class_property_set_description(oc, MICROVM_MACHINE_PIC, - "Enable i8259 PIC", &error_abort); + "Enable i8259 PIC"); =20 object_class_property_add(oc, MICROVM_MACHINE_PIT, "OnOffAuto", microvm_machine_get_pit, microvm_machine_set_pit, NULL, NULL, &error_abort); object_class_property_set_description(oc, MICROVM_MACHINE_PIT, - "Enable i8254 PIT", &error_abort); + "Enable i8254 PIT"); =20 object_class_property_add(oc, MICROVM_MACHINE_RTC, "OnOffAuto", microvm_machine_get_rtc, microvm_machine_set_rtc, NULL, NULL, &error_abort); object_class_property_set_description(oc, MICROVM_MACHINE_RTC, - "Enable MC146818 RTC", &error_abort); + "Enable MC146818 RTC"); =20 object_class_property_add_bool(oc, MICROVM_MACHINE_ISA_SERIAL, microvm_machine_get_isa_serial, microvm_machine_set_isa_serial, &error_abort); object_class_property_set_description(oc, MICROVM_MACHINE_ISA_SERIAL, - "Set off to disable the instantiation an ISA serial port", - &error_abort); + "Set off to disable the instantiation an ISA serial port"); =20 object_class_property_add_bool(oc, MICROVM_MACHINE_OPTION_ROMS, microvm_machine_get_option_roms, microvm_machine_set_option_roms, &error_abort); object_class_property_set_description(oc, MICROVM_MACHINE_OPTION_ROMS, - "Set off to disable loading option ROMs", &error_abort); + "Set off to disable loading option ROMs"); =20 object_class_property_add_bool(oc, MICROVM_MACHINE_AUTO_KERNEL_CMDLINE, microvm_machine_get_auto_kernel_cmdline, @@ -549,8 +548,7 @@ static void microvm_class_init(ObjectClass *oc, void *d= ata) &error_abort); object_class_property_set_description(oc, MICROVM_MACHINE_AUTO_KERNEL_CMDLINE, - "Set off to disable adding virtio-mmio devices to the kernel cmdli= ne", - &error_abort); + "Set off to disable adding virtio-mmio devices to the kernel cmdli= ne"); } =20 static const TypeInfo microvm_machine_info =3D { diff --git a/hw/i386/pc.c b/hw/i386/pc.c index f6b8431c8b..37c16de1df 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1968,7 +1968,7 @@ static void pc_machine_class_init(ObjectClass *oc, vo= id *data) pc_machine_get_vmport, pc_machine_set_vmport, NULL, NULL, &error_abort); object_class_property_set_description(oc, PC_MACHINE_VMPORT, - "Enable vmport (pc & q35)", &error_abort); + "Enable vmport (pc & q35)"); =20 object_class_property_add_bool(oc, PC_MACHINE_SMBUS, pc_machine_get_smbus, pc_machine_set_smbus, &error_abort); diff --git a/hw/i386/x86.c b/hw/i386/x86.c index b82770024c..e2bf601273 100644 --- a/hw/i386/x86.c +++ b/hw/i386/x86.c @@ -984,19 +984,19 @@ static void x86_machine_class_init(ObjectClass *oc, v= oid *data) x86_machine_get_max_ram_below_4g, x86_machine_set_max_ram_below_4g, NULL, NULL, &error_abort); object_class_property_set_description(oc, X86_MACHINE_MAX_RAM_BELOW_4G, - "Maximum ram below the 4G boundary (32bit boundary)", &error_abort= ); + "Maximum ram below the 4G boundary (32bit boundary)"); =20 object_class_property_add(oc, X86_MACHINE_SMM, "OnOffAuto", x86_machine_get_smm, x86_machine_set_smm, NULL, NULL, &error_abort); object_class_property_set_description(oc, X86_MACHINE_SMM, - "Enable SMM", &error_abort); + "Enable SMM"); =20 object_class_property_add(oc, X86_MACHINE_ACPI, "OnOffAuto", x86_machine_get_acpi, x86_machine_set_acpi, NULL, NULL, &error_abort); object_class_property_set_description(oc, X86_MACHINE_ACPI, - "Enable ACPI", &error_abort); + "Enable ACPI"); } =20 static const TypeInfo x86_machine_info =3D { diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c index 428cf63578..55d1419442 100644 --- a/hw/ppc/mac_newworld.c +++ b/hw/ppc/mac_newworld.c @@ -631,8 +631,7 @@ static void core99_instance_init(Object *obj) core99_set_via_config, NULL); object_property_set_description(obj, "via", "Set VIA configuration. " - "Valid values are cuda, pmu and pmu-ad= b", - NULL); + "Valid values are cuda, pmu and pmu-ad= b"); =20 return; } diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index c9cb6fa357..71b08e2ae7 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -2002,8 +2002,7 @@ static void pnv_machine_class_init(ObjectClass *oc, v= oid *data) pnv_machine_get_hb, pnv_machine_set_hb, &error_abort); object_class_property_set_description(oc, "hb-mode", - "Use a hostboot like boot loader", - NULL); + "Use a hostboot like boot loader"); } =20 #define DEFINE_PNV8_CHIP_TYPE(type, class_initfn) \ diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index 9a2bd501aa..91138e7c67 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -3317,8 +3317,7 @@ static void spapr_instance_init(Object *obj) object_property_add_str(obj, "kvm-type", spapr_get_kvm_type, spapr_set_kvm_type, NULL); object_property_set_description(obj, "kvm-type", - "Specifies the KVM virtualization mode= (HV, PR)", - NULL); + "Specifies the KVM virtualization mode= (HV, PR)"); object_property_add_bool(obj, "modern-hotplug-events", spapr_get_modern_hotplug_events, spapr_set_modern_hotplug_events, @@ -3326,8 +3325,7 @@ static void spapr_instance_init(Object *obj) object_property_set_description(obj, "modern-hotplug-events", "Use dedicated hotplug event mechanism= in" " place of standard EPOW events when p= ossible" - " (required for memory hot-unplug supp= ort)", - NULL); + " (required for memory hot-unplug supp= ort)"); ppc_compat_add_property(obj, "max-cpu-compat", &spapr->max_compat_pvr, "Maximum permitted CPU compatibility mode", &error_fatal); @@ -3335,14 +3333,13 @@ static void spapr_instance_init(Object *obj) object_property_add_str(obj, "resize-hpt", spapr_get_resize_hpt, spapr_set_resize_hpt, NU= LL); object_property_set_description(obj, "resize-hpt", - "Resizing of the Hash Page Table (enab= led, disabled, required)", - NULL); + "Resizing of the Hash Page Table (enab= led, disabled, required)"); object_property_add_uint32_ptr(obj, "vsmt", &spapr->vsmt, OBJ_PROP_FLAG_READWRITE, &error_abort); object_property_set_description(obj, "vsmt", "Virtual SMT: KVM behaves as if this w= ere" - " the host's SMT mode", &error_abort); + " the host's SMT mode"); =20 object_property_add_bool(obj, "vfio-no-msix-emulation", spapr_get_msix_emulation, NULL, NULL); @@ -3352,27 +3349,25 @@ static void spapr_instance_init(Object *obj) &error_abort); object_property_set_description(obj, "kernel-addr", stringify(KERNEL_LOAD_ADDR) - " for -kernel is the default", - NULL); + " for -kernel is the default"); spapr->kernel_addr =3D KERNEL_LOAD_ADDR; /* The machine class defines the default interrupt controller mode */ spapr->irq =3D smc->irq; object_property_add_str(obj, "ic-mode", spapr_get_ic_mode, spapr_set_ic_mode, NULL); object_property_set_description(obj, "ic-mode", - "Specifies the interrupt controller mode (xics, xive, dua= l)", - NULL); + "Specifies the interrupt controller mode (xics, xive, dua= l)"); =20 object_property_add_str(obj, "host-model", spapr_get_host_model, spapr_set_host_model, &error_abort); object_property_set_description(obj, "host-model", - "Host model to advertise in guest device tree", &error_abort); + "Host model to advertise in guest device tree"); object_property_add_str(obj, "host-serial", spapr_get_host_serial, spapr_set_host_serial, &error_abort); object_property_set_description(obj, "host-serial", - "Host serial number to advertise in guest device tree", &error_abo= rt); + "Host serial number to advertise in guest device tree"); } =20 static void spapr_machine_finalizefn(Object *obj) diff --git a/hw/ppc/spapr_caps.c b/hw/ppc/spapr_caps.c index eb54f94227..0870961fc9 100644 --- a/hw/ppc/spapr_caps.c +++ b/hw/ppc/spapr_caps.c @@ -845,12 +845,8 @@ void spapr_caps_add_properties(SpaprMachineClass *smc,= Error **errp) } =20 desc =3D g_strdup_printf("%s", cap->description); - object_class_property_set_description(klass, name, desc, &local_er= r); + object_class_property_set_description(klass, name, desc); g_free(name); g_free(desc); - if (local_err) { - error_propagate(errp, local_err); - return; - } } } diff --git a/hw/ppc/spapr_rng.c b/hw/ppc/spapr_rng.c index e8e8d65ec0..85bf64d68e 100644 --- a/hw/ppc/spapr_rng.c +++ b/hw/ppc/spapr_rng.c @@ -103,8 +103,7 @@ static void spapr_rng_instance_init(Object *obj) } =20 object_property_set_description(obj, "rng", - "ID of the random number generator bac= kend", - NULL); + "ID of the random number generator bac= kend"); } =20 static void spapr_rng_realize(DeviceState *dev, Error **errp) diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index bed10fcfa8..da48c958e2 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -445,13 +445,12 @@ static void sifive_u_machine_instance_init(Object *ob= j) sifive_u_machine_set_start_in_flash, NULL); object_property_set_description(obj, "start-in-flash", "Set on to tell QEMU's ROM to jump to " - "flash. Otherwise QEMU will jump to DR= AM", - NULL); + "flash. Otherwise QEMU will jump to DR= AM"); =20 s->serial =3D OTP_SERIAL; object_property_add(obj, "serial", "uint32", sifive_u_machine_get_seri= al, sifive_u_machine_set_serial, NULL, &s->serial, NUL= L); - object_property_set_description(obj, "serial", "Board serial number", = NULL); + object_property_set_description(obj, "serial", "Board serial number"); } =20 static void sifive_u_machine_class_init(ObjectClass *oc, void *data) diff --git a/hw/s390x/css-bridge.c b/hw/s390x/css-bridge.c index a306a78e6c..c9ce06b043 100644 --- a/hw/s390x/css-bridge.c +++ b/hw/s390x/css-bridge.c @@ -144,8 +144,7 @@ static void virtual_css_bridge_class_init(ObjectClass *= klass, void *data) prop_get_true, NULL, NULL); object_class_property_set_description(klass, "cssid-unrestricted", "A css device can use any cssid, regardless whether virtual" - " or not (read only, always true)", - NULL); + " or not (read only, always true)"); } =20 static const TypeInfo virtual_css_bridge_info =3D { diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c index 45292fb5a8..8643c0baae 100644 --- a/hw/s390x/s390-virtio-ccw.c +++ b/hw/s390x/s390-virtio-ccw.c @@ -731,24 +731,21 @@ static inline void s390_machine_initfn(Object *obj) machine_get_aes_key_wrap, machine_set_aes_key_wrap, NULL); object_property_set_description(obj, "aes-key-wrap", - "enable/disable AES key wrapping using the CPACF wrapping key", - NULL); + "enable/disable AES key wrapping using the CPACF wrapping key"= ); object_property_set_bool(obj, true, "aes-key-wrap", NULL); =20 object_property_add_bool(obj, "dea-key-wrap", machine_get_dea_key_wrap, machine_set_dea_key_wrap, NULL); object_property_set_description(obj, "dea-key-wrap", - "enable/disable DEA key wrapping using the CPACF wrapping key", - NULL); + "enable/disable DEA key wrapping using the CPACF wrapping key"= ); object_property_set_bool(obj, true, "dea-key-wrap", NULL); object_property_add_str(obj, "loadparm", machine_get_loadparm, machine_set_loadparm, NULL); object_property_set_description(obj, "loadparm", "Up to 8 chars in set of [A-Za-z0-9. ] (lower case chars conve= rted" " to upper case) to pass to machine loader, boot manager," - " and guest kernel", - NULL); + " and guest kernel"); } =20 static const TypeInfo ccw_machine_info =3D { diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c index 36ee1a0a3d..7472d24e2c 100644 --- a/hw/sparc/sun4m.c +++ b/hw/sparc/sun4m.c @@ -797,8 +797,7 @@ static void ram_initfn(Object *obj) object_property_allow_set_link, OBJ_PROP_LINK_STRONG, &error_abort); object_property_set_description(obj, "memdev", "Set RAM backend" - "Valid value is ID of a hostmem backen= d", - &error_abort); + "Valid value is ID of a hostmem backen= d"); } =20 static void ram_class_init(ObjectClass *klass, void *data) diff --git a/hw/xen/xen-common.c b/hw/xen/xen-common.c index a15070f7f6..adaab81ce0 100644 --- a/hw/xen/xen-common.c +++ b/hw/xen/xen-common.c @@ -201,7 +201,7 @@ static void xen_accel_class_init(ObjectClass *oc, void = *data) xen_get_igd_gfx_passthru, xen_set_igd_gfx_passthru, &error_abort); object_class_property_set_description(oc, "igd-passthru", - "Set on/off to enable/disable igd passthrou", &error_abort); + "Set on/off to enable/disable igd passthrou"); } =20 #define TYPE_XEN_ACCEL ACCEL_CLASS_NAME("xen") diff --git a/qom/object.c b/qom/object.c index 4e5b2ecacd..58a6ec9b1b 100644 --- a/qom/object.c +++ b/qom/object.c @@ -2802,38 +2802,27 @@ object_property_add_alias(Object *obj, const char *= name, } =20 object_property_set_description(obj, op->name, - target_prop->description, - &error_abort); + target_prop->description); return op; } =20 void object_property_set_description(Object *obj, const char *name, - const char *description, Error **errp) + const char *description) { ObjectProperty *op; =20 - op =3D object_property_find(obj, name, errp); - if (!op) { - return; - } - + op =3D object_property_find(obj, name, &error_abort); g_free(op->description); op->description =3D g_strdup(description); } =20 void object_class_property_set_description(ObjectClass *klass, const char *name, - const char *description, - Error **errp) + const char *description) { ObjectProperty *op; =20 op =3D g_hash_table_lookup(klass->properties, name); - if (!op) { - error_setg(errp, "Property '.%s' not found", name); - return; - } - g_free(op->description); op->description =3D g_strdup(description); } diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index 9bdf75b1ab..a435a1f24f 100644 --- a/target/arm/cpu64.c +++ b/target/arm/cpu64.c @@ -781,8 +781,7 @@ static void aarch64_cpu_initfn(Object *obj) aarch64_cpu_set_aarch64, NULL); object_property_set_description(obj, "aarch64", "Set on/off to enable/disable aarch64 " - "execution state ", - NULL); + "execution state "); } =20 static void aarch64_cpu_finalizefn(Object *obj) diff --git a/target/arm/kvm.c b/target/arm/kvm.c index 390077c518..1ea2d047e3 100644 --- a/target/arm/kvm.c +++ b/target/arm/kvm.c @@ -204,7 +204,7 @@ void kvm_arm_add_vcpu_properties(Object *obj) object_property_set_description(obj, "kvm-no-adjvtime", "Set on to disable the adjustment of " "the virtual counter. VM stopped time " - "will be counted.", &error_abort); + "will be counted."); } =20 bool kvm_arm_pmu_supported(CPUState *cpu) diff --git a/target/i386/sev.c b/target/i386/sev.c index 846018a12d..6842cfc26d 100644 --- a/target/i386/sev.c +++ b/target/i386/sev.c @@ -251,19 +251,19 @@ qsev_guest_class_init(ObjectClass *oc, void *data) qsev_guest_set_sev_device, NULL); object_class_property_set_description(oc, "sev-device", - "SEV device to use", NULL); + "SEV device to use"); object_class_property_add_str(oc, "dh-cert-file", qsev_guest_get_dh_cert_file, qsev_guest_set_dh_cert_file, NULL); object_class_property_set_description(oc, "dh-cert-file", - "guest owners DH certificate (encoded with base64)", NULL); + "guest owners DH certificate (encoded with base64)"); object_class_property_add_str(oc, "session-file", qsev_guest_get_session_file, qsev_guest_set_session_file, NULL); object_class_property_set_description(oc, "session-file", - "guest owners session parameters (encoded with base64)", NULL); + "guest owners session parameters (encoded with base64)"); } =20 static void diff --git a/target/ppc/compat.c b/target/ppc/compat.c index f48df25944..46ffb6da6d 100644 --- a/target/ppc/compat.c +++ b/target/ppc/compat.c @@ -324,7 +324,7 @@ void ppc_compat_add_property(Object *obj, const char *n= ame, =20 names =3D g_strjoinv(", ", namesv); desc =3D g_strdup_printf("%s. Valid values are %s.", basedesc, names); - object_property_set_description(obj, name, desc, &local_err); + object_property_set_description(obj, name, desc); =20 g_free(names); g_free(desc); diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c index 7c32180269..aa7fc713ca 100644 --- a/target/s390x/cpu_models.c +++ b/target/s390x/cpu_models.c @@ -1107,13 +1107,13 @@ void s390_cpu_model_register_props(Object *obj) const S390FeatDef *def =3D s390_feat_def(feat); object_property_add(obj, def->name, "bool", get_feature, set_feature, NULL, (void *) feat, NULL); - object_property_set_description(obj, def->name, def->desc , NULL); + object_property_set_description(obj, def->name, def->desc); } for (group =3D 0; group < S390_FEAT_GROUP_MAX; group++) { const S390FeatGroupDef *def =3D s390_feat_group_def(group); object_property_add(obj, def->name, "bool", get_feature_group, set_feature_group, NULL, (void *) group, NULL); - object_property_set_description(obj, def->name, def->desc , NULL); + object_property_set_description(obj, def->name, def->desc); } } =20 --=20 2.21.1 From nobody Sat May 18 00:40:21 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1588692913; cv=none; d=zohomail.com; s=zohoarc; b=FjGgb/gNZ/AITqfFYlLcVSsXt5p51HdoD5fVDw/tglFvf/BtyWgsmEdGNyQmjmo7LgNEaG+QJr0qpQ1vmAWcUvmv6uGFPVID6DIUarcLVJIelxTi5merinMMWG8QIoRLapYOYw1LgzUa3g6q8U3IyiwItG3e3st630TCWVAcqk8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1588692913; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=BfvPDqW/knyQKGlAtdClqdP25r0g9LJ1Uccxe20cSpc=; b=X3ne8ae+hG+Ti96D1jRi9ZFdMfT7KOdoCeDuxNqhMn1POD6ehne3lQHMX++jQNtCHreRxRXjD+YjBhZoysEprRcEK/eYraT/UwtlVtHNycFivsVg7u/BNWEll32uV4dAcGFd+S1joYVu5UA3zfrfgDERCl5qADxQG1DEcKAsoRw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1588692913552304.32166430543043; Tue, 5 May 2020 08:35:13 -0700 (PDT) Received: from localhost ([::1]:56436 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jVzbD-0000gl-KH for importer@patchew.org; Tue, 05 May 2020 11:35:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45996) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jVzVq-0003NT-PT for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:38 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:24631 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jVzVl-0007QW-Co for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:38 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-494-dIYTK3DgOUWKnH0q8iznQA-1; Tue, 05 May 2020 11:29:30 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 5FF05107ACF3 for ; Tue, 5 May 2020 15:29:29 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-113-6.ams2.redhat.com [10.36.113.6]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 2ACED5D785; Tue, 5 May 2020 15:29:29 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 4855211358C4; Tue, 5 May 2020 17:29:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1588692571; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=BfvPDqW/knyQKGlAtdClqdP25r0g9LJ1Uccxe20cSpc=; b=Vek+7cTWY7h7sRQwth658cTnXohDFcE5q5sR5Ts7fpH6Qo9JTBDhgYqhxhTnDCBSraOCSs DPL3PuDT5LokbFmb+tt5HfwvOTiQrlADxgWAhCjjVbLeC62TIdOzLdVIrjPk63+AtddVBm qhc4tzxckTCzznWK9FjPL58/8GJUHCg= X-MC-Unique: dIYTK3DgOUWKnH0q8iznQA-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH v2 08/18] tests/check-qom-proplist: Improve iterator coverage Date: Tue, 5 May 2020 17:29:16 +0200 Message-Id: <20200505152926.18877-9-armbru@redhat.com> In-Reply-To: <20200505152926.18877-1-armbru@redhat.com> References: <20200505152926.18877-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/05 03:48:16 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: pbonzini@redhat.com, berrange@redhat.com, ehabkost@redhat.com, philmd@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" The tests' "qemu-dummy" device has only class properties. Turn one of them into an instance property. test_dummy_class_iterator() expects one fewer property than test_dummy_iterator(). Rewrite test_dummy_prop_iterator() to take expected properties as argument. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Paolo Bonzini --- tests/check-qom-proplist.c | 51 +++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/tests/check-qom-proplist.c b/tests/check-qom-proplist.c index a8b2958e6e..140d56439a 100644 --- a/tests/check-qom-proplist.c +++ b/tests/check-qom-proplist.c @@ -130,17 +130,18 @@ static void dummy_init(Object *obj) object_property_add_bool(obj, "bv", dummy_get_bv, dummy_set_bv, - &err); + NULL); + /* duplicate: */ + object_property_add_str(obj, "sv", + dummy_get_sv, + dummy_set_sv, + &err); error_free_or_abort(&err); } =20 =20 static void dummy_class_init(ObjectClass *cls, void *data) { - object_class_property_add_bool(cls, "bv", - dummy_get_bv, - dummy_set_bv, - NULL); object_class_property_add_str(cls, "sv", dummy_get_sv, dummy_set_sv, @@ -520,34 +521,33 @@ static void test_dummy_getenum(void) } =20 =20 -static void test_dummy_prop_iterator(ObjectPropertyIterator *iter) +static void test_dummy_prop_iterator(ObjectPropertyIterator *iter, + const char *expected[], int n) { - bool seenbv =3D false, seensv =3D false, seenav =3D false, seentype = =3D false; ObjectProperty *prop; + int i; =20 while ((prop =3D object_property_iter_next(iter))) { - if (!seenbv && g_str_equal(prop->name, "bv")) { - seenbv =3D true; - } else if (!seensv && g_str_equal(prop->name, "sv")) { - seensv =3D true; - } else if (!seenav && g_str_equal(prop->name, "av")) { - seenav =3D true; - } else if (!seentype && g_str_equal(prop->name, "type")) { - /* This prop comes from the base Object class */ - seentype =3D true; - } else { - g_printerr("Found prop '%s'\n", prop->name); - g_assert_not_reached(); + for (i =3D 0; i < n; i++) { + if (!g_strcmp0(prop->name, expected[i])) { + break; + } } + g_assert(i < n); + expected[i] =3D NULL; + } + + for (i =3D 0; i < n; i++) { + g_assert(!expected[i]); } - g_assert(seenbv); - g_assert(seenav); - g_assert(seensv); - g_assert(seentype); } =20 static void test_dummy_iterator(void) { + const char *expected[] =3D { + "type", /* inherited from TYPE_OBJECT */ + "sv", "av", /* class properties */ + "bv"}; /* instance property */ Object *parent =3D object_get_objects_root(); DummyObject *dobj =3D DUMMY_OBJECT( object_new_with_props(TYPE_DUMMY, @@ -561,17 +561,18 @@ static void test_dummy_iterator(void) ObjectPropertyIterator iter; =20 object_property_iter_init(&iter, OBJECT(dobj)); - test_dummy_prop_iterator(&iter); + test_dummy_prop_iterator(&iter, expected, ARRAY_SIZE(expected)); object_unparent(OBJECT(dobj)); } =20 static void test_dummy_class_iterator(void) { + const char *expected[] =3D { "type", "av", "sv" }; ObjectPropertyIterator iter; ObjectClass *klass =3D object_class_by_name(TYPE_DUMMY); =20 object_class_property_iter_init(&iter, klass); - test_dummy_prop_iterator(&iter); + test_dummy_prop_iterator(&iter, expected, ARRAY_SIZE(expected)); } =20 static void test_dummy_delchild(void) --=20 2.21.1 From nobody Sat May 18 00:40:21 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1588692940; cv=none; d=zohomail.com; s=zohoarc; b=YjTb22c7LoWkiPWqHQZRcPHS42kY+1YucDy9UqqgoEEZpGvC0znwSNXf9PgJBPG7QO1E3mltGxl4eaHuA+9bfljSuE/cwQzgpUGRghDLmZ2Fe6aLU8rtk7PoEh9EhZcrW1Mg6e1h+fSCPjSwfeE+SvFnyJwS7f957m+ZZHYNbdo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1588692940; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=4mWNsNecEXgNh2sKHwPKUb4RkEJjcYczX2sgrpoTXMU=; b=KAK/JngO2HhW8JkznMCD65qjZdY2tGE2vBPk77olb1p0ao3F/0/Q/WJ1b5aNYdO2g+OWBzcG2wyB720idlAHV0pEJ/6P3cdNs8PAmgDPJFdRJl+KUSVaVVYu4sX/1hYqs/xeD7HWvP3p1ydPp+akjKoV4ZBRYUrcN2EpDkRZfxs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1588692940590396.6245141848891; Tue, 5 May 2020 08:35:40 -0700 (PDT) Received: from localhost ([::1]:57808 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jVzbf-0001F6-2w for importer@patchew.org; Tue, 05 May 2020 11:35:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46022) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jVzVt-0003Ra-F1 for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:41 -0400 Received: from us-smtp-1.mimecast.com ([205.139.110.61]:43299 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jVzVo-0007U7-Pn for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:40 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-138-RCfk_2puNvSfh8OlCvQg4w-1; Tue, 05 May 2020 11:29:33 -0400 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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 780D3468; Tue, 5 May 2020 15:29:32 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-113-6.ams2.redhat.com [10.36.113.6]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 342FF99E1; Tue, 5 May 2020 15:29:29 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 4BA8511358C5; Tue, 5 May 2020 17:29:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1588692575; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=4mWNsNecEXgNh2sKHwPKUb4RkEJjcYczX2sgrpoTXMU=; b=Z/IRh3LZxUhpLR2esGQy8AA2U5ObpsF54RPovUKateUzZvBd6u+VpP86cM5nVO1QgEHmzG QOKLsZqIaXJVGRFZq0aAHJDoZu93Xicq0DyMCBHNzM89Fp2rOfmqlXIiBWw3qAw2K8ivHj yfnrfijDNmS3M2k57NU4KXL1eu+sT5c= X-MC-Unique: RCfk_2puNvSfh8OlCvQg4w-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH v2 09/18] s390x/cpumodel: Fix UI to CPU features pcc-cmac-{aes, eaes}-256 Date: Tue, 5 May 2020 17:29:17 +0200 Message-Id: <20200505152926.18877-10-armbru@redhat.com> In-Reply-To: <20200505152926.18877-1-armbru@redhat.com> References: <20200505152926.18877-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.61; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/05 00:37:40 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: berrange@redhat.com, ehabkost@redhat.com, David Hildenbrand , philmd@redhat.com, Cornelia Huck , Halil Pasic , Christian Borntraeger , qemu-s390x@nongnu.org, pbonzini@redhat.com, Richard Henderson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Both s390_features[S390_FEAT_PCC_CMAC_AES_256].name and s390_features[S390_FEAT_PCC_CMAC_EAES_256].name is "pcc-cmac-eaes-256". The former is obviously a pasto. Impact: * s390_feat_bitmap_to_ascii() misidentifies S390_FEAT_PCC_CMAC_AES_256 as "pcc-cmac-eaes-256". Affects QMP commands query-cpu-definitions, query-cpu-model-expansion, query-cpu-model-baseline, query-cpu-model-comparison, and the error message when s390_realize_cpu_model() fails in check_compatibility(). * s390_cpu_list() also misidentifies it. Affects -cpu help. * s390_cpu_model_register_props() creates CPU property "pcc-cmac-eaes-256" twice. The second one fails, but the error is ignored (a later commit will change that). Results in a single property "pcc-cmac-eaes-256" with the description for S390_FEAT_PCC_CMAC_AES_256, and no property for S390_FEAT_PCC_CMAC_EAES_256. CPU properties are visible in CLI -cpu and -device, QMP & HMP device_add, QMP device-list-properties, and QOM introspection. Fix by deleting the wayward 'e'. Fixes: 782417446279717aa85320191a519b51f6d5dd31 Cc: Halil Pasic Cc: Cornelia Huck Cc: Christian Borntraeger Cc: Richard Henderson Cc: David Hildenbrand Cc: qemu-s390x@nongnu.org Signed-off-by: Markus Armbruster Reviewed-by: David Hildenbrand Tested-by: Christian Borntraeger Reviewed-by: Cornelia Huck --- target/s390x/cpu_features_def.inc.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/s390x/cpu_features_def.inc.h b/target/s390x/cpu_feature= s_def.inc.h index 60db28351d..5942f81f16 100644 --- a/target/s390x/cpu_features_def.inc.h +++ b/target/s390x/cpu_features_def.inc.h @@ -311,7 +311,7 @@ DEF_FEAT(PCC_CMAC_ETDEA_192, "pcc-cmac-etdea-128", PCC,= 10, "PCC Compute-Last-Bl DEF_FEAT(PCC_CMAC_TDEA, "pcc-cmac-etdea-192", PCC, 11, "PCC Compute-Last-B= lock-CMAC-Using-EncryptedTDEA-192") DEF_FEAT(PCC_CMAC_AES_128, "pcc-cmac-aes-128", PCC, 18, "PCC Compute-Last-= Block-CMAC-Using-AES-128") DEF_FEAT(PCC_CMAC_AES_192, "pcc-cmac-aes-192", PCC, 19, "PCC Compute-Last-= Block-CMAC-Using-AES-192") -DEF_FEAT(PCC_CMAC_AES_256, "pcc-cmac-eaes-256", PCC, 20, "PCC Compute-Last= -Block-CMAC-Using-AES-256") +DEF_FEAT(PCC_CMAC_AES_256, "pcc-cmac-aes-256", PCC, 20, "PCC Compute-Last-= Block-CMAC-Using-AES-256") DEF_FEAT(PCC_CMAC_EAES_128, "pcc-cmac-eaes-128", PCC, 26, "PCC Compute-Las= t-Block-CMAC-Using-Encrypted-AES-128") DEF_FEAT(PCC_CMAC_EAES_192, "pcc-cmac-eaes-192", PCC, 27, "PCC Compute-Las= t-Block-CMAC-Using-Encrypted-AES-192") DEF_FEAT(PCC_CMAC_EAES_256, "pcc-cmac-eaes-256", PCC, 28, "PCC Compute-Las= t-Block-CMAC-Using-Encrypted-AES-256") --=20 2.21.1 From nobody Sat May 18 00:40:21 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1588693448; cv=none; d=zohomail.com; s=zohoarc; b=AG7yNYvsersQJjg6i+BWpD72hT0IqlxgOuZ84YfrWQGhH/lk9YV2AtQQT4CdcruoPHcFb2+9t+GDiPMUKhhHuCT7irsHfW3z/JNob1ab4jz44PcYwqkva0MWCGn3LGWBIr98G5w/X0zQN1d30QZXtFytg2iIuuOJIoJCTKP5UDA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1588693448; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=U8xOOlXSApfWeIfbfA93BiP5xHl4aV/joyRqnXcAhfM=; b=hRyjy8AzVo7LTpU/MnvPIDyNGUzFPDOwtbtQkjMXIvvzLp20eBkvlNt91miNpk+fDJlUHJw4DqLGNBSFLUwRdFg8ccTu3zMUW8bNevmFc5S2eZ5h87vXum82PvFhzchXujBzy/XbgCs27K70Z/+m3d45M36XnUbtwWEUC/RIWr4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1588693448679874.1224378200415; Tue, 5 May 2020 08:44:08 -0700 (PDT) Received: from localhost ([::1]:56484 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jVzjr-000475-C3 for importer@patchew.org; Tue, 05 May 2020 11:44:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46016) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jVzVs-0003Ql-SJ for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:40 -0400 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:35087 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jVzVo-0007TE-AR for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:40 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-387--cD-XD60Nuer5eqMfb-Qyg-1; Tue, 05 May 2020 11:29:33 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 3334B835B40 for ; Tue, 5 May 2020 15:29:32 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-113-6.ams2.redhat.com [10.36.113.6]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3CF975C1B2; Tue, 5 May 2020 15:29:29 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 4EF7711358C6; Tue, 5 May 2020 17:29:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1588692575; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=U8xOOlXSApfWeIfbfA93BiP5xHl4aV/joyRqnXcAhfM=; b=b/sOZKrVZZPL3eOofSzc367K2mQR1cJI4CxRqavrKeHcAHkF59hc8z1Tjzx6r5YO1xbKfS 2yWjMej1S/kxS0BlJVT0JVrI1X71D8Eek/JtD++uNgp63yRyvq8EMgPstbnHftPMU3ssZw DiPIYlpgsLTRrFEDbO+r2sOnwtRI4U8= X-MC-Unique: -cD-XD60Nuer5eqMfb-Qyg-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH v2 10/18] hw/isa/superio: Make the components QOM children Date: Tue, 5 May 2020 17:29:18 +0200 Message-Id: <20200505152926.18877-11-armbru@redhat.com> In-Reply-To: <20200505152926.18877-1-armbru@redhat.com> References: <20200505152926.18877-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.81; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/05 00:37:19 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: berrange@redhat.com, ehabkost@redhat.com, "Michael S . Tsirkin" , philmd@redhat.com, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" isa_superio_realize() attempts to make isa-parallel and isa-serial QOM children, but this does not work, because it calls object_property_add_child() after realizing with qdev_init_nofail(). Realizing a device without a parent gives it one: it gets put into the "/machine/unattached/" orphanage. The extra object_property_add_child() fails, and isa_superio_realize() ignores the error. Move the object_property_add_child() before qdev_init_nofail(), and pass &error_abort. For the other components, isa_superio_realize() doesn't even try. Add object_property_add_child() there. This affects machines 40p, clipper and fulong2e. For instance, fulong2e has its vt82c686b-superio (which is an isa-superio) at /machine/unattached/device[9]. Before the patch, its components are at /machine/unattached/device[10] .. [14]. Afterwards, they are at /machine/unattached/device[9]/{parallel0,serial0,serial1,isa-fdc,i8042}. Cc: Michael S. Tsirkin Cc: Paolo Bonzini Signed-off-by: Markus Armbruster Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Paolo Bonzini --- hw/isa/isa-superio.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/hw/isa/isa-superio.c b/hw/isa/isa-superio.c index 180a8b9625..0d9d848280 100644 --- a/hw/isa/isa-superio.c +++ b/hw/isa/isa-superio.c @@ -62,6 +62,8 @@ static void isa_superio_realize(DeviceState *dev, Error *= *errp) qdev_prop_set_uint32(d, "irq", k->parallel.get_irq(sio, i)= ); } qdev_prop_set_chr(d, "chardev", chr); + object_property_add_child(OBJECT(sio), name, OBJECT(isa), + &error_abort); qdev_init_nofail(d); sio->parallel[i] =3D isa; trace_superio_create_parallel(i, @@ -69,8 +71,6 @@ static void isa_superio_realize(DeviceState *dev, Error *= *errp) k->parallel.get_iobase(sio, i) := -1, k->parallel.get_irq ? k->parallel.get_irq(sio, i) : -1= ); - object_property_add_child(OBJECT(dev), name, - OBJECT(sio->parallel[i]), NULL); g_free(name); } } @@ -102,6 +102,8 @@ static void isa_superio_realize(DeviceState *dev, Error= **errp) qdev_prop_set_uint32(d, "irq", k->serial.get_irq(sio, i)); } qdev_prop_set_chr(d, "chardev", chr); + object_property_add_child(OBJECT(sio), name, OBJECT(isa), + &error_abort); qdev_init_nofail(d); sio->serial[i] =3D isa; trace_superio_create_serial(i, @@ -109,8 +111,6 @@ static void isa_superio_realize(DeviceState *dev, Error= **errp) k->serial.get_iobase(sio, i) : -1, k->serial.get_irq ? k->serial.get_irq(sio, i) : -1); - object_property_add_child(OBJECT(dev), name, - OBJECT(sio->serial[0]), NULL); g_free(name); } } @@ -137,6 +137,8 @@ static void isa_superio_realize(DeviceState *dev, Error= **errp) qdev_prop_set_drive(d, "driveB", blk_by_legacy_dinfo(drive), &error_fatal); } + object_property_add_child(OBJECT(sio), "isa-fdc", OBJECT(isa), + &error_abort); qdev_init_nofail(d); sio->floppy =3D isa; trace_superio_create_floppy(0, @@ -147,7 +149,11 @@ static void isa_superio_realize(DeviceState *dev, Erro= r **errp) } =20 /* Keyboard, mouse */ - sio->kbc =3D isa_create_simple(bus, TYPE_I8042); + isa =3D isa_create(bus, TYPE_I8042); + object_property_add_child(OBJECT(sio), TYPE_I8042, OBJECT(isa), + &error_abort); + qdev_init_nofail(DEVICE(isa)); + sio->kbc =3D isa; =20 /* IDE */ if (k->ide.count && (!k->ide.is_enabled || k->ide.is_enabled(sio, 0)))= { @@ -163,6 +169,8 @@ static void isa_superio_realize(DeviceState *dev, Error= **errp) qdev_prop_set_uint32(d, "irq", k->ide.get_irq(sio, 0)); } qdev_init_nofail(d); + object_property_add_child(OBJECT(sio), "isa-ide", OBJECT(isa), + &error_abort); sio->ide =3D isa; trace_superio_create_ide(0, k->ide.get_iobase ? --=20 2.21.1 From nobody Sat May 18 00:40:21 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1588692710; cv=none; d=zohomail.com; s=zohoarc; b=KIPGOdHkquzaG10EsHzZIN++BiJqTq3rSkCfpyAMf5ML3BpNFhXifhjaE1k69wfP6HOkrJ+YpwomgE1B/vcAF4qoaaYa/m3xMrfpP6pz0m2aoTFZ3bEHF+1VKCGY/6xcmAkeh76z7kYUDNjNmkqICVBzfrsArLcZNg5AFy+rVJM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1588692710; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=qJSrLVvjDTVg1XFdetvzYSjvKRLzEDahkF7hmIqY9c4=; b=U+HDFz2Gw+PWDuvy90LfL78oUNwex7qDZt8zRXIhpLGMcVsi6fZK7hrSRsqRTD26IpETbyTnGoBj4HvimyXM22XKyLeELMxSeiQPd2ZEWF2LUPboXgnFQbLCmyz5Jt8ikwVLpVzP9pLHiLmv7H+JAQ+32equMh2/htAOhaocSRM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1588692710142892.7646502186303; Tue, 5 May 2020 08:31:50 -0700 (PDT) Received: from localhost ([::1]:48102 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jVzXw-0005Cd-Pp for importer@patchew.org; Tue, 05 May 2020 11:31:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45960) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jVzVo-0003Jz-1B for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:36 -0400 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:53135 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jVzVl-0007Qb-GL for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:35 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-301-l0ODgHXROYWxO3W9vxyzOQ-1; Tue, 05 May 2020 11:29:30 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 7C91018FE864 for ; Tue, 5 May 2020 15:29:29 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-113-6.ams2.redhat.com [10.36.113.6]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 488C05D9D5; Tue, 5 May 2020 15:29:29 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 522AA11358C7; Tue, 5 May 2020 17:29:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1588692572; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=qJSrLVvjDTVg1XFdetvzYSjvKRLzEDahkF7hmIqY9c4=; b=RXGYMbFkA+28oIY9t0nNlHnpsme0zp0TzXsyPInWcRayBKge6uiDNNqMh59MOrpKqXl35D 1Kt4XTLBZuZTvwUCE6T0w4ooFnp5HiaOgbD4uLUkLTcGrN7nJWKn+Nv8vkJ7Zs4Rgxnfg7 jjJB3B3ALAbq7Cv29wz9mjPrPz/b9mg= X-MC-Unique: l0ODgHXROYWxO3W9vxyzOQ-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH v2 11/18] e1000: Don't run e1000_instance_init() twice Date: Tue, 5 May 2020 17:29:19 +0200 Message-Id: <20200505152926.18877-12-armbru@redhat.com> In-Reply-To: <20200505152926.18877-1-armbru@redhat.com> References: <20200505152926.18877-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.81; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/05 00:37:19 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: berrange@redhat.com, ehabkost@redhat.com, philmd@redhat.com, Jason Wang , pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" QOM object initialization runs .instance_init() for the type and all its supertypes; see object_init_with_type(). Both TYPE_E1000_BASE and its concrete subtypes set .instance_init() to e1000_instance_init(). For the concrete subtypes, it duly gets run twice. The second run fails, but the error gets ignored (a later commit will change that). Remove it from the subtypes. Cc: Jason Wang Signed-off-by: Markus Armbruster Acked-by: Jason Wang Reviewed-by: Paolo Bonzini --- hw/net/e1000.c | 1 - 1 file changed, 1 deletion(-) diff --git a/hw/net/e1000.c b/hw/net/e1000.c index 2a69eee63f..0d2c2759e3 100644 --- a/hw/net/e1000.c +++ b/hw/net/e1000.c @@ -1824,7 +1824,6 @@ static void e1000_register_types(void) type_info.parent =3D TYPE_E1000_BASE; type_info.class_data =3D (void *)info; type_info.class_init =3D e1000_class_init; - type_info.instance_init =3D e1000_instance_init; =20 type_register(&type_info); } --=20 2.21.1 From nobody Sat May 18 00:40:21 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1588693543; cv=none; d=zohomail.com; s=zohoarc; b=W5C7oHTmIhQjt7duYpnU23p/+QDcfzclZrS1YUVd4AJOLN9wUXEY6AgcKJo1tMCB9A0e3YP00Bl3p9768sqBf8yksa8dLSFYF7Kb4h0kt9KHWtWdsaYCMOewXAT9cTeCOWiqIEhgbvtdaNfXp1USd71+wS5cudKhCfo3LuL57/0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1588693543; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=sZXFtlUJilR+Fg2pc8i1e5FuQYdjyR/PnHfZpdXP6U8=; b=MhcGNwGexyZ+9E/ewQuX1O4emXBUcdpv5qkopUkJ/ThD6muGpK6RjMywfe+fFN5xk86yLYwvGxaeInmUvpLtDeX7Ik9c/uHF0GRk1oZdXKW4e7TXtsXdufpuJwPVtmmoi/L+hsE2K75y3Mq7oOi+K9jT8P0A84nNFsugtdEfs7g= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 158869354336067.70555428523699; Tue, 5 May 2020 08:45:43 -0700 (PDT) Received: from localhost ([::1]:60842 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jVzlO-0006B4-48 for importer@patchew.org; Tue, 05 May 2020 11:45:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46032) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jVzVu-0003Tp-NR for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:42 -0400 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:60165 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jVzVp-0007VY-8s for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:41 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-23-BGqJFzFWOOOTBOJmzw8KZA-1; Tue, 05 May 2020 11:29:30 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 8983F800687; Tue, 5 May 2020 15:29:29 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-113-6.ams2.redhat.com [10.36.113.6]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 5158562482; Tue, 5 May 2020 15:29:29 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 5576611358C8; Tue, 5 May 2020 17:29:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1588692576; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=sZXFtlUJilR+Fg2pc8i1e5FuQYdjyR/PnHfZpdXP6U8=; b=T2QIO6OgXWJSFEQ97GvKHdPqXDtEhBSco+V83j5oUK0L+j01Caym1VX6zJTPx99y6rRGeU M/ceLcq9hF+xe6q5FmxKNhG59wF/MN7pjLht3LIkdDtU9FZGh7jJ8QA+a1/VtEHa8LEqQD NSmjMP1SDKmZdIHhsJRulO39PDMg1nA= X-MC-Unique: BGqJFzFWOOOTBOJmzw8KZA-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH v2 12/18] hw/arm/bcm2835: Drop futile attempts at QOM-adopting memory Date: Tue, 5 May 2020 17:29:20 +0200 Message-Id: <20200505152926.18877-13-armbru@redhat.com> In-Reply-To: <20200505152926.18877-1-armbru@redhat.com> References: <20200505152926.18877-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.81; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/05 00:37:19 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , berrange@redhat.com, ehabkost@redhat.com, philmd@redhat.com, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Andrew Baumann , qemu-arm@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" The "bcm2835-peripherals" device's .instance_init() method bcm2835_peripherals_init() attempts to make two memory regions QOM children of the device. This is futile, because memory_region_init() already did. The errors are ignored (a later commit will change that). Drop the useless calls. Cc: Peter Maydell Cc: Andrew Baumann Cc: "Philippe Mathieu-Daud=C3=A9" Cc: qemu-arm@nongnu.org Signed-off-by: Markus Armbruster Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Eric Blake --- hw/arm/bcm2835_peripherals.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/hw/arm/bcm2835_peripherals.c b/hw/arm/bcm2835_peripherals.c index edcaa4916d..8b399d67ff 100644 --- a/hw/arm/bcm2835_peripherals.c +++ b/hw/arm/bcm2835_peripherals.c @@ -43,12 +43,10 @@ static void bcm2835_peripherals_init(Object *obj) =20 /* Memory region for peripheral devices, which we export to our parent= */ memory_region_init(&s->peri_mr, obj,"bcm2835-peripherals", 0x1000000); - object_property_add_child(obj, "peripheral-io", OBJECT(&s->peri_mr), N= ULL); sysbus_init_mmio(SYS_BUS_DEVICE(s), &s->peri_mr); =20 /* Internal memory region for peripheral bus addresses (not exported) = */ memory_region_init(&s->gpu_bus_mr, obj, "bcm2835-gpu", (uint64_t)1 << = 32); - object_property_add_child(obj, "gpu-bus", OBJECT(&s->gpu_bus_mr), NULL= ); =20 /* Internal memory region for request/response communication with * mailbox-addressable peripherals (not exported) --=20 2.21.1 From nobody Sat May 18 00:40:21 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1588692913; cv=none; d=zohomail.com; s=zohoarc; b=JsrAyBeDCOj3zbF9tEfcP9CnUJFsVV0xjqwz/oxXFLH7mZpVG179j8NnTKITx+3QtOSBPiJNFYAJrlZb1mFV3m2vyzvBfeLpCfJC0g1y85e9YlNzNPeSaKPsAJY4muCsOH2lphVnYWYURWbc9jwbqlcJQQD9g5eW4cbLHlKTfsA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1588692913; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=/KTY1YJwO4io6kj73OhAeYOH0wTKz3YRUEyHY+Q3lGM=; b=BZpOUbLJ3XxeKrpiSFgC8FuBLbNV4auB4EMh7CUpPaQeRhtz3Vpzjp39okZ660ak2BO/g4Tou2KP6b6/PN9YKpSZa61daqopvazoq9qBqwlDJH7cdAps6VFb1FoHhXRXU60cNbYNL3P6LezwO9KkSph2HWiHrplOT56npjttFnI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1588692913948265.21219281690003; Tue, 5 May 2020 08:35:13 -0700 (PDT) Received: from localhost ([::1]:56500 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jVzbE-0000iI-FX for importer@patchew.org; Tue, 05 May 2020 11:35:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45986) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jVzVp-0003Lq-MF for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:37 -0400 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:26883 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jVzVl-0007Qk-Kq for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:37 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-335-nXEETCDnO9mp4KZrMeNo6w-1; Tue, 05 May 2020 11:29:30 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 9E522107ACF4; Tue, 5 May 2020 15:29:29 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-113-6.ams2.redhat.com [10.36.113.6]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 68CB35C1BD; Tue, 5 May 2020 15:29:29 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 58C3D11358CA; Tue, 5 May 2020 17:29:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1588692572; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=/KTY1YJwO4io6kj73OhAeYOH0wTKz3YRUEyHY+Q3lGM=; b=YTIevjcM8c5yHWF/93tnCiih4mygP069mqN02DVqrOMVM5fVWA6OhD3VBggr7FlYM2tbx0 HIjEVbAaonU0BR8o2/7q0q2hNw8bQZXVz5yASYErGOGOvSUHiey2UJ723emKwkjXkyoBhw ZxQWuQGSEg0Mt1ztt873vLWzxkaOmYE= X-MC-Unique: nXEETCDnO9mp4KZrMeNo6w-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH v2 13/18] qdev: Clean up qdev_connect_gpio_out_named() Date: Tue, 5 May 2020 17:29:21 +0200 Message-Id: <20200505152926.18877-14-armbru@redhat.com> In-Reply-To: <20200505152926.18877-1-armbru@redhat.com> References: <20200505152926.18877-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.81; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/05 00:37:19 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Crosthwaite , berrange@redhat.com, ehabkost@redhat.com, philmd@redhat.com, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Both qdev_connect_gpio_out_named() and device_set_realized() put objects without a parent into the "/machine/unattached/" orphanage. qdev_connect_gpio_out_named() needs a lengthy comment to explain how it works. It exploits that object_property_add_child() can fail only when we got a parent already, and ignoring that error does what we want. True. If it failed due to "duplicate property", we'd be in trouble, but that would be a programming error. device_set_realized() is cleaner: it checks whether we need a parent, then calls object_property_add_child(), aborting on failure. No need for a comment, and programming errors get caught. Change qdev_connect_gpio_out_named() to match. Cc: Peter Crosthwaite Signed-off-by: Markus Armbruster Reviewed-by: Paolo Bonzini Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/core/qdev.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/hw/core/qdev.c b/hw/core/qdev.c index ea7118ab0e..2e6c29ba78 100644 --- a/hw/core/qdev.c +++ b/hw/core/qdev.c @@ -542,15 +542,12 @@ void qdev_connect_gpio_out_named(DeviceState *dev, co= nst char *name, int n, { char *propname =3D g_strdup_printf("%s[%d]", name ? name : "unnamed-gpio-out", n); - if (pin) { - /* We need a name for object_property_set_link to work. If the - * object has a parent, object_property_add_child will come back - * with an error without doing anything. If it has none, it will - * never fail. So we can just call it with a NULL Error pointer. - */ + if (pin && !OBJECT(pin)->parent) { + /* We need a name for object_property_set_link to work */ object_property_add_child(container_get(qdev_get_machine(), "/unattached"), - "non-qdev-gpio[*]", OBJECT(pin), NULL); + "non-qdev-gpio[*]", OBJECT(pin), + &error_abort); } object_property_set_link(OBJECT(dev), OBJECT(pin), propname, &error_ab= ort); g_free(propname); --=20 2.21.1 From nobody Sat May 18 00:40:21 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1588693733; cv=none; d=zohomail.com; s=zohoarc; b=EPbZleKPk+VEm1yTpksaZPmJZ8RHnUqZXXtHqxFgzCmRUA6BWy29Q2l0kncQaDji35Vm3UwpTEkIOVQSQWR9XaJTVqVnuJIseNL2yHwuDpj25tqkYk6ZncIcWyV5LPzX3iaH5ugE1H0oH4ZxVhqL4R2xJP7+aIsam+ZDU+ozRA0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1588693733; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=yTCF30IzA1tKFPUFSXPXKZ4UHOPLS/J6Vm6bSbh6fK8=; b=Uz485pMZlu9GCHc8TnemoIE3qyWT9Xs/epcbHMpkwyv29N1zeENbxUZabLwuEFliJPgEJwo7/Mkoz8JEb41j9SGiVxbJa+yNbDkJTZ+HJiJh1pI+W+Y6co3n1wlB1XbKgEdr9l2W2uCGQ05kwMy4vm4Xxq4Hv+H+Qo2A/Vx681w= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1588693733860211.20008408740034; Tue, 5 May 2020 08:48:53 -0700 (PDT) Received: from localhost ([::1]:40476 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jVzoS-00018G-5t for importer@patchew.org; Tue, 05 May 2020 11:48:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46102) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jVzW5-0003oz-9H for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:53 -0400 Received: from us-smtp-1.mimecast.com ([205.139.110.61]:53005 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jVzVq-0007Yf-Cr for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:52 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-510-uNu3YZL0PTmR7Uf2FHz2CQ-1; Tue, 05 May 2020 11:29:31 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id B07A018FE861 for ; Tue, 5 May 2020 15:29:30 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-113-6.ams2.redhat.com [10.36.113.6]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 73A6760BF4; Tue, 5 May 2020 15:29:29 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 5F57011358CB; Tue, 5 May 2020 17:29:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1588692577; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=yTCF30IzA1tKFPUFSXPXKZ4UHOPLS/J6Vm6bSbh6fK8=; b=OK8RWDJd0WMuBUmWhuiDZN8lSUPwNmbovndiFVU05M8VDUd3AYQ9AQ5p9+6W82/m9Uqg83 wSq5gcKNsiJLQSjrzk83vwzfi7IbVuoNmZO4MppEbKePIA2UgzGqtyGAGNmRwjxNhhXcg5 s6foSoQiyY+1IWXjfXpTZU89SQTR5+8= X-MC-Unique: uNu3YZL0PTmR7Uf2FHz2CQ-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH v2 14/18] qom: Drop parameter @errp of object_property_add() & friends Date: Tue, 5 May 2020 17:29:22 +0200 Message-Id: <20200505152926.18877-15-armbru@redhat.com> In-Reply-To: <20200505152926.18877-1-armbru@redhat.com> References: <20200505152926.18877-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.61; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/05 00:37:40 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, T_FILL_THIS_FORM_LOAN=0.01 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: pbonzini@redhat.com, berrange@redhat.com, ehabkost@redhat.com, philmd@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" The only way object_property_add() can fail is when a property with the same name already exists. Since our property names are all hardcoded, failure is a programming error, and the appropriate way to handle it is passing &error_abort. Same for its variants, except for object_property_add_child(), which additionally fails when the child already has a parent. Parentage is also under program control, so this is a programming error, too. We have a bit over 500 callers. Almost half of them pass &error_abort, slightly fewer ignore errors, one test case handles errors, and the remaining few callers pass them to their own callers. The previous few commits demonstrated once again that ignoring programming errors is a bad idea. Of the few ones that pass on errors, several violate the Error API. The Error ** argument must be NULL, &error_abort, &error_fatal, or a pointer to a variable containing NULL. Passing an argument of the latter kind twice without clearing it in between is wrong: if the first call sets an error, it no longer points to NULL for the second call. ich9_pm_add_properties(), sparc32_ledma_realize(), sparc32_dma_realize(), xilinx_axidma_realize(), xilinx_enet_realize() are wrong that way. When the one appropriate choice of argument is &error_abort, letting users pick the argument is a bad idea. Drop parameter @errp and assert the preconditions instead. There's one exception to "duplicate property name is a programming error": the way object_property_add() implements the magic (and undocumented) "automatic arrayification". Don't drop @errp there. Instead, rename object_property_add() to object_property_try_add(), and add the obvious wrapper object_property_add(). Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Paolo Bonzini --- include/qom/object.h | 81 +++----- accel/kvm/kvm-all.c | 4 +- accel/tcg/tcg-all.c | 5 +- authz/list.c | 5 +- authz/listfile.c | 6 +- authz/pamacct.c | 3 +- authz/simple.c | 3 +- backends/cryptodev-vhost-user.c | 3 +- backends/cryptodev.c | 2 +- backends/dbus-vmstate.c | 6 +- backends/hostmem-file.c | 11 +- backends/hostmem-memfd.c | 8 +- backends/hostmem.c | 19 +- backends/rng-egd.c | 3 +- backends/rng-random.c | 3 +- backends/rng.c | 3 +- backends/vhost-user.c | 2 +- block/throttle-groups.c | 6 +- bootdevice.c | 8 +- chardev/char-socket.c | 4 +- chardev/char.c | 7 +- crypto/secret.c | 18 +- crypto/tlscreds.c | 12 +- crypto/tlscredsanon.c | 3 +- crypto/tlscredspsk.c | 6 +- crypto/tlscredsx509.c | 9 +- hw/acpi/ich9.c | 23 +-- hw/acpi/pcihp.c | 7 +- hw/acpi/piix4.c | 15 +- hw/arm/allwinner-a10.c | 2 +- hw/arm/allwinner-h3.c | 12 +- hw/arm/armv7m.c | 2 +- hw/arm/aspeed.c | 2 +- hw/arm/aspeed_ast2600.c | 13 +- hw/arm/aspeed_soc.c | 13 +- hw/arm/bcm2835_peripherals.c | 26 +-- hw/arm/bcm2836.c | 16 +- hw/arm/cubieboard.c | 3 +- hw/arm/mcimx6ul-evk.c | 2 +- hw/arm/mcimx7d-sabre.c | 2 +- hw/arm/msf2-soc.c | 3 +- hw/arm/nrf51_soc.c | 3 +- hw/arm/orangepi.c | 3 +- hw/arm/raspi.c | 3 +- hw/arm/sabrelite.c | 2 +- hw/arm/sbsa-ref.c | 5 +- hw/arm/vexpress.c | 4 +- hw/arm/virt.c | 19 +- hw/arm/xilinx_zynq.c | 2 +- hw/arm/xlnx-versal-virt.c | 6 +- hw/arm/xlnx-versal.c | 2 +- hw/arm/xlnx-zcu102.c | 4 +- hw/arm/xlnx-zynqmp.c | 9 +- hw/audio/marvell_88w8618.c | 2 +- hw/audio/pcspk.c | 2 +- hw/core/bus.c | 7 +- hw/core/machine.c | 46 ++--- hw/core/qdev-clock.c | 4 +- hw/core/qdev-properties.c | 9 +- hw/core/qdev.c | 40 ++-- hw/cpu/core.c | 4 +- hw/display/bochs-display.c | 3 +- hw/display/sm501.c | 2 +- hw/display/vga-pci.c | 4 +- hw/display/vhost-user-gpu-pci.c | 3 +- hw/display/vhost-user-gpu.c | 2 +- hw/display/vhost-user-vga.c | 3 +- hw/display/xlnx_dp.c | 7 +- hw/dma/sparc32_dma.c | 10 +- hw/dma/xilinx_axidma.c | 9 +- hw/dma/xlnx-zdma.c | 3 +- hw/gpio/aspeed_gpio.c | 2 +- hw/hyperv/hyperv.c | 2 +- hw/i386/microvm.c | 15 +- hw/i386/pc.c | 12 +- hw/i386/pc_piix.c | 2 +- hw/i386/pc_q35.c | 4 +- hw/i386/pc_sysfw.c | 5 +- hw/i386/x86.c | 8 +- hw/ide/macio.c | 2 +- hw/ide/qdev.c | 2 +- hw/input/vhost-user-input.c | 2 +- hw/intc/apic_common.c | 2 +- hw/intc/s390_flic.c | 4 +- hw/intc/xics.c | 2 +- hw/intc/xive.c | 2 +- hw/ipmi/ipmi.c | 3 +- hw/isa/isa-superio.c | 15 +- hw/isa/lpc_ich9.c | 6 +- hw/mem/nvdimm.c | 4 +- hw/mem/pc-dimm.c | 2 +- hw/microblaze/petalogix_ml605_mmu.c | 6 +- hw/misc/aspeed_sdmc.c | 2 +- hw/misc/edu.c | 3 +- hw/misc/mac_via.c | 4 +- hw/misc/macio/gpio.c | 2 +- hw/misc/macio/macio.c | 4 +- hw/misc/macio/pmu.c | 2 +- hw/misc/pca9552.c | 2 +- hw/misc/tmp105.c | 2 +- hw/misc/tmp421.c | 8 +- hw/net/cadence_gem.c | 3 +- hw/net/can/can_kvaser_pci.c | 2 +- hw/net/can/can_mioe3680_pci.c | 4 +- hw/net/can/can_pcm3680_pci.c | 4 +- hw/net/ne2000-isa.c | 2 +- hw/net/xilinx_axienet.c | 9 +- hw/nios2/10m50_devboard.c | 3 +- hw/nvram/fw_cfg.c | 4 +- hw/pci-host/grackle.c | 2 +- hw/pci-host/i440fx.c | 12 +- hw/pci-host/pnv_phb3_msi.c | 3 +- hw/pci-host/pnv_phb3_pbcq.c | 3 +- hw/pci-host/q35.c | 20 +- hw/pci-host/sabre.c | 2 +- hw/pci-host/uninorth.c | 8 +- hw/pcmcia/pxa2xx.c | 2 +- hw/ppc/e500.c | 8 +- hw/ppc/mac_newworld.c | 4 +- hw/ppc/mac_oldworld.c | 2 +- hw/ppc/pnv.c | 13 +- hw/ppc/pnv_bmc.c | 5 +- hw/ppc/pnv_core.c | 2 +- hw/ppc/pnv_psi.c | 2 +- hw/ppc/prep.c | 6 +- hw/ppc/spapr.c | 25 +-- hw/ppc/spapr_caps.c | 8 +- hw/ppc/spapr_cpu_core.c | 5 +- hw/ppc/spapr_drc.c | 18 +- hw/ppc/spapr_iommu.c | 2 +- hw/ppc/spapr_irq.c | 2 +- hw/ppc/spapr_rtc.c | 2 +- hw/riscv/sifive_u.c | 10 +- hw/riscv/virt.c | 5 +- hw/rtc/mc146818rtc.c | 4 +- hw/s390x/ap-bridge.c | 2 +- hw/s390x/css-bridge.c | 4 +- hw/s390x/event-facility.c | 6 +- hw/s390x/s390-skeys.c | 4 +- hw/s390x/s390-stattrib.c | 4 +- hw/s390x/s390-virtio-ccw.c | 10 +- hw/s390x/sclp.c | 5 +- hw/s390x/tod.c | 2 +- hw/s390x/virtio-ccw-balloon.c | 4 +- hw/s390x/virtio-ccw-blk.c | 2 +- hw/s390x/virtio-ccw-net.c | 2 +- hw/scsi/scsi-bus.c | 2 +- hw/sparc/sun4m.c | 4 +- hw/sparc64/sun4u.c | 2 +- hw/ssi/xilinx_spips.c | 3 +- hw/usb/bus.c | 6 +- hw/usb/dev-storage.c | 2 +- hw/vfio/pci-quirks.c | 6 +- hw/virtio/vhost-scsi-pci.c | 2 +- hw/virtio/vhost-user-blk-pci.c | 2 +- hw/virtio/vhost-user-input-pci.c | 3 +- hw/virtio/vhost-user-scsi-pci.c | 2 +- hw/virtio/virtio-balloon-pci.c | 4 +- hw/virtio/virtio-balloon.c | 4 +- hw/virtio/virtio-blk-pci.c | 2 +- hw/virtio/virtio-net-pci.c | 2 +- hw/virtio/virtio-rng.c | 2 +- hw/xen/xen-common.c | 3 +- iothread.c | 6 +- memory.c | 10 +- net/can/can_host.c | 3 +- net/can/can_socketcan.c | 3 +- net/colo-compare.c | 20 +- net/dump.c | 4 +- net/filter-buffer.c | 2 +- net/filter-mirror.c | 10 +- net/filter-rewriter.c | 2 +- net/filter.c | 15 +- qdev-monitor.c | 4 +- qom/container.c | 2 +- qom/object.c | 302 +++++++++------------------- qom/object_interfaces.c | 5 +- scsi/pr-manager-helper.c | 3 +- softmmu/vl.c | 7 +- target/arm/cpu.c | 11 +- target/arm/cpu64.c | 8 +- target/arm/kvm.c | 2 +- target/i386/cpu.c | 83 ++++---- target/i386/sev.c | 17 +- target/ppc/compat.c | 9 +- target/s390x/cpu.c | 2 +- target/s390x/cpu_models.c | 11 +- tests/check-qom-proplist.c | 29 +-- tests/test-qdev-global-props.c | 4 +- ui/console.c | 7 +- ui/input-barrier.c | 14 +- ui/input-linux.c | 8 +- 192 files changed, 648 insertions(+), 991 deletions(-) diff --git a/include/qom/object.h b/include/qom/object.h index 1f0386a231..990e28e408 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -1036,7 +1036,6 @@ void object_unref(Object *obj); * meant to allow a property to free its opaque upon object * destruction. This may be NULL. * @opaque: an opaque pointer to pass to the callbacks for the property - * @errp: returns an error if this function fails * * Returns: The #ObjectProperty; this can be used to set the @resolve * callback for child and link properties. @@ -1046,7 +1045,7 @@ ObjectProperty *object_property_add(Object *obj, cons= t char *name, ObjectPropertyAccessor *get, ObjectPropertyAccessor *set, ObjectPropertyRelease *release, - void *opaque, Error **errp); + void *opaque); =20 void object_property_del(Object *obj, const char *name, Error **errp); =20 @@ -1055,7 +1054,7 @@ ObjectProperty *object_class_property_add(ObjectClass= *klass, const char *name, ObjectPropertyAccessor *get, ObjectPropertyAccessor *set, ObjectPropertyRelease *release, - void *opaque, Error **errp); + void *opaque); =20 /** * object_property_set_default_bool: @@ -1480,7 +1479,6 @@ Object *object_resolve_path_component(Object *parent,= const char *part); * @obj: the object to add a property to * @name: the name of the property * @child: the child object - * @errp: if an error occurs, a pointer to an area to store the error * * Child properties form the composition tree. All objects need to be a c= hild * of another object. Objects can only be a child of one object. @@ -1495,7 +1493,7 @@ Object *object_resolve_path_component(Object *parent,= const char *part); * Returns: The newly added property on success, or %NULL on failure. */ ObjectProperty *object_property_add_child(Object *obj, const char *name, - Object *child, Error **errp); + Object *child); =20 typedef enum { /* Unref the link pointer when the property is deleted */ @@ -1524,7 +1522,6 @@ void object_property_allow_set_link(const Object *, c= onst char *, * @targetp: a pointer to where the link object reference is stored * @check: callback to veto setting or NULL if the property is read-only * @flags: additional options for the link - * @errp: if an error occurs, a pointer to an area to store the error * * Links establish relationships between objects. Links are unidirectional * although two links can be combined to form a bidirectional relationship @@ -1551,16 +1548,14 @@ ObjectProperty *object_property_add_link(Object *ob= j, const char *name, const char *type, Object **targetp, void (*check)(const Object *obj, const char = *name, Object *val, Error **errp), - ObjectPropertyLinkFlags flags, - Error **errp); + ObjectPropertyLinkFlags flags); =20 ObjectProperty *object_class_property_add_link(ObjectClass *oc, const char *name, const char *type, ptrdiff_t offset, void (*check)(const Object *obj, const char = *name, Object *val, Error **errp), - ObjectPropertyLinkFlags flags, - Error **errp); + ObjectPropertyLinkFlags flags); =20 /** * object_property_add_str: @@ -1569,7 +1564,6 @@ ObjectProperty *object_class_property_add_link(Object= Class *oc, * @get: the getter or NULL if the property is write-only. This function = must * return a string to be freed by g_free(). * @set: the setter or NULL if the property is read-only - * @errp: if an error occurs, a pointer to an area to store the error * * Add a string property using getters/setters. This function will add a * property of type 'string'. @@ -1578,15 +1572,13 @@ ObjectProperty *object_class_property_add_link(Obje= ctClass *oc, */ ObjectProperty *object_property_add_str(Object *obj, const char *name, char *(*get)(Object *, Error **), - void (*set)(Object *, const char *, Error **), - Error **errp); + void (*set)(Object *, const char *, Error **)= ); =20 ObjectProperty *object_class_property_add_str(ObjectClass *klass, const char *name, char *(*get)(Object *, Error **), void (*set)(Object *, const char *, - Error **), - Error **errp); + Error **)); =20 /** * object_property_add_bool: @@ -1594,7 +1586,6 @@ ObjectProperty *object_class_property_add_str(ObjectC= lass *klass, * @name: the name of the property * @get: the getter or NULL if the property is write-only. * @set: the setter or NULL if the property is read-only - * @errp: if an error occurs, a pointer to an area to store the error * * Add a bool property using getters/setters. This function will add a * property of type 'bool'. @@ -1603,14 +1594,12 @@ ObjectProperty *object_class_property_add_str(Objec= tClass *klass, */ ObjectProperty *object_property_add_bool(Object *obj, const char *name, bool (*get)(Object *, Error **), - void (*set)(Object *, bool, Error **), - Error **errp); + void (*set)(Object *, bool, Error **)); =20 ObjectProperty *object_class_property_add_bool(ObjectClass *klass, const char *name, bool (*get)(Object *, Error **), - void (*set)(Object *, bool, Error **), - Error **errp); + void (*set)(Object *, bool, Error **)); =20 /** * object_property_add_enum: @@ -1619,7 +1608,6 @@ ObjectProperty *object_class_property_add_bool(Object= Class *klass, * @typename: the name of the enum data type * @get: the getter or %NULL if the property is write-only. * @set: the setter or %NULL if the property is read-only - * @errp: if an error occurs, a pointer to an area to store the error * * Add an enum property using getters/setters. This function will add a * property of type '@typename'. @@ -1630,23 +1618,20 @@ ObjectProperty *object_property_add_enum(Object *ob= j, const char *name, const char *typename, const QEnumLookup *lookup, int (*get)(Object *, Error **), - void (*set)(Object *, int, Error **), - Error **errp); + void (*set)(Object *, int, Error **)); =20 ObjectProperty *object_class_property_add_enum(ObjectClass *klass, const char *name, const char *typename, const QEnumLookup *lookup, int (*get)(Object *, Error **), - void (*set)(Object *, int, Error **), - Error **errp); + void (*set)(Object *, int, Error **)); =20 /** * object_property_add_tm: * @obj: the object to add a property to * @name: the name of the property * @get: the getter or NULL if the property is write-only. - * @errp: if an error occurs, a pointer to an area to store the error * * Add a read-only struct tm valued property using a getter function. * This function will add a property of type 'struct tm'. @@ -1654,13 +1639,11 @@ ObjectProperty *object_class_property_add_enum(Obje= ctClass *klass, * Returns: The newly added property on success, or %NULL on failure. */ ObjectProperty *object_property_add_tm(Object *obj, const char *name, - void (*get)(Object *, struct tm *, Error **), - Error **errp); + void (*get)(Object *, struct tm *, Error **)); =20 ObjectProperty *object_class_property_add_tm(ObjectClass *klass, - const char *name, - void (*get)(Object *, struct tm *, Error= **), - Error **errp); + const char *name, + void (*get)(Object *, struct tm *, Error **)); =20 typedef enum { /* Automatically add a getter to the property */ @@ -1677,7 +1660,6 @@ typedef enum { * @name: the name of the property * @v: pointer to value * @flags: bitwise-or'd ObjectPropertyFlags - * @errp: if an error occurs, a pointer to an area to store the error * * Add an integer property in memory. This function will add a * property of type 'uint8'. @@ -1685,14 +1667,13 @@ typedef enum { * Returns: The newly added property on success, or %NULL on failure. */ ObjectProperty *object_property_add_uint8_ptr(Object *obj, const char *nam= e, - const uint8_t *v, ObjectPropertyFlags f= lags, - Error **errp); + const uint8_t *v, + ObjectPropertyFlags flags); =20 ObjectProperty *object_class_property_add_uint8_ptr(ObjectClass *klass, const char *name, const uint8_t *v, - ObjectPropertyFlags flags, - Error **errp); + ObjectPropertyFlags flags); =20 /** * object_property_add_uint16_ptr: @@ -1700,7 +1681,6 @@ ObjectProperty *object_class_property_add_uint8_ptr(O= bjectClass *klass, * @name: the name of the property * @v: pointer to value * @flags: bitwise-or'd ObjectPropertyFlags - * @errp: if an error occurs, a pointer to an area to store the error * * Add an integer property in memory. This function will add a * property of type 'uint16'. @@ -1709,14 +1689,12 @@ ObjectProperty *object_class_property_add_uint8_ptr= (ObjectClass *klass, */ ObjectProperty *object_property_add_uint16_ptr(Object *obj, const char *na= me, const uint16_t *v, - ObjectPropertyFlags flags, - Error **errp); + ObjectPropertyFlags flags); =20 ObjectProperty *object_class_property_add_uint16_ptr(ObjectClass *klass, const char *name, const uint16_t *v, - ObjectPropertyFlags flags, - Error **errp); + ObjectPropertyFlags flags); =20 /** * object_property_add_uint32_ptr: @@ -1724,7 +1702,6 @@ ObjectProperty *object_class_property_add_uint16_ptr(= ObjectClass *klass, * @name: the name of the property * @v: pointer to value * @flags: bitwise-or'd ObjectPropertyFlags - * @errp: if an error occurs, a pointer to an area to store the error * * Add an integer property in memory. This function will add a * property of type 'uint32'. @@ -1733,14 +1710,12 @@ ObjectProperty *object_class_property_add_uint16_pt= r(ObjectClass *klass, */ ObjectProperty *object_property_add_uint32_ptr(Object *obj, const char *na= me, const uint32_t *v, - ObjectPropertyFlags flags, - Error **errp); + ObjectPropertyFlags flags); =20 ObjectProperty *object_class_property_add_uint32_ptr(ObjectClass *klass, const char *name, const uint32_t *v, - ObjectPropertyFlags flags, - Error **errp); + ObjectPropertyFlags flags); =20 /** * object_property_add_uint64_ptr: @@ -1748,7 +1723,6 @@ ObjectProperty *object_class_property_add_uint32_ptr(= ObjectClass *klass, * @name: the name of the property * @v: pointer to value * @flags: bitwise-or'd ObjectPropertyFlags - * @errp: if an error occurs, a pointer to an area to store the error * * Add an integer property in memory. This function will add a * property of type 'uint64'. @@ -1757,14 +1731,12 @@ ObjectProperty *object_class_property_add_uint32_pt= r(ObjectClass *klass, */ ObjectProperty *object_property_add_uint64_ptr(Object *obj, const char *na= me, const uint64_t *v, - ObjectPropertyFlags flags, - Error **Errp); + ObjectPropertyFlags flags); =20 ObjectProperty *object_class_property_add_uint64_ptr(ObjectClass *klass, const char *name, const uint64_t *v, - ObjectPropertyFlags flags, - Error **Errp); + ObjectPropertyFlags flags); =20 /** * object_property_add_alias: @@ -1772,7 +1744,6 @@ ObjectProperty *object_class_property_add_uint64_ptr(= ObjectClass *klass, * @name: the name of the property * @target_obj: the object to forward property access to * @target_name: the name of the property on the forwarded object - * @errp: if an error occurs, a pointer to an area to store the error * * Add an alias for a property on an object. This function will add a pro= perty * of the same type as the forwarded property. @@ -1785,15 +1756,13 @@ ObjectProperty *object_class_property_add_uint64_pt= r(ObjectClass *klass, * Returns: The newly added property on success, or %NULL on failure. */ ObjectProperty *object_property_add_alias(Object *obj, const char *name, - Object *target_obj, const char *target_name, - Error **errp); + Object *target_obj, const char *target_name= ); =20 /** * object_property_add_const_link: * @obj: the object to add a property to * @name: the name of the property * @target: the object to be referred by the link - * @errp: if an error occurs, a pointer to an area to store the error * * Add an unmodifiable link for a property on an object. This function wi= ll * add a property of type link where TYPE is the type of @target. @@ -1806,7 +1775,7 @@ ObjectProperty *object_property_add_alias(Object *obj= , const char *name, * Returns: The newly added property on success, or %NULL on failure. */ ObjectProperty *object_property_add_const_link(Object *obj, const char *na= me, - Object *target, Error **errp); + Object *target); =20 /** * object_property_set_description: diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 2fb6099cf2..426b0612cd 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -3075,13 +3075,13 @@ static void kvm_accel_class_init(ObjectClass *oc, v= oid *data) =20 object_class_property_add(oc, "kernel-irqchip", "on|off|split", NULL, kvm_set_kernel_irqchip, - NULL, NULL, &error_abort); + NULL, NULL); object_class_property_set_description(oc, "kernel-irqchip", "Configure KVM in-kernel irqchip"); =20 object_class_property_add(oc, "kvm-shadow-mem", "int", kvm_get_kvm_shadow_mem, kvm_set_kvm_shadow_mem, - NULL, NULL, &error_abort); + NULL, NULL); object_class_property_set_description(oc, "kvm-shadow-mem", "KVM shadow MMU size"); } diff --git a/accel/tcg/tcg-all.c b/accel/tcg/tcg-all.c index 3398a56ef9..3b4fda5640 100644 --- a/accel/tcg/tcg-all.c +++ b/accel/tcg/tcg-all.c @@ -203,12 +203,11 @@ static void tcg_accel_class_init(ObjectClass *oc, voi= d *data) =20 object_class_property_add_str(oc, "thread", tcg_get_thread, - tcg_set_thread, - NULL); + tcg_set_thread); =20 object_class_property_add(oc, "tb-size", "int", tcg_get_tb_size, tcg_set_tb_size, - NULL, NULL, &error_abort); + NULL, NULL); object_class_property_set_description(oc, "tb-size", "TCG translation block cache size"); =20 diff --git a/authz/list.c b/authz/list.c index 5a48074d0a..8e904bfc93 100644 --- a/authz/list.c +++ b/authz/list.c @@ -124,13 +124,12 @@ qauthz_list_class_init(ObjectClass *oc, void *data) "QAuthZListPolicy", &QAuthZListPolicy_lookup, qauthz_list_prop_get_policy, - qauthz_list_prop_set_policy, - NULL); + qauthz_list_prop_set_policy); =20 object_class_property_add(oc, "rules", "QAuthZListRule", qauthz_list_prop_get_rules, qauthz_list_prop_set_rules, - NULL, NULL, NULL); + NULL, NULL); =20 authz->is_allowed =3D qauthz_list_is_allowed; } diff --git a/authz/listfile.c b/authz/listfile.c index b71f57d30a..666df872ad 100644 --- a/authz/listfile.c +++ b/authz/listfile.c @@ -221,12 +221,10 @@ qauthz_list_file_class_init(ObjectClass *oc, void *da= ta) =20 object_class_property_add_str(oc, "filename", qauthz_list_file_prop_get_filename, - qauthz_list_file_prop_set_filename, - NULL); + qauthz_list_file_prop_set_filename); object_class_property_add_bool(oc, "refresh", qauthz_list_file_prop_get_refresh, - qauthz_list_file_prop_set_refresh, - NULL); + qauthz_list_file_prop_set_refresh); =20 authz->is_allowed =3D qauthz_list_file_is_allowed; } diff --git a/authz/pamacct.c b/authz/pamacct.c index a8ad25b6c7..3c6be43916 100644 --- a/authz/pamacct.c +++ b/authz/pamacct.c @@ -107,8 +107,7 @@ qauthz_pam_class_init(ObjectClass *oc, void *data) =20 object_class_property_add_str(oc, "service", qauthz_pam_prop_get_service, - qauthz_pam_prop_set_service, - NULL); + qauthz_pam_prop_set_service); } =20 =20 diff --git a/authz/simple.c b/authz/simple.c index 008912d247..84954b80a5 100644 --- a/authz/simple.c +++ b/authz/simple.c @@ -74,8 +74,7 @@ qauthz_simple_class_init(ObjectClass *oc, void *data) =20 object_class_property_add_str(oc, "identity", qauthz_simple_prop_get_identity, - qauthz_simple_prop_set_identity, - NULL); + qauthz_simple_prop_set_identity); } =20 =20 diff --git a/backends/cryptodev-vhost-user.c b/backends/cryptodev-vhost-use= r.c index 6edada8e9e..8b8cbc4223 100644 --- a/backends/cryptodev-vhost-user.c +++ b/backends/cryptodev-vhost-user.c @@ -340,8 +340,7 @@ static void cryptodev_vhost_user_instance_int(Object *o= bj) { object_property_add_str(obj, "chardev", cryptodev_vhost_user_get_chardev, - cryptodev_vhost_user_set_chardev, - NULL); + cryptodev_vhost_user_set_chardev); } =20 static void cryptodev_vhost_user_finalize(Object *obj) diff --git a/backends/cryptodev.c b/backends/cryptodev.c index 5a9735684e..a3841c4e41 100644 --- a/backends/cryptodev.c +++ b/backends/cryptodev.c @@ -213,7 +213,7 @@ static void cryptodev_backend_instance_init(Object *obj) object_property_add(obj, "queues", "uint32", cryptodev_backend_get_queues, cryptodev_backend_set_queues, - NULL, NULL, NULL); + NULL, NULL); /* Initialize devices' queues property to 1 */ object_property_set_int(obj, 1, "queues", NULL); } diff --git a/backends/dbus-vmstate.c b/backends/dbus-vmstate.c index cc594a722e..56361a6272 100644 --- a/backends/dbus-vmstate.c +++ b/backends/dbus-vmstate.c @@ -481,11 +481,9 @@ dbus_vmstate_class_init(ObjectClass *oc, void *data) vc->get_id =3D dbus_vmstate_get_id; =20 object_class_property_add_str(oc, "addr", - get_dbus_addr, set_dbus_addr, - &error_abort); + get_dbus_addr, set_dbus_addr); object_class_property_add_str(oc, "id-list", - get_id_list, set_id_list, - &error_abort); + get_id_list, set_id_list); } =20 static const TypeInfo dbus_vmstate_info =3D { diff --git a/backends/hostmem-file.c b/backends/hostmem-file.c index c8c355f5aa..cdabb412e6 100644 --- a/backends/hostmem-file.c +++ b/backends/hostmem-file.c @@ -184,18 +184,15 @@ file_backend_class_init(ObjectClass *oc, void *data) oc->unparent =3D file_backend_unparent; =20 object_class_property_add_bool(oc, "discard-data", - file_memory_backend_get_discard_data, file_memory_backend_set_disc= ard_data, - &error_abort); + file_memory_backend_get_discard_data, file_memory_backend_set_disc= ard_data); object_class_property_add_str(oc, "mem-path", - get_mem_path, set_mem_path, - &error_abort); + get_mem_path, set_mem_path); object_class_property_add(oc, "align", "int", file_memory_backend_get_align, file_memory_backend_set_align, - NULL, NULL, &error_abort); + NULL, NULL); object_class_property_add_bool(oc, "pmem", - file_memory_backend_get_pmem, file_memory_backend_set_pmem, - &error_abort); + file_memory_backend_get_pmem, file_memory_backend_set_pmem); } =20 static void file_backend_instance_finalize(Object *o) diff --git a/backends/hostmem-memfd.c b/backends/hostmem-memfd.c index 5991f31459..1b5e4bfe0d 100644 --- a/backends/hostmem-memfd.c +++ b/backends/hostmem-memfd.c @@ -141,21 +141,19 @@ memfd_backend_class_init(ObjectClass *oc, void *data) if (qemu_memfd_check(MFD_HUGETLB)) { object_class_property_add_bool(oc, "hugetlb", memfd_backend_get_hugetlb, - memfd_backend_set_hugetlb, - &error_abort); + memfd_backend_set_hugetlb); object_class_property_set_description(oc, "hugetlb", "Use huge pages"); object_class_property_add(oc, "hugetlbsize", "int", memfd_backend_get_hugetlbsize, memfd_backend_set_hugetlbsize, - NULL, NULL, &error_abort); + NULL, NULL); object_class_property_set_description(oc, "hugetlbsize", "Huge pages size (ex: 2M, 1G= )"); } object_class_property_add_bool(oc, "seal", memfd_backend_get_seal, - memfd_backend_set_seal, - &error_abort); + memfd_backend_set_seal); object_class_property_set_description(oc, "seal", "Seal growing & shrinking"); } diff --git a/backends/hostmem.c b/backends/hostmem.c index 946d176435..4ee4354898 100644 --- a/backends/hostmem.c +++ b/backends/hostmem.c @@ -463,51 +463,50 @@ host_memory_backend_class_init(ObjectClass *oc, void = *data) =20 object_class_property_add_bool(oc, "merge", host_memory_backend_get_merge, - host_memory_backend_set_merge, &error_abort); + host_memory_backend_set_merge); object_class_property_set_description(oc, "merge", "Mark memory as mergeable"); object_class_property_add_bool(oc, "dump", host_memory_backend_get_dump, - host_memory_backend_set_dump, &error_abort); + host_memory_backend_set_dump); object_class_property_set_description(oc, "dump", "Set to 'off' to exclude from core dump"); object_class_property_add_bool(oc, "prealloc", host_memory_backend_get_prealloc, - host_memory_backend_set_prealloc, &error_abort); + host_memory_backend_set_prealloc); object_class_property_set_description(oc, "prealloc", "Preallocate memory"); object_class_property_add(oc, "prealloc-threads", "int", host_memory_backend_get_prealloc_threads, host_memory_backend_set_prealloc_threads, - NULL, NULL, &error_abort); + NULL, NULL); object_class_property_set_description(oc, "prealloc-threads", "Number of CPU threads to use for prealloc"); object_class_property_add(oc, "size", "int", host_memory_backend_get_size, host_memory_backend_set_size, - NULL, NULL, &error_abort); + NULL, NULL); object_class_property_set_description(oc, "size", "Size of the memory region (ex: 500M)"); object_class_property_add(oc, "host-nodes", "int", host_memory_backend_get_host_nodes, host_memory_backend_set_host_nodes, - NULL, NULL, &error_abort); + NULL, NULL); object_class_property_set_description(oc, "host-nodes", "Binds memory to the list of NUMA host nodes"); object_class_property_add_enum(oc, "policy", "HostMemPolicy", &HostMemPolicy_lookup, host_memory_backend_get_policy, - host_memory_backend_set_policy, &error_abort); + host_memory_backend_set_policy); object_class_property_set_description(oc, "policy", "Set the NUMA policy"); object_class_property_add_bool(oc, "share", - host_memory_backend_get_share, host_memory_backend_set_share, - &error_abort); + host_memory_backend_get_share, host_memory_backend_set_share); object_class_property_set_description(oc, "share", "Mark the memory as private to QEMU or shared"); object_class_property_add_bool(oc, "x-use-canonical-path-for-ramblock-= id", host_memory_backend_get_use_canonical_path, - host_memory_backend_set_use_canonical_path, &error_abort); + host_memory_backend_set_use_canonical_path); } =20 static const TypeInfo host_memory_backend_info =3D { diff --git a/backends/rng-egd.c b/backends/rng-egd.c index e380519408..7aaa6ee239 100644 --- a/backends/rng-egd.c +++ b/backends/rng-egd.c @@ -138,8 +138,7 @@ static char *rng_egd_get_chardev(Object *obj, Error **e= rrp) static void rng_egd_init(Object *obj) { object_property_add_str(obj, "chardev", - rng_egd_get_chardev, rng_egd_set_chardev, - NULL); + rng_egd_get_chardev, rng_egd_set_chardev); } =20 static void rng_egd_finalize(Object *obj) diff --git a/backends/rng-random.c b/backends/rng-random.c index a810581393..32998d8ee7 100644 --- a/backends/rng-random.c +++ b/backends/rng-random.c @@ -110,8 +110,7 @@ static void rng_random_init(Object *obj) =20 object_property_add_str(obj, "filename", rng_random_get_filename, - rng_random_set_filename, - NULL); + rng_random_set_filename); =20 s->filename =3D g_strdup("/dev/urandom"); s->fd =3D -1; diff --git a/backends/rng.c b/backends/rng.c index 391888b8b3..597f0ec268 100644 --- a/backends/rng.c +++ b/backends/rng.c @@ -108,8 +108,7 @@ static void rng_backend_init(Object *obj) =20 object_property_add_bool(obj, "opened", rng_backend_prop_get_opened, - rng_backend_prop_set_opened, - NULL); + rng_backend_prop_set_opened); } =20 static void rng_backend_finalize(Object *obj) diff --git a/backends/vhost-user.c b/backends/vhost-user.c index 2bf3406525..9e6e198546 100644 --- a/backends/vhost-user.c +++ b/backends/vhost-user.c @@ -177,7 +177,7 @@ static char *get_chardev(Object *obj, Error **errp) =20 static void vhost_user_backend_init(Object *obj) { - object_property_add_str(obj, "chardev", get_chardev, set_chardev, NULL= ); + object_property_add_str(obj, "chardev", get_chardev, set_chardev); } =20 static void vhost_user_backend_finalize(Object *obj) diff --git a/block/throttle-groups.c b/block/throttle-groups.c index 37695b0cd7..784fa4a16c 100644 --- a/block/throttle-groups.c +++ b/block/throttle-groups.c @@ -954,8 +954,7 @@ static void throttle_group_obj_class_init(ObjectClass *= klass, void *class_data) "int", throttle_group_get, throttle_group_set, - NULL, &properties[i], - &error_abort); + NULL, &properties[i]); } =20 /* ThrottleLimits */ @@ -963,8 +962,7 @@ static void throttle_group_obj_class_init(ObjectClass *= klass, void *class_data) "limits", "ThrottleLimits", throttle_group_get_limits, throttle_group_set_limits, - NULL, NULL, - &error_abort); + NULL, NULL); } =20 static const TypeInfo throttle_group_info =3D { diff --git a/bootdevice.c b/bootdevice.c index 03aaffcc8d..d11576d575 100644 --- a/bootdevice.c +++ b/bootdevice.c @@ -329,7 +329,6 @@ void device_add_bootindex_property(Object *obj, int32_t= *bootindex, const char *name, const char *suffix, DeviceState *dev, Error **errp) { - Error *local_err =3D NULL; BootIndexProperty *prop =3D g_malloc0(sizeof(*prop)); =20 prop->bootindex =3D bootindex; @@ -340,13 +339,8 @@ void device_add_bootindex_property(Object *obj, int32_= t *bootindex, device_get_bootindex, device_set_bootindex, property_release_bootindex, - prop, &local_err); + prop); =20 - if (local_err) { - error_propagate(errp, local_err); - g_free(prop); - return; - } /* initialize devices' bootindex property to -1 */ object_property_set_int(obj, -1, name, NULL); } diff --git a/chardev/char-socket.c b/chardev/char-socket.c index 185fe38dda..232e0a8604 100644 --- a/chardev/char-socket.c +++ b/chardev/char-socket.c @@ -1489,10 +1489,10 @@ static void char_socket_class_init(ObjectClass *oc,= void *data) =20 object_class_property_add(oc, "addr", "SocketAddress", char_socket_get_addr, NULL, - NULL, NULL, &error_abort); + NULL, NULL); =20 object_class_property_add_bool(oc, "connected", char_socket_get_connec= ted, - NULL, &error_abort); + NULL); } =20 static const TypeInfo char_socket_type_info =3D { diff --git a/chardev/char.c b/chardev/char.c index e77564060d..0196e2887b 100644 --- a/chardev/char.c +++ b/chardev/char.c @@ -986,10 +986,7 @@ static Chardev *chardev_new(const char *id, const char= *typename, } =20 if (id) { - object_property_add_child(get_chardevs_root(), id, obj, &local_err= ); - if (local_err) { - goto end; - } + object_property_add_child(get_chardevs_root(), id, obj); object_unref(obj); } =20 @@ -1116,7 +1113,7 @@ ChardevReturn *qmp_chardev_change(const char *id, Cha= rdevBackend *backend, =20 object_unparent(OBJECT(chr)); object_property_add_child(get_chardevs_root(), chr_new->label, - OBJECT(chr_new), &error_abort); + OBJECT(chr_new)); object_unref(OBJECT(chr_new)); =20 ret =3D g_new0(ChardevReturn, 1); diff --git a/crypto/secret.c b/crypto/secret.c index 1cf0ad0ce8..a24379d24a 100644 --- a/crypto/secret.c +++ b/crypto/secret.c @@ -368,30 +368,24 @@ qcrypto_secret_class_init(ObjectClass *oc, void *data) =20 object_class_property_add_bool(oc, "loaded", qcrypto_secret_prop_get_loaded, - qcrypto_secret_prop_set_loaded, - NULL); + qcrypto_secret_prop_set_loaded); object_class_property_add_enum(oc, "format", "QCryptoSecretFormat", &QCryptoSecretFormat_lookup, qcrypto_secret_prop_get_format, - qcrypto_secret_prop_set_format, - NULL); + qcrypto_secret_prop_set_format); object_class_property_add_str(oc, "data", qcrypto_secret_prop_get_data, - qcrypto_secret_prop_set_data, - NULL); + qcrypto_secret_prop_set_data); object_class_property_add_str(oc, "file", qcrypto_secret_prop_get_file, - qcrypto_secret_prop_set_file, - NULL); + qcrypto_secret_prop_set_file); object_class_property_add_str(oc, "keyid", qcrypto_secret_prop_get_keyid, - qcrypto_secret_prop_set_keyid, - NULL); + qcrypto_secret_prop_set_keyid); object_class_property_add_str(oc, "iv", qcrypto_secret_prop_get_iv, - qcrypto_secret_prop_set_iv, - NULL); + qcrypto_secret_prop_set_iv); } =20 =20 diff --git a/crypto/tlscreds.c b/crypto/tlscreds.c index 4e657b850c..b68735f06f 100644 --- a/crypto/tlscreds.c +++ b/crypto/tlscreds.c @@ -226,22 +226,18 @@ qcrypto_tls_creds_class_init(ObjectClass *oc, void *d= ata) { object_class_property_add_bool(oc, "verify-peer", qcrypto_tls_creds_prop_get_verify, - qcrypto_tls_creds_prop_set_verify, - NULL); + qcrypto_tls_creds_prop_set_verify); object_class_property_add_str(oc, "dir", qcrypto_tls_creds_prop_get_dir, - qcrypto_tls_creds_prop_set_dir, - NULL); + qcrypto_tls_creds_prop_set_dir); object_class_property_add_enum(oc, "endpoint", "QCryptoTLSCredsEndpoint", &QCryptoTLSCredsEndpoint_lookup, qcrypto_tls_creds_prop_get_endpoint, - qcrypto_tls_creds_prop_set_endpoint, - NULL); + qcrypto_tls_creds_prop_set_endpoint); object_class_property_add_str(oc, "priority", qcrypto_tls_creds_prop_get_priority, - qcrypto_tls_creds_prop_set_priority, - NULL); + qcrypto_tls_creds_prop_set_priority); } =20 =20 diff --git a/crypto/tlscredsanon.c b/crypto/tlscredsanon.c index a235f60146..fc078d5b97 100644 --- a/crypto/tlscredsanon.c +++ b/crypto/tlscredsanon.c @@ -187,8 +187,7 @@ qcrypto_tls_creds_anon_class_init(ObjectClass *oc, void= *data) =20 object_class_property_add_bool(oc, "loaded", qcrypto_tls_creds_anon_prop_get_loaded, - qcrypto_tls_creds_anon_prop_set_loaded, - NULL); + qcrypto_tls_creds_anon_prop_set_loaded); } =20 =20 diff --git a/crypto/tlscredspsk.c b/crypto/tlscredspsk.c index 15d12e2448..f01b64d8bc 100644 --- a/crypto/tlscredspsk.c +++ b/crypto/tlscredspsk.c @@ -275,12 +275,10 @@ qcrypto_tls_creds_psk_class_init(ObjectClass *oc, voi= d *data) =20 object_class_property_add_bool(oc, "loaded", qcrypto_tls_creds_psk_prop_get_loaded, - qcrypto_tls_creds_psk_prop_set_loaded, - NULL); + qcrypto_tls_creds_psk_prop_set_loaded); object_class_property_add_str(oc, "username", qcrypto_tls_creds_psk_prop_get_username, - qcrypto_tls_creds_psk_prop_set_username, - NULL); + qcrypto_tls_creds_psk_prop_set_username); } =20 =20 diff --git a/crypto/tlscredsx509.c b/crypto/tlscredsx509.c index 53a4368f49..e337d68c4f 100644 --- a/crypto/tlscredsx509.c +++ b/crypto/tlscredsx509.c @@ -806,16 +806,13 @@ qcrypto_tls_creds_x509_class_init(ObjectClass *oc, vo= id *data) =20 object_class_property_add_bool(oc, "loaded", qcrypto_tls_creds_x509_prop_get_loaded, - qcrypto_tls_creds_x509_prop_set_loaded, - NULL); + qcrypto_tls_creds_x509_prop_set_loaded); object_class_property_add_bool(oc, "sanity-check", qcrypto_tls_creds_x509_prop_get_sanity, - qcrypto_tls_creds_x509_prop_set_sanity, - NULL); + qcrypto_tls_creds_x509_prop_set_sanity); object_class_property_add_str(oc, "passwordid", qcrypto_tls_creds_x509_prop_get_password= id, - qcrypto_tls_creds_x509_prop_set_password= id, - NULL); + qcrypto_tls_creds_x509_prop_set_password= id); } =20 =20 diff --git a/hw/acpi/ich9.c b/hw/acpi/ich9.c index 336cacea41..9e4c03bef8 100644 --- a/hw/acpi/ich9.c +++ b/hw/acpi/ich9.c @@ -379,32 +379,27 @@ void ich9_pm_add_properties(Object *obj, ICH9LPCPMReg= s *pm, Error **errp) pm->s4_val =3D 2; =20 object_property_add_uint32_ptr(obj, ACPI_PM_PROP_PM_IO_BASE, - &pm->pm_io_base, OBJ_PROP_FLAG_READ, er= rp); + &pm->pm_io_base, OBJ_PROP_FLAG_READ); object_property_add(obj, ACPI_PM_PROP_GPE0_BLK, "uint32", ich9_pm_get_gpe0_blk, - NULL, NULL, pm, NULL); + NULL, NULL, pm); object_property_add_uint32_ptr(obj, ACPI_PM_PROP_GPE0_BLK_LEN, - &gpe0_len, OBJ_PROP_FLAG_READ, errp); + &gpe0_len, OBJ_PROP_FLAG_READ); object_property_add_bool(obj, "memory-hotplug-support", ich9_pm_get_memory_hotplug_support, - ich9_pm_set_memory_hotplug_support, - NULL); + ich9_pm_set_memory_hotplug_support); object_property_add_bool(obj, "cpu-hotplug-legacy", ich9_pm_get_cpu_hotplug_legacy, - ich9_pm_set_cpu_hotplug_legacy, - NULL); + ich9_pm_set_cpu_hotplug_legacy); object_property_add_uint8_ptr(obj, ACPI_PM_PROP_S3_DISABLED, - &pm->disable_s3, OBJ_PROP_FLAG_READWRITE, - NULL); + &pm->disable_s3, OBJ_PROP_FLAG_READWRITE= ); object_property_add_uint8_ptr(obj, ACPI_PM_PROP_S4_DISABLED, - &pm->disable_s4, OBJ_PROP_FLAG_READWRITE, - NULL); + &pm->disable_s4, OBJ_PROP_FLAG_READWRITE= ); object_property_add_uint8_ptr(obj, ACPI_PM_PROP_S4_VAL, - &pm->s4_val, OBJ_PROP_FLAG_READWRITE, NU= LL); + &pm->s4_val, OBJ_PROP_FLAG_READWRITE); object_property_add_bool(obj, ACPI_PM_PROP_TCO_ENABLED, ich9_pm_get_enable_tco, - ich9_pm_set_enable_tco, - NULL); + ich9_pm_set_enable_tco); } =20 void ich9_pm_device_pre_plug_cb(HotplugHandler *hotplug_dev, DeviceState *= dev, diff --git a/hw/acpi/pcihp.c b/hw/acpi/pcihp.c index 0dc963e983..fbc86af102 100644 --- a/hw/acpi/pcihp.c +++ b/hw/acpi/pcihp.c @@ -80,8 +80,7 @@ static void *acpi_set_bsel(PCIBus *bus, void *opaque) =20 *bus_bsel =3D (*bsel_alloc)++; object_property_add_uint32_ptr(OBJECT(bus), ACPI_PCIHP_PROP_BSEL, - bus_bsel, OBJ_PROP_FLAG_READ, - &error_abort); + bus_bsel, OBJ_PROP_FLAG_READ); } =20 return bsel_alloc; @@ -374,9 +373,9 @@ void acpi_pcihp_init(Object *owner, AcpiPciHpState *s, = PCIBus *root_bus, memory_region_add_subregion(address_space_io, s->io_base, &s->io); =20 object_property_add_uint16_ptr(owner, ACPI_PCIHP_IO_BASE_PROP, &s->io_= base, - OBJ_PROP_FLAG_READ, &error_abort); + OBJ_PROP_FLAG_READ); object_property_add_uint16_ptr(owner, ACPI_PCIHP_IO_LEN_PROP, &s->io_l= en, - OBJ_PROP_FLAG_READ, &error_abort); + OBJ_PROP_FLAG_READ); } =20 const VMStateDescription vmstate_acpi_pcihp_pci_status =3D { diff --git a/hw/acpi/piix4.c b/hw/acpi/piix4.c index 964d6f5990..85c199b30d 100644 --- a/hw/acpi/piix4.c +++ b/hw/acpi/piix4.c @@ -444,17 +444,17 @@ static void piix4_pm_add_propeties(PIIX4PMState *s) static const uint16_t sci_int =3D 9; =20 object_property_add_uint8_ptr(OBJECT(s), ACPI_PM_PROP_ACPI_ENABLE_CMD, - &acpi_enable_cmd, OBJ_PROP_FLAG_READ, NU= LL); + &acpi_enable_cmd, OBJ_PROP_FLAG_READ); object_property_add_uint8_ptr(OBJECT(s), ACPI_PM_PROP_ACPI_DISABLE_CMD, - &acpi_disable_cmd, OBJ_PROP_FLAG_READ, N= ULL); + &acpi_disable_cmd, OBJ_PROP_FLAG_READ); object_property_add_uint32_ptr(OBJECT(s), ACPI_PM_PROP_GPE0_BLK, - &gpe0_blk, OBJ_PROP_FLAG_READ, NULL); + &gpe0_blk, OBJ_PROP_FLAG_READ); object_property_add_uint32_ptr(OBJECT(s), ACPI_PM_PROP_GPE0_BLK_LEN, - &gpe0_blk_len, OBJ_PROP_FLAG_READ, NULL); + &gpe0_blk_len, OBJ_PROP_FLAG_READ); object_property_add_uint16_ptr(OBJECT(s), ACPI_PM_PROP_SCI_INT, - &sci_int, OBJ_PROP_FLAG_READ, NULL); + &sci_int, OBJ_PROP_FLAG_READ); object_property_add_uint32_ptr(OBJECT(s), ACPI_PM_PROP_PM_IO_BASE, - &s->io_base, OBJ_PROP_FLAG_READ, NULL); + &s->io_base, OBJ_PROP_FLAG_READ); } =20 static void piix4_pm_realize(PCIDevice *dev, Error **errp) @@ -598,8 +598,7 @@ static void piix4_acpi_system_hot_add_init(MemoryRegion= *parent, s->cpu_hotplug_legacy =3D true; object_property_add_bool(OBJECT(s), "cpu-hotplug-legacy", piix4_get_cpu_hotplug_legacy, - piix4_set_cpu_hotplug_legacy, - NULL); + piix4_set_cpu_hotplug_legacy); legacy_acpi_cpu_hotplug_init(parent, OBJECT(s), &s->gpe_cpu, PIIX4_CPU_HOTPLUG_IO_BASE); =20 diff --git a/hw/arm/allwinner-a10.c b/hw/arm/allwinner-a10.c index 62a67a3e1a..6e1329a4a2 100644 --- a/hw/arm/allwinner-a10.c +++ b/hw/arm/allwinner-a10.c @@ -178,7 +178,7 @@ static void aw_a10_realize(DeviceState *dev, Error **er= rp) sysbus_mmio_map(SYS_BUS_DEVICE(&s->mmc0), 0, AW_A10_MMC0_BASE); sysbus_connect_irq(SYS_BUS_DEVICE(&s->mmc0), 0, qdev_get_gpio_in(dev, = 32)); object_property_add_alias(OBJECT(s), "sd-bus", OBJECT(&s->mmc0), - "sd-bus", &error_abort); + "sd-bus"); =20 /* RTC */ qdev_init_nofail(DEVICE(&s->rtc)); diff --git a/hw/arm/allwinner-h3.c b/hw/arm/allwinner-h3.c index 9e4ce36093..f10674da5a 100644 --- a/hw/arm/allwinner-h3.c +++ b/hw/arm/allwinner-h3.c @@ -205,9 +205,9 @@ static void allwinner_h3_init(Object *obj) sysbus_init_child_obj(obj, "timer", &s->timer, sizeof(s->timer), TYPE_AW_A10_PIT); object_property_add_alias(obj, "clk0-freq", OBJECT(&s->timer), - "clk0-freq", &error_abort); + "clk0-freq"); object_property_add_alias(obj, "clk1-freq", OBJECT(&s->timer), - "clk1-freq", &error_abort); + "clk1-freq"); =20 sysbus_init_child_obj(obj, "ccu", &s->ccu, sizeof(s->ccu), TYPE_AW_H3_CCU); @@ -221,7 +221,7 @@ static void allwinner_h3_init(Object *obj) sysbus_init_child_obj(obj, "sid", &s->sid, sizeof(s->sid), TYPE_AW_SID); object_property_add_alias(obj, "identifier", OBJECT(&s->sid), - "identifier", &error_abort); + "identifier"); =20 sysbus_init_child_obj(obj, "mmc0", &s->mmc0, sizeof(s->mmc0), TYPE_AW_SDHOST_SUN5I); @@ -232,9 +232,9 @@ static void allwinner_h3_init(Object *obj) sysbus_init_child_obj(obj, "dramc", &s->dramc, sizeof(s->dramc), TYPE_AW_H3_DRAMC); object_property_add_alias(obj, "ram-addr", OBJECT(&s->dramc), - "ram-addr", &error_abort); + "ram-addr"); object_property_add_alias(obj, "ram-size", OBJECT(&s->dramc), - "ram-size", &error_abort); + "ram-size"); =20 sysbus_init_child_obj(obj, "rtc", &s->rtc, sizeof(s->rtc), TYPE_AW_RTC_SUN6I); @@ -366,7 +366,7 @@ static void allwinner_h3_realize(DeviceState *dev, Erro= r **errp) qdev_get_gpio_in(DEVICE(&s->gic), AW_H3_GIC_SPI_MMC= 0)); =20 object_property_add_alias(OBJECT(s), "sd-bus", OBJECT(&s->mmc0), - "sd-bus", &error_abort); + "sd-bus"); =20 /* EMAC */ if (nd_table[0].used) { diff --git a/hw/arm/armv7m.c b/hw/arm/armv7m.c index 7531b97ccd..7da57f56d3 100644 --- a/hw/arm/armv7m.c +++ b/hw/arm/armv7m.c @@ -138,7 +138,7 @@ static void armv7m_instance_init(Object *obj) =20 sysbus_init_child_obj(obj, "nvnic", &s->nvic, sizeof(s->nvic), TYPE_NV= IC); object_property_add_alias(obj, "num-irq", - OBJECT(&s->nvic), "num-irq", &error_abort); + OBJECT(&s->nvic), "num-irq"); =20 for (i =3D 0; i < ARRAY_SIZE(s->bitband); i++) { sysbus_init_child_obj(obj, "bitband[*]", &s->bitband[i], diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c index b9a34cab75..3181cce706 100644 --- a/hw/arm/aspeed.c +++ b/hw/arm/aspeed.c @@ -420,7 +420,7 @@ static void aspeed_machine_class_props_init(ObjectClass= *oc) { object_class_property_add_bool(oc, "execute-in-place", aspeed_get_mmio_exec, - aspeed_set_mmio_exec, &error_abort); + aspeed_set_mmio_exec); object_class_property_set_description(oc, "execute-in-place", "boot directly from CE0 flash device"); } diff --git a/hw/arm/aspeed_ast2600.c b/hw/arm/aspeed_ast2600.c index 1a869e09b9..f958cd6a2e 100644 --- a/hw/arm/aspeed_ast2600.c +++ b/hw/arm/aspeed_ast2600.c @@ -138,11 +138,11 @@ static void aspeed_soc_ast2600_init(Object *obj) qdev_prop_set_uint32(DEVICE(&s->scu), "silicon-rev", sc->silicon_rev); object_property_add_alias(obj, "hw-strap1", OBJECT(&s->scu), - "hw-strap1", &error_abort); + "hw-strap1"); object_property_add_alias(obj, "hw-strap2", OBJECT(&s->scu), - "hw-strap2", &error_abort); + "hw-strap2"); object_property_add_alias(obj, "hw-prot-key", OBJECT(&s->scu), - "hw-prot-key", &error_abort); + "hw-prot-key"); =20 sysbus_init_child_obj(obj, "a7mpcore", &s->a7mpcore, sizeof(s->a7mpcore), TYPE_A15MPCORE_PRIV); @@ -161,8 +161,7 @@ static void aspeed_soc_ast2600_init(Object *obj) snprintf(typename, sizeof(typename), "aspeed.fmc-%s", socname); sysbus_init_child_obj(obj, "fmc", OBJECT(&s->fmc), sizeof(s->fmc), typename); - object_property_add_alias(obj, "num-cs", OBJECT(&s->fmc), "num-cs", - &error_abort); + object_property_add_alias(obj, "num-cs", OBJECT(&s->fmc), "num-cs"); =20 for (i =3D 0; i < sc->spis_num; i++) { snprintf(typename, sizeof(typename), "aspeed.spi%d-%s", i + 1, soc= name); @@ -179,9 +178,9 @@ static void aspeed_soc_ast2600_init(Object *obj) sysbus_init_child_obj(obj, "sdmc", OBJECT(&s->sdmc), sizeof(s->sdmc), typename); object_property_add_alias(obj, "ram-size", OBJECT(&s->sdmc), - "ram-size", &error_abort); + "ram-size"); object_property_add_alias(obj, "max-ram-size", OBJECT(&s->sdmc), - "max-ram-size", &error_abort); + "max-ram-size"); =20 for (i =3D 0; i < sc->wdts_num; i++) { snprintf(typename, sizeof(typename), "aspeed.wdt-%s", socname); diff --git a/hw/arm/aspeed_soc.c b/hw/arm/aspeed_soc.c index 696c7fda14..cf6b6dd116 100644 --- a/hw/arm/aspeed_soc.c +++ b/hw/arm/aspeed_soc.c @@ -153,11 +153,11 @@ static void aspeed_soc_init(Object *obj) qdev_prop_set_uint32(DEVICE(&s->scu), "silicon-rev", sc->silicon_rev); object_property_add_alias(obj, "hw-strap1", OBJECT(&s->scu), - "hw-strap1", &error_abort); + "hw-strap1"); object_property_add_alias(obj, "hw-strap2", OBJECT(&s->scu), - "hw-strap2", &error_abort); + "hw-strap2"); object_property_add_alias(obj, "hw-prot-key", OBJECT(&s->scu), - "hw-prot-key", &error_abort); + "hw-prot-key"); =20 sysbus_init_child_obj(obj, "vic", OBJECT(&s->vic), sizeof(s->vic), TYPE_ASPEED_VIC); @@ -176,8 +176,7 @@ static void aspeed_soc_init(Object *obj) snprintf(typename, sizeof(typename), "aspeed.fmc-%s", socname); sysbus_init_child_obj(obj, "fmc", OBJECT(&s->fmc), sizeof(s->fmc), typename); - object_property_add_alias(obj, "num-cs", OBJECT(&s->fmc), "num-cs", - &error_abort); + object_property_add_alias(obj, "num-cs", OBJECT(&s->fmc), "num-cs"); =20 for (i =3D 0; i < sc->spis_num; i++) { snprintf(typename, sizeof(typename), "aspeed.spi%d-%s", i + 1, soc= name); @@ -194,9 +193,9 @@ static void aspeed_soc_init(Object *obj) sysbus_init_child_obj(obj, "sdmc", OBJECT(&s->sdmc), sizeof(s->sdmc), typename); object_property_add_alias(obj, "ram-size", OBJECT(&s->sdmc), - "ram-size", &error_abort); + "ram-size"); object_property_add_alias(obj, "max-ram-size", OBJECT(&s->sdmc), - "max-ram-size", &error_abort); + "max-ram-size"); =20 for (i =3D 0; i < sc->wdts_num; i++) { snprintf(typename, sizeof(typename), "aspeed.wdt-%s", socname); diff --git a/hw/arm/bcm2835_peripherals.c b/hw/arm/bcm2835_peripherals.c index 8b399d67ff..f1bcc14f55 100644 --- a/hw/arm/bcm2835_peripherals.c +++ b/hw/arm/bcm2835_peripherals.c @@ -74,26 +74,25 @@ static void bcm2835_peripherals_init(Object *obj) TYPE_BCM2835_MBOX); =20 object_property_add_const_link(OBJECT(&s->mboxes), "mbox-mr", - OBJECT(&s->mbox_mr), &error_abort); + OBJECT(&s->mbox_mr)); =20 /* Framebuffer */ sysbus_init_child_obj(obj, "fb", &s->fb, sizeof(s->fb), TYPE_BCM2835_F= B); - object_property_add_alias(obj, "vcram-size", OBJECT(&s->fb), "vcram-si= ze", - &error_abort); + object_property_add_alias(obj, "vcram-size", OBJECT(&s->fb), "vcram-si= ze"); =20 object_property_add_const_link(OBJECT(&s->fb), "dma-mr", - OBJECT(&s->gpu_bus_mr), &error_abort); + OBJECT(&s->gpu_bus_mr)); =20 /* Property channel */ sysbus_init_child_obj(obj, "property", &s->property, sizeof(s->propert= y), TYPE_BCM2835_PROPERTY); object_property_add_alias(obj, "board-rev", OBJECT(&s->property), - "board-rev", &error_abort); + "board-rev"); =20 object_property_add_const_link(OBJECT(&s->property), "fb", - OBJECT(&s->fb), &error_abort); + OBJECT(&s->fb)); object_property_add_const_link(OBJECT(&s->property), "dma-mr", - OBJECT(&s->gpu_bus_mr), &error_abort); + OBJECT(&s->gpu_bus_mr)); =20 /* Random Number Generator */ sysbus_init_child_obj(obj, "rng", &s->rng, sizeof(s->rng), @@ -112,7 +111,7 @@ static void bcm2835_peripherals_init(Object *obj) TYPE_BCM2835_DMA); =20 object_property_add_const_link(OBJECT(&s->dma), "dma-mr", - OBJECT(&s->gpu_bus_mr), &error_abort); + OBJECT(&s->gpu_bus_mr)); =20 /* Thermal */ sysbus_init_child_obj(obj, "thermal", &s->thermal, sizeof(s->thermal), @@ -123,9 +122,9 @@ static void bcm2835_peripherals_init(Object *obj) TYPE_BCM2835_GPIO); =20 object_property_add_const_link(OBJECT(&s->gpio), "sdbus-sdhci", - OBJECT(&s->sdhci.sdbus), &error_abort); + OBJECT(&s->sdhci.sdbus)); object_property_add_const_link(OBJECT(&s->gpio), "sdbus-sdhost", - OBJECT(&s->sdhost.sdbus), &error_abort); + OBJECT(&s->sdhost.sdbus)); } =20 static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp) @@ -359,12 +358,7 @@ static void bcm2835_peripherals_realize(DeviceState *d= ev, Error **errp) memory_region_add_subregion(&s->peri_mr, GPIO_OFFSET, sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->gpio), 0)); =20 - object_property_add_alias(OBJECT(s), "sd-bus", OBJECT(&s->gpio), "sd-b= us", - &err); - if (err) { - error_propagate(errp, err); - return; - } + object_property_add_alias(OBJECT(s), "sd-bus", OBJECT(&s->gpio), "sd-b= us"); =20 create_unimp(s, &s->armtmr, "bcm2835-sp804", ARMCTRL_TIMER0_1_OFFSET, = 0x40); create_unimp(s, &s->cprman, "bcm2835-cprman", CPRMAN_OFFSET, 0x1000); diff --git a/hw/arm/bcm2836.c b/hw/arm/bcm2836.c index 43022b83f5..e51b4e0c43 100644 --- a/hw/arm/bcm2836.c +++ b/hw/arm/bcm2836.c @@ -63,9 +63,9 @@ static void bcm2836_init(Object *obj) sysbus_init_child_obj(obj, "peripherals", &s->peripherals, sizeof(s->peripherals), TYPE_BCM2835_PERIPHERALS= ); object_property_add_alias(obj, "board-rev", OBJECT(&s->peripherals), - "board-rev", &error_abort); + "board-rev"); object_property_add_alias(obj, "vcram-size", OBJECT(&s->peripherals), - "vcram-size", &error_abort); + "vcram-size"); } =20 static void bcm2836_realize(DeviceState *dev, Error **errp) @@ -86,11 +86,7 @@ static void bcm2836_realize(DeviceState *dev, Error **er= rp) return; } =20 - object_property_add_const_link(OBJECT(&s->peripherals), "ram", obj, &e= rr); - if (err) { - error_propagate(errp, err); - return; - } + object_property_add_const_link(OBJECT(&s->peripherals), "ram", obj); =20 object_property_set_bool(OBJECT(&s->peripherals), true, "realized", &e= rr); if (err) { @@ -99,11 +95,7 @@ static void bcm2836_realize(DeviceState *dev, Error **er= rp) } =20 object_property_add_alias(OBJECT(s), "sd-bus", OBJECT(&s->peripherals), - "sd-bus", &err); - if (err) { - error_propagate(errp, err); - return; - } + "sd-bus"); =20 sysbus_mmio_map_overlap(SYS_BUS_DEVICE(&s->peripherals), 0, info->peri_base, 1); diff --git a/hw/arm/cubieboard.c b/hw/arm/cubieboard.c index 0b8ba44976..cd1b6d3e19 100644 --- a/hw/arm/cubieboard.c +++ b/hw/arm/cubieboard.c @@ -59,8 +59,7 @@ static void cubieboard_init(MachineState *machine) } =20 a10 =3D AW_A10(object_new(TYPE_AW_A10)); - object_property_add_child(OBJECT(machine), "soc", OBJECT(a10), - &error_abort); + object_property_add_child(OBJECT(machine), "soc", OBJECT(a10)); object_unref(OBJECT(a10)); =20 object_property_set_int(OBJECT(&a10->emac), 1, "phy-addr", &err); diff --git a/hw/arm/mcimx6ul-evk.c b/hw/arm/mcimx6ul-evk.c index 23a71ed378..5b5f23a6d4 100644 --- a/hw/arm/mcimx6ul-evk.c +++ b/hw/arm/mcimx6ul-evk.c @@ -39,7 +39,7 @@ static void mcimx6ul_evk_init(MachineState *machine) }; =20 s =3D FSL_IMX6UL(object_new(TYPE_FSL_IMX6UL)); - object_property_add_child(OBJECT(machine), "soc", OBJECT(s), &error_fa= tal); + object_property_add_child(OBJECT(machine), "soc", OBJECT(s)); object_property_set_bool(OBJECT(s), true, "realized", &error_fatal); =20 memory_region_add_subregion(get_system_memory(), FSL_IMX6UL_MMDC_ADDR, diff --git a/hw/arm/mcimx7d-sabre.c b/hw/arm/mcimx7d-sabre.c index de1e264217..3851cd9e3e 100644 --- a/hw/arm/mcimx7d-sabre.c +++ b/hw/arm/mcimx7d-sabre.c @@ -41,7 +41,7 @@ static void mcimx7d_sabre_init(MachineState *machine) }; =20 s =3D FSL_IMX7(object_new(TYPE_FSL_IMX7)); - object_property_add_child(OBJECT(machine), "soc", OBJECT(s), &error_fa= tal); + object_property_add_child(OBJECT(machine), "soc", OBJECT(s)); object_property_set_bool(OBJECT(s), true, "realized", &error_fatal); =20 memory_region_add_subregion(get_system_memory(), FSL_IMX7_MMDC_ADDR, diff --git a/hw/arm/msf2-soc.c b/hw/arm/msf2-soc.c index a455b8831f..f4579e5a08 100644 --- a/hw/arm/msf2-soc.c +++ b/hw/arm/msf2-soc.c @@ -197,8 +197,7 @@ static void m2sxxx_soc_realize(DeviceState *dev_soc, Er= ror **errp) /* Alias controller SPI bus to the SoC itself */ bus_name =3D g_strdup_printf("spi%d", i); object_property_add_alias(OBJECT(s), bus_name, - OBJECT(&s->spi[i]), "spi", - &error_abort); + OBJECT(&s->spi[i]), "spi"); g_free(bus_name); } =20 diff --git a/hw/arm/nrf51_soc.c b/hw/arm/nrf51_soc.c index 57eff63f0d..940d28a36b 100644 --- a/hw/arm/nrf51_soc.c +++ b/hw/arm/nrf51_soc.c @@ -192,8 +192,7 @@ static void nrf51_soc_init(Object *obj) =20 sysbus_init_child_obj(obj, "uart", &s->uart, sizeof(s->uart), TYPE_NRF51_UART); - object_property_add_alias(obj, "serial0", OBJECT(&s->uart), "chardev", - &error_abort); + object_property_add_alias(obj, "serial0", OBJECT(&s->uart), "chardev"); =20 sysbus_init_child_obj(obj, "rng", &s->rng, sizeof(s->rng), TYPE_NRF51_RNG); diff --git a/hw/arm/orangepi.c b/hw/arm/orangepi.c index a9f64c5680..b291715f27 100644 --- a/hw/arm/orangepi.c +++ b/hw/arm/orangepi.c @@ -59,8 +59,7 @@ static void orangepi_init(MachineState *machine) } =20 h3 =3D AW_H3(object_new(TYPE_AW_H3)); - object_property_add_child(OBJECT(machine), "soc", OBJECT(h3), - &error_abort); + object_property_add_child(OBJECT(machine), "soc", OBJECT(h3)); object_unref(OBJECT(h3)); =20 /* Setup timer properties */ diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c index fe3b9bc78b..a2efe0b94d 100644 --- a/hw/arm/raspi.c +++ b/hw/arm/raspi.c @@ -284,8 +284,7 @@ static void raspi_machine_init(MachineState *machine) /* Setup the SOC */ object_initialize_child(OBJECT(machine), "soc", &s->soc, sizeof(s->soc= ), board_soc_type(board_rev), &error_abort, NULL); - object_property_add_const_link(OBJECT(&s->soc), "ram", OBJECT(machine-= >ram), - &error_abort); + object_property_add_const_link(OBJECT(&s->soc), "ram", OBJECT(machine-= >ram)); object_property_set_int(OBJECT(&s->soc), board_rev, "board-rev", &error_abort); object_property_set_bool(OBJECT(&s->soc), true, "realized", &error_abo= rt); diff --git a/hw/arm/sabrelite.c b/hw/arm/sabrelite.c index e31694bb92..6f0e233d77 100644 --- a/hw/arm/sabrelite.c +++ b/hw/arm/sabrelite.c @@ -51,7 +51,7 @@ static void sabrelite_init(MachineState *machine) } =20 s =3D FSL_IMX6(object_new(TYPE_FSL_IMX6)); - object_property_add_child(OBJECT(machine), "soc", OBJECT(s), &error_fa= tal); + object_property_add_child(OBJECT(machine), "soc", OBJECT(s)); object_property_set_bool(OBJECT(s), true, "realized", &err); if (err !=3D NULL) { error_report("%s", error_get_pretty(err)); diff --git a/hw/arm/sbsa-ref.c b/hw/arm/sbsa-ref.c index 8409ba853d..a6cdb4fb7b 100644 --- a/hw/arm/sbsa-ref.c +++ b/hw/arm/sbsa-ref.c @@ -222,10 +222,9 @@ static PFlashCFI01 *sbsa_flash_create1(SBSAMachineStat= e *sms, qdev_prop_set_uint16(dev, "id2", 0x00); qdev_prop_set_uint16(dev, "id3", 0x00); qdev_prop_set_string(dev, "name", name); - object_property_add_child(OBJECT(sms), name, OBJECT(dev), - &error_abort); + object_property_add_child(OBJECT(sms), name, OBJECT(dev)); object_property_add_alias(OBJECT(sms), alias_prop_name, - OBJECT(dev), "drive", &error_abort); + OBJECT(dev), "drive"); return PFLASH_CFI01(dev); } =20 diff --git a/hw/arm/vexpress.c b/hw/arm/vexpress.c index 5372ab6c9b..69ee4988f9 100644 --- a/hw/arm/vexpress.c +++ b/hw/arm/vexpress.c @@ -749,7 +749,7 @@ static void vexpress_instance_init(Object *obj) /* EL3 is enabled by default on vexpress */ vms->secure =3D true; object_property_add_bool(obj, "secure", vexpress_get_secure, - vexpress_set_secure, NULL); + vexpress_set_secure); object_property_set_description(obj, "secure", "Set on/off to enable/disable the ARM " "Security Extensions (TrustZone)"); @@ -765,7 +765,7 @@ static void vexpress_a15_instance_init(Object *obj) */ vms->virt =3D true; object_property_add_bool(obj, "virtualization", vexpress_get_virt, - vexpress_set_virt, NULL); + vexpress_set_virt); object_property_set_description(obj, "virtualization", "Set on/off to enable/disable the ARM " "Virtualization Extensions " diff --git a/hw/arm/virt.c b/hw/arm/virt.c index e9c6b9a340..eed9818342 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -959,10 +959,9 @@ static PFlashCFI01 *virt_flash_create1(VirtMachineStat= e *vms, qdev_prop_set_uint16(dev, "id2", 0x00); qdev_prop_set_uint16(dev, "id3", 0x00); qdev_prop_set_string(dev, "name", name); - object_property_add_child(OBJECT(vms), name, OBJECT(dev), - &error_abort); + object_property_add_child(OBJECT(vms), name, OBJECT(dev)); object_property_add_alias(OBJECT(vms), alias_prop_name, - OBJECT(dev), "drive", &error_abort); + OBJECT(dev), "drive"); return PFLASH_CFI01(dev); } =20 @@ -2256,7 +2255,7 @@ static void virt_machine_class_init(ObjectClass *oc, = void *data) =20 object_class_property_add(oc, "acpi", "OnOffAuto", virt_get_acpi, virt_set_acpi, - NULL, NULL, &error_abort); + NULL, NULL); object_class_property_set_description(oc, "acpi", "Enable ACPI"); } @@ -2272,7 +2271,7 @@ static void virt_instance_init(Object *obj) */ vms->secure =3D false; object_property_add_bool(obj, "secure", virt_get_secure, - virt_set_secure, NULL); + virt_set_secure); object_property_set_description(obj, "secure", "Set on/off to enable/disable the ARM " "Security Extensions (TrustZone)"); @@ -2280,7 +2279,7 @@ static void virt_instance_init(Object *obj) /* EL2 is also disabled by default, for similar reasons */ vms->virt =3D false; object_property_add_bool(obj, "virtualization", virt_get_virt, - virt_set_virt, NULL); + virt_set_virt); object_property_set_description(obj, "virtualization", "Set on/off to enable/disable emulatin= g a " "guest CPU which implements the ARM " @@ -2289,13 +2288,13 @@ static void virt_instance_init(Object *obj) /* High memory is enabled by default */ vms->highmem =3D true; object_property_add_bool(obj, "highmem", virt_get_highmem, - virt_set_highmem, NULL); + virt_set_highmem); object_property_set_description(obj, "highmem", "Set on/off to enable/disable using " "physical address space above 32 bits"= ); vms->gic_version =3D VIRT_GIC_VERSION_NOSEL; object_property_add_str(obj, "gic-version", virt_get_gic_version, - virt_set_gic_version, NULL); + virt_set_gic_version); object_property_set_description(obj, "gic-version", "Set GIC version. " "Valid values are 2, 3, host and max"); @@ -2308,7 +2307,7 @@ static void virt_instance_init(Object *obj) /* Default allows ITS instantiation */ vms->its =3D true; object_property_add_bool(obj, "its", virt_get_its, - virt_set_its, NULL); + virt_set_its); object_property_set_description(obj, "its", "Set on/off to enable/disable " "ITS instantiation"); @@ -2316,7 +2315,7 @@ static void virt_instance_init(Object *obj) =20 /* Default disallows iommu instantiation */ vms->iommu =3D VIRT_IOMMU_NONE; - object_property_add_str(obj, "iommu", virt_get_iommu, virt_set_iommu, = NULL); + object_property_add_str(obj, "iommu", virt_get_iommu, virt_set_iommu); object_property_set_description(obj, "iommu", "Set the IOMMU type. " "Valid values are none and smmuv3"); diff --git a/hw/arm/xilinx_zynq.c b/hw/arm/xilinx_zynq.c index 91b498dd5d..cb933efb49 100644 --- a/hw/arm/xilinx_zynq.c +++ b/hw/arm/xilinx_zynq.c @@ -229,7 +229,7 @@ static void zynq_init(MachineState *machine) /* Create the main clock source, and feed slcr with it */ zynq_machine->ps_clk =3D CLOCK(object_new(TYPE_CLOCK)); object_property_add_child(OBJECT(zynq_machine), "ps_clk", - OBJECT(zynq_machine->ps_clk), &error_abort); + OBJECT(zynq_machine->ps_clk)); object_unref(OBJECT(zynq_machine->ps_clk)); clock_set_hz(zynq_machine->ps_clk, PS_CLK_FREQUENCY); qdev_connect_clock_in(slcr, "ps_clk", zynq_machine->ps_clk); diff --git a/hw/arm/xlnx-versal-virt.c b/hw/arm/xlnx-versal-virt.c index 7e749e1926..43a71e2eea 100644 --- a/hw/arm/xlnx-versal-virt.c +++ b/hw/arm/xlnx-versal-virt.c @@ -433,8 +433,7 @@ static void create_virtio_regions(VersalVirt *s) =20 pic_irq =3D qdev_get_gpio_in(DEVICE(&s->soc.fpd.apu.gic), irq); dev =3D qdev_create(NULL, "virtio-mmio"); - object_property_add_child(OBJECT(&s->soc), name, OBJECT(dev), - &error_fatal); + object_property_add_child(OBJECT(&s->soc), name, OBJECT(dev)); qdev_init_nofail(dev); sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, pic_irq); mr =3D sysbus_mmio_get_region(SYS_BUS_DEVICE(dev), 0); @@ -465,8 +464,7 @@ static void sd_plugin_card(SDHCIState *sd, DriveInfo *d= i) DeviceState *card; =20 card =3D qdev_create(qdev_get_child_bus(DEVICE(sd), "sd-bus"), TYPE_SD= _CARD); - object_property_add_child(OBJECT(sd), "card[*]", OBJECT(card), - &error_fatal); + object_property_add_child(OBJECT(sd), "card[*]", OBJECT(card)); qdev_prop_set_drive(card, "drive", blk, &error_fatal); object_property_set_bool(OBJECT(card), true, "realized", &error_fatal); } diff --git a/hw/arm/xlnx-versal.c b/hw/arm/xlnx-versal.c index 321171bcce..809a31390f 100644 --- a/hw/arm/xlnx-versal.c +++ b/hw/arm/xlnx-versal.c @@ -309,7 +309,7 @@ static void versal_unimp_area(Versal *s, const char *na= me, =20 qdev_prop_set_string(dev, "name", name); qdev_prop_set_uint64(dev, "size", size); - object_property_add_child(OBJECT(s), name, OBJECT(dev), &error_fatal); + object_property_add_child(OBJECT(s), name, OBJECT(dev)); qdev_init_nofail(dev); =20 mr_dev =3D sysbus_mmio_get_region(SYS_BUS_DEVICE(dev), 0); diff --git a/hw/arm/xlnx-zcu102.c b/hw/arm/xlnx-zcu102.c index 808fdae804..b01e575b58 100644 --- a/hw/arm/xlnx-zcu102.c +++ b/hw/arm/xlnx-zcu102.c @@ -209,7 +209,7 @@ static void xlnx_zcu102_machine_instance_init(Object *o= bj) /* Default to secure mode being disabled */ s->secure =3D false; object_property_add_bool(obj, "secure", zcu102_get_secure, - zcu102_set_secure, NULL); + zcu102_set_secure); object_property_set_description(obj, "secure", "Set on/off to enable/disable the ARM " "Security Extensions (TrustZone)"); @@ -217,7 +217,7 @@ static void xlnx_zcu102_machine_instance_init(Object *o= bj) /* Default to virt (EL2) being disabled */ s->virt =3D false; object_property_add_bool(obj, "virtualization", zcu102_get_virt, - zcu102_set_virt, NULL); + zcu102_set_virt); object_property_set_description(obj, "virtualization", "Set on/off to enable/disable emulatin= g a " "guest CPU which implements the ARM " diff --git a/hw/arm/xlnx-zynqmp.c b/hw/arm/xlnx-zynqmp.c index b84d153d56..f08abf60d7 100644 --- a/hw/arm/xlnx-zynqmp.c +++ b/hw/arm/xlnx-zynqmp.c @@ -554,8 +554,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error= **errp) =20 /* Alias controller SD bus to the SoC itself */ bus_name =3D g_strdup_printf("sd-bus%d", i); - object_property_add_alias(OBJECT(s), bus_name, sdhci, "sd-bus", - &error_abort); + object_property_add_alias(OBJECT(s), bus_name, sdhci, "sd-bus"); g_free(bus_name); } =20 @@ -575,8 +574,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error= **errp) /* Alias controller SPI bus to the SoC itself */ bus_name =3D g_strdup_printf("spi%d", i); object_property_add_alias(OBJECT(s), bus_name, - OBJECT(&s->spi[i]), "spi0", - &error_abort); + OBJECT(&s->spi[i]), "spi0"); g_free(bus_name); } =20 @@ -597,8 +595,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error= **errp) bus_name =3D g_strdup_printf("qspi%d", i); target_bus =3D g_strdup_printf("spi%d", i); object_property_add_alias(OBJECT(s), bus_name, - OBJECT(&s->qspi), target_bus, - &error_abort); + OBJECT(&s->qspi), target_bus); g_free(bus_name); g_free(target_bus); } diff --git a/hw/audio/marvell_88w8618.c b/hw/audio/marvell_88w8618.c index 883ef74c8b..8dfacec693 100644 --- a/hw/audio/marvell_88w8618.c +++ b/hw/audio/marvell_88w8618.c @@ -259,7 +259,7 @@ static void mv88w8618_audio_init(Object *obj) object_property_add_link(OBJECT(dev), "wm8750", TYPE_WM8750, (Object **) &s->wm, qdev_prop_allow_set_link_before_realize, - 0, &error_abort); + 0); } =20 static void mv88w8618_audio_realize(DeviceState *dev, Error **errp) diff --git a/hw/audio/pcspk.c b/hw/audio/pcspk.c index 29dc00bf8d..c37a387861 100644 --- a/hw/audio/pcspk.c +++ b/hw/audio/pcspk.c @@ -175,7 +175,7 @@ static void pcspk_initfn(Object *obj) object_property_add_link(obj, "pit", TYPE_PIT_COMMON, (Object **)&s->pit, qdev_prop_allow_set_link_before_realize, - 0, &error_abort); + 0); } =20 static void pcspk_realizefn(DeviceState *dev, Error **errp) diff --git a/hw/core/bus.c b/hw/core/bus.c index 3dc0a825f0..4a57ae107e 100644 --- a/hw/core/bus.c +++ b/hw/core/bus.c @@ -122,7 +122,7 @@ static void qbus_realize(BusState *bus, DeviceState *pa= rent, const char *name) if (bus->parent) { QLIST_INSERT_HEAD(&bus->parent->child_bus, bus, sibling); bus->parent->num_child_bus++; - object_property_add_child(OBJECT(bus->parent), bus->name, OBJECT(b= us), NULL); + object_property_add_child(OBJECT(bus->parent), bus->name, OBJECT(b= us)); object_unref(OBJECT(bus)); } else { /* The only bus without a parent is the main system bus */ @@ -215,10 +215,9 @@ static void qbus_initfn(Object *obj) TYPE_HOTPLUG_HANDLER, (Object **)&bus->hotplug_handler, object_property_allow_set_link, - 0, - NULL); + 0); object_property_add_bool(obj, "realized", - bus_get_realized, bus_set_realized, NULL); + bus_get_realized, bus_set_realized); } =20 static char *default_bus_get_fw_dev_path(DeviceState *dev) diff --git a/hw/core/machine.c b/hw/core/machine.c index 39310acf36..135b422608 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -784,82 +784,78 @@ static void machine_class_init(ObjectClass *oc, void = *data) mc->numa_auto_assign_ram =3D numa_default_auto_assign_ram; =20 object_class_property_add_str(oc, "kernel", - machine_get_kernel, machine_set_kernel, &error_abort); + machine_get_kernel, machine_set_kernel); object_class_property_set_description(oc, "kernel", "Linux kernel image file"); =20 object_class_property_add_str(oc, "initrd", - machine_get_initrd, machine_set_initrd, &error_abort); + machine_get_initrd, machine_set_initrd); object_class_property_set_description(oc, "initrd", "Linux initial ramdisk file"); =20 object_class_property_add_str(oc, "append", - machine_get_append, machine_set_append, &error_abort); + machine_get_append, machine_set_append); object_class_property_set_description(oc, "append", "Linux kernel command line"); =20 object_class_property_add_str(oc, "dtb", - machine_get_dtb, machine_set_dtb, &error_abort); + machine_get_dtb, machine_set_dtb); object_class_property_set_description(oc, "dtb", "Linux kernel device tree file"); =20 object_class_property_add_str(oc, "dumpdtb", - machine_get_dumpdtb, machine_set_dumpdtb, &error_abort); + machine_get_dumpdtb, machine_set_dumpdtb); object_class_property_set_description(oc, "dumpdtb", "Dump current dtb to a file and quit"); =20 object_class_property_add(oc, "phandle-start", "int", machine_get_phandle_start, machine_set_phandle_start, - NULL, NULL, &error_abort); + NULL, NULL); object_class_property_set_description(oc, "phandle-start", "The first phandle ID we may generate dynamically"); =20 object_class_property_add_str(oc, "dt-compatible", - machine_get_dt_compatible, machine_set_dt_compatible, &error_abort= ); + machine_get_dt_compatible, machine_set_dt_compatible); object_class_property_set_description(oc, "dt-compatible", "Overrides the \"compatible\" property of the dt root node"); =20 object_class_property_add_bool(oc, "dump-guest-core", - machine_get_dump_guest_core, machine_set_dump_guest_core, &error_a= bort); + machine_get_dump_guest_core, machine_set_dump_guest_core); object_class_property_set_description(oc, "dump-guest-core", "Include guest memory in a core dump"); =20 object_class_property_add_bool(oc, "mem-merge", - machine_get_mem_merge, machine_set_mem_merge, &error_abort); + machine_get_mem_merge, machine_set_mem_merge); object_class_property_set_description(oc, "mem-merge", "Enable/disable memory merge support"); =20 object_class_property_add_bool(oc, "usb", - machine_get_usb, machine_set_usb, &error_abort); + machine_get_usb, machine_set_usb); object_class_property_set_description(oc, "usb", "Set on/off to enable/disable usb"); =20 object_class_property_add_bool(oc, "graphics", - machine_get_graphics, machine_set_graphics, &error_abort); + machine_get_graphics, machine_set_graphics); object_class_property_set_description(oc, "graphics", "Set on/off to enable/disable graphics emulation"); =20 object_class_property_add_str(oc, "firmware", - machine_get_firmware, machine_set_firmware, - &error_abort); + machine_get_firmware, machine_set_firmware); object_class_property_set_description(oc, "firmware", "Firmware image"); =20 object_class_property_add_bool(oc, "suppress-vmdesc", - machine_get_suppress_vmdesc, machine_set_suppress_vmdesc, - &error_abort); + machine_get_suppress_vmdesc, machine_set_suppress_vmdesc); object_class_property_set_description(oc, "suppress-vmdesc", "Set on to disable self-describing migration"); =20 object_class_property_add_bool(oc, "enforce-config-section", - machine_get_enforce_config_section, machine_set_enforce_config_sec= tion, - &error_abort); + machine_get_enforce_config_section, machine_set_enforce_config_sec= tion); object_class_property_set_description(oc, "enforce-config-section", "Set on to enforce configuration section migration"); =20 object_class_property_add_str(oc, "memory-encryption", - machine_get_memory_encryption, machine_set_memory_encryption, - &error_abort); + machine_get_memory_encryption, machine_set_memory_encryption); object_class_property_set_description(oc, "memory-encryption", "Set memory encryption object to use"); } @@ -890,16 +886,14 @@ static void machine_initfn(Object *obj) =20 ms->nvdimms_state =3D g_new0(NVDIMMState, 1); object_property_add_bool(obj, "nvdimm", - machine_get_nvdimm, machine_set_nvdimm, - &error_abort); + machine_get_nvdimm, machine_set_nvdimm); object_property_set_description(obj, "nvdimm", "Set on/off to enable/disable " "NVDIMM instantiation"); =20 object_property_add_str(obj, "nvdimm-persistence", machine_get_nvdimm_persistence, - machine_set_nvdimm_persistence, - &error_abort); + machine_set_nvdimm_persistence); object_property_set_description(obj, "nvdimm-persistence", "Set NVDIMM persistence" "Valid values are cpu, mem-ctrl"); @@ -908,8 +902,7 @@ static void machine_initfn(Object *obj) if (mc->cpu_index_to_instance_props && mc->get_default_cpu_node_id) { ms->numa_state =3D g_new0(NumaState, 1); object_property_add_bool(obj, "hmat", - machine_get_hmat, machine_set_hmat, - &error_abort); + machine_get_hmat, machine_set_hmat); object_property_set_description(obj, "hmat", "Set on/off to enable/disable " "ACPI Heterogeneous Memory Attribu= te " @@ -917,8 +910,7 @@ static void machine_initfn(Object *obj) } =20 object_property_add_str(obj, "memory-backend", - machine_get_memdev, machine_set_memdev, - &error_abort); + machine_get_memdev, machine_set_memdev); object_property_set_description(obj, "memory-backend", "Set RAM backend" "Valid value is ID of hostmem based ba= ckend"); diff --git a/hw/core/qdev-clock.c b/hw/core/qdev-clock.c index a94cc44437..5cc1e82e51 100644 --- a/hw/core/qdev-clock.c +++ b/hw/core/qdev-clock.c @@ -46,7 +46,7 @@ static NamedClockList *qdev_init_clocklist(DeviceState *d= ev, const char *name, */ if (clk =3D=3D NULL) { clk =3D CLOCK(object_new(TYPE_CLOCK)); - object_property_add_child(OBJECT(dev), name, OBJECT(clk), &error_a= bort); + object_property_add_child(OBJECT(dev), name, OBJECT(clk)); if (output) { /* * Remove object_new()'s initial reference. @@ -59,7 +59,7 @@ static NamedClockList *qdev_init_clocklist(DeviceState *d= ev, const char *name, object_property_add_link(OBJECT(dev), name, object_get_typename(OBJECT(clk)), (Object **) &ncl->clock, - NULL, OBJ_PROP_LINK_STRONG, &error_abort); + NULL, OBJ_PROP_LINK_STRONG); } =20 ncl->clock =3D clk; diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c index 2047114fca..2f294ec4a4 100644 --- a/hw/core/qdev-properties.c +++ b/hw/core/qdev-properties.c @@ -1043,11 +1043,7 @@ static void set_prop_arraylen(Object *obj, Visitor *= v, const char *name, arrayprop->prop.info->get, arrayprop->prop.info->set, array_element_release, - arrayprop, &local_err); - if (local_err) { - error_propagate(errp, local_err); - return; - } + arrayprop); } } =20 @@ -1259,8 +1255,7 @@ static void create_link_property(ObjectClass *oc, Pro= perty *prop, Error **errp) object_class_property_add_link(oc, prop->name, prop->link_type, prop->offset, qdev_prop_allow_set_link_before_realize, - OBJ_PROP_LINK_STRONG, - errp); + OBJ_PROP_LINK_STRONG); } =20 const PropertyInfo qdev_prop_link =3D { diff --git a/hw/core/qdev.c b/hw/core/qdev.c index 2e6c29ba78..3f91bff712 100644 --- a/hw/core/qdev.c +++ b/hw/core/qdev.c @@ -91,8 +91,7 @@ static void bus_add_child(BusState *bus, DeviceState *chi= ld) object_get_typename(OBJECT(child)), (Object **)&kid->child, NULL, /* read-only property */ - 0, /* return ownership on prop deletion */ - NULL); + 0); } =20 void qdev_set_parent_bus(DeviceState *dev, BusState *bus) @@ -481,7 +480,7 @@ void qdev_init_gpio_in_named_with_opaque(DeviceState *d= ev, gchar *propname =3D g_strdup_printf("%s[%u]", name, i); =20 object_property_add_child(OBJECT(dev), propname, - OBJECT(gpio_list->in[i]), &error_abort); + OBJECT(gpio_list->in[i])); g_free(propname); } =20 @@ -512,8 +511,7 @@ void qdev_init_gpio_out_named(DeviceState *dev, qemu_ir= q *pins, object_property_add_link(OBJECT(dev), propname, TYPE_IRQ, (Object **)&pins[i], object_property_allow_set_link, - OBJ_PROP_LINK_STRONG, - &error_abort); + OBJ_PROP_LINK_STRONG); g_free(propname); } gpio_list->num_out +=3D n; @@ -546,8 +544,7 @@ void qdev_connect_gpio_out_named(DeviceState *dev, cons= t char *name, int n, /* We need a name for object_property_set_link to work */ object_property_add_child(container_get(qdev_get_machine(), "/unattached"), - "non-qdev-gpio[*]", OBJECT(pin), - &error_abort); + "non-qdev-gpio[*]", OBJECT(pin)); } object_property_set_link(OBJECT(dev), OBJECT(pin), propname, &error_ab= ort); g_free(propname); @@ -605,8 +602,7 @@ void qdev_pass_gpios(DeviceState *dev, DeviceState *con= tainer, char *propname =3D g_strdup_printf("%s[%d]", nm, i); =20 object_property_add_alias(OBJECT(container), propname, - OBJECT(dev), propname, - &error_abort); + OBJECT(dev), propname); g_free(propname); } for (i =3D 0; i < ngl->num_out; i++) { @@ -614,8 +610,7 @@ void qdev_pass_gpios(DeviceState *dev, DeviceState *con= tainer, char *propname =3D g_strdup_printf("%s[%d]", nm, i); =20 object_property_add_alias(OBJECT(container), propname, - OBJECT(dev), propname, - &error_abort); + OBJECT(dev), propname); g_free(propname); } QLIST_REMOVE(ngl, node); @@ -756,7 +751,7 @@ static void qdev_class_add_legacy_property(DeviceClass = *dc, Property *prop) name =3D g_strdup_printf("legacy-%s", prop->name); object_class_property_add(OBJECT_CLASS(dc), name, "str", prop->info->print ? qdev_get_legacy_property : prop->info->get, - NULL, NULL, prop, &error_abort); + NULL, NULL, prop); } =20 void qdev_property_add_static(DeviceState *dev, Property *prop) @@ -769,7 +764,7 @@ void qdev_property_add_static(DeviceState *dev, Propert= y *prop) op =3D object_property_add(obj, prop->name, prop->info->name, prop->info->get, prop->info->set, prop->info->release, - prop, &error_abort); + prop); =20 object_property_set_description(obj, prop->name, prop->info->description); @@ -795,7 +790,7 @@ static void qdev_class_add_property(DeviceClass *klass,= Property *prop) prop->name, prop->info->name, prop->info->get, prop->info->set, prop->info->release, - prop, &error_abort); + prop); if (prop->set_default) { prop->info->set_default_value(op, prop); } @@ -818,8 +813,7 @@ void qdev_alias_all_properties(DeviceState *target, Obj= ect *source) =20 for (prop =3D dc->props_; prop && prop->name; prop++) { object_property_add_alias(source, prop->name, - OBJECT(target), prop->name, - &error_abort); + OBJECT(target), prop->name); } class =3D object_class_get_parent(class); } while (class !=3D object_class_by_name(TYPE_DEVICE)); @@ -871,7 +865,7 @@ static void device_set_realized(Object *obj, bool value= , Error **errp) =20 object_property_add_child(container_get(qdev_get_machine(), "/unattached"), - name, obj, &error_abort); + name, obj); unattached_parent =3D true; g_free(name); } @@ -1198,17 +1192,13 @@ static void device_class_init(ObjectClass *class, v= oid *data) rc->get_transitional_function =3D device_get_transitional_reset; =20 object_class_property_add_bool(class, "realized", - device_get_realized, device_set_realize= d, - &error_abort); + device_get_realized, device_set_realize= d); object_class_property_add_bool(class, "hotpluggable", - device_get_hotpluggable, NULL, - &error_abort); + device_get_hotpluggable, NULL); object_class_property_add_bool(class, "hotplugged", - device_get_hotplugged, NULL, - &error_abort); + device_get_hotplugged, NULL); object_class_property_add_link(class, "parent_bus", TYPE_BUS, - offsetof(DeviceState, parent_bus), NULL= , 0, - &error_abort); + offsetof(DeviceState, parent_bus), NULL= , 0); } =20 void device_class_set_props(DeviceClass *dc, Property *props) diff --git a/hw/cpu/core.c b/hw/cpu/core.c index 9874c5c870..a92ac597ca 100644 --- a/hw/cpu/core.c +++ b/hw/cpu/core.c @@ -76,9 +76,9 @@ static void cpu_core_instance_init(Object *obj) CPUCore *core =3D CPU_CORE(obj); =20 object_property_add(obj, "core-id", "int", core_prop_get_core_id, - core_prop_set_core_id, NULL, NULL, NULL); + core_prop_set_core_id, NULL, NULL); object_property_add(obj, "nr-threads", "int", core_prop_get_nr_threads, - core_prop_set_nr_threads, NULL, NULL, NULL); + core_prop_set_nr_threads, NULL, NULL); core->nr_threads =3D ms->smp.threads; } =20 diff --git a/hw/display/bochs-display.c b/hw/display/bochs-display.c index e763a0a72d..a8e8ab8325 100644 --- a/hw/display/bochs-display.c +++ b/hw/display/bochs-display.c @@ -333,8 +333,7 @@ static void bochs_display_init(Object *obj) /* Expose framebuffer byteorder via QOM */ object_property_add_bool(obj, "big-endian-framebuffer", bochs_display_get_big_endian_fb, - bochs_display_set_big_endian_fb, - NULL); + bochs_display_set_big_endian_fb); =20 dev->cap_present |=3D QEMU_PCI_CAP_EXPRESS; } diff --git a/hw/display/sm501.c b/hw/display/sm501.c index de0ab9d977..296cd56c4a 100644 --- a/hw/display/sm501.c +++ b/hw/display/sm501.c @@ -2011,7 +2011,7 @@ static void sm501_sysbus_init(Object *o) qdev_prop_set_uint8(DEVICE(smm), "endianness", DEVICE_LITTLE_ENDIAN); =20 object_property_add_alias(o, "chardev", - OBJECT(smm), "chardev", &error_abort); + OBJECT(smm), "chardev"); } =20 static const TypeInfo sm501_sysbus_info =3D { diff --git a/hw/display/vga-pci.c b/hw/display/vga-pci.c index 6b9db86e36..a640fd866d 100644 --- a/hw/display/vga-pci.c +++ b/hw/display/vga-pci.c @@ -270,7 +270,7 @@ static void pci_std_vga_init(Object *obj) { /* Expose framebuffer byteorder via QOM */ object_property_add_bool(obj, "big-endian-framebuffer", - vga_get_big_endian_fb, vga_set_big_endian_fb,= NULL); + vga_get_big_endian_fb, vga_set_big_endian_fb); } =20 static void pci_secondary_vga_realize(PCIDevice *dev, Error **errp) @@ -321,7 +321,7 @@ static void pci_secondary_vga_init(Object *obj) { /* Expose framebuffer byteorder via QOM */ object_property_add_bool(obj, "big-endian-framebuffer", - vga_get_big_endian_fb, vga_set_big_endian_fb,= NULL); + vga_get_big_endian_fb, vga_set_big_endian_fb); } =20 static void pci_secondary_vga_reset(DeviceState *dev) diff --git a/hw/display/vhost-user-gpu-pci.c b/hw/display/vhost-user-gpu-pc= i.c index 7d9b1f5a8c..23ce655e0f 100644 --- a/hw/display/vhost-user-gpu-pci.c +++ b/hw/display/vhost-user-gpu-pci.c @@ -32,8 +32,7 @@ static void vhost_user_gpu_pci_initfn(Object *obj) VIRTIO_GPU_PCI_BASE(obj)->vgpu =3D VIRTIO_GPU_BASE(&dev->vdev); =20 object_property_add_alias(obj, "chardev", - OBJECT(&dev->vdev), "chardev", - &error_abort); + OBJECT(&dev->vdev), "chardev"); } =20 static const VirtioPCIDeviceTypeInfo vhost_user_gpu_pci_info =3D { diff --git a/hw/display/vhost-user-gpu.c b/hw/display/vhost-user-gpu.c index f0c7c6fb9a..4cdaee1bde 100644 --- a/hw/display/vhost-user-gpu.c +++ b/hw/display/vhost-user-gpu.c @@ -512,7 +512,7 @@ vhost_user_gpu_instance_init(Object *obj) =20 g->vhost =3D VHOST_USER_BACKEND(object_new(TYPE_VHOST_USER_BACKEND)); object_property_add_alias(obj, "chardev", - OBJECT(g->vhost), "chardev", &error_abort); + OBJECT(g->vhost), "chardev"); } =20 static void diff --git a/hw/display/vhost-user-vga.c b/hw/display/vhost-user-vga.c index a7195276d9..1690f6b610 100644 --- a/hw/display/vhost-user-vga.c +++ b/hw/display/vhost-user-vga.c @@ -33,8 +33,7 @@ static void vhost_user_vga_inst_initfn(Object *obj) VIRTIO_VGA_BASE(dev)->vgpu =3D VIRTIO_GPU_BASE(&dev->vdev); =20 object_property_add_alias(obj, "chardev", - OBJECT(&dev->vdev), "chardev", - &error_abort); + OBJECT(&dev->vdev), "chardev"); } =20 static const VirtioPCIDeviceTypeInfo vhost_user_vga_info =3D { diff --git a/hw/display/xlnx_dp.c b/hw/display/xlnx_dp.c index 7058443797..3e5fb44e06 100644 --- a/hw/display/xlnx_dp.c +++ b/hw/display/xlnx_dp.c @@ -1237,8 +1237,7 @@ static void xlnx_dp_init(Object *obj) object_property_add_link(obj, "dpdma", TYPE_XLNX_DPDMA, (Object **) &s->dpdma, xlnx_dp_set_dpdma, - OBJ_PROP_LINK_STRONG, - &error_abort); + OBJ_PROP_LINK_STRONG); =20 /* * Initialize AUX Bus. @@ -1249,11 +1248,11 @@ static void xlnx_dp_init(Object *obj) * Initialize DPCD and EDID.. */ s->dpcd =3D DPCD(aux_create_slave(s->aux_bus, "dpcd")); - object_property_add_child(OBJECT(s), "dpcd", OBJECT(s->dpcd), NULL); + object_property_add_child(OBJECT(s), "dpcd", OBJECT(s->dpcd)); =20 s->edid =3D I2CDDC(qdev_create(BUS(aux_get_i2c_bus(s->aux_bus)), "i2c-= ddc")); i2c_set_slave_address(I2C_SLAVE(s->edid), 0x50); - object_property_add_child(OBJECT(s), "edid", OBJECT(s->edid), NULL); + object_property_add_child(OBJECT(s), "edid", OBJECT(s->edid)); =20 fifo8_create(&s->rx_fifo, 16); fifo8_create(&s->tx_fifo, 16); diff --git a/hw/dma/sparc32_dma.c b/hw/dma/sparc32_dma.c index 3e4da0c47f..84b9c5dc77 100644 --- a/hw/dma/sparc32_dma.c +++ b/hw/dma/sparc32_dma.c @@ -264,7 +264,7 @@ static void sparc32_dma_device_init(Object *obj) object_property_add_link(OBJECT(dev), "iommu", TYPE_SUN4M_IOMMU, (Object **) &s->iommu, qdev_prop_allow_set_link_before_realize, - 0, NULL); + 0); =20 qdev_init_gpio_in(dev, dma_set_irq, 1); qdev_init_gpio_out(dev, s->gpio, 2); @@ -302,7 +302,7 @@ static void sparc32_espdma_device_realize(DeviceState *= dev, Error **errp) ESPState *esp; =20 d =3D qdev_create(NULL, TYPE_ESP); - object_property_add_child(OBJECT(dev), "esp", OBJECT(d), errp); + object_property_add_child(OBJECT(dev), "esp", OBJECT(d)); sysbus =3D ESP_STATE(d); esp =3D &sysbus->esp; esp->dma_memory_read =3D espdma_memory_read; @@ -344,7 +344,7 @@ static void sparc32_ledma_device_realize(DeviceState *d= ev, Error **errp) qemu_check_nic_model(nd, TYPE_LANCE); =20 d =3D qdev_create(NULL, TYPE_LANCE); - object_property_add_child(OBJECT(dev), "lance", OBJECT(d), errp); + object_property_add_child(OBJECT(dev), "lance", OBJECT(d)); qdev_set_nic_properties(d, nd); object_property_set_link(OBJECT(d), OBJECT(dev), "dma", errp); qdev_init_nofail(d); @@ -380,7 +380,7 @@ static void sparc32_dma_realize(DeviceState *dev, Error= **errp) =20 espdma =3D qdev_create(NULL, TYPE_SPARC32_ESPDMA_DEVICE); object_property_set_link(OBJECT(espdma), iommu, "iommu", errp); - object_property_add_child(OBJECT(s), "espdma", OBJECT(espdma), errp); + object_property_add_child(OBJECT(s), "espdma", OBJECT(espdma)); qdev_init_nofail(espdma); =20 esp =3D DEVICE(object_resolve_path_component(OBJECT(espdma), "esp")); @@ -395,7 +395,7 @@ static void sparc32_dma_realize(DeviceState *dev, Error= **errp) =20 ledma =3D qdev_create(NULL, TYPE_SPARC32_LEDMA_DEVICE); object_property_set_link(OBJECT(ledma), iommu, "iommu", errp); - object_property_add_child(OBJECT(s), "ledma", OBJECT(ledma), errp); + object_property_add_child(OBJECT(s), "ledma", OBJECT(ledma)); qdev_init_nofail(ledma); =20 lance =3D DEVICE(object_resolve_path_component(OBJECT(ledma), "lance")= ); diff --git a/hw/dma/xilinx_axidma.c b/hw/dma/xilinx_axidma.c index 018f36991b..08396d7942 100644 --- a/hw/dma/xilinx_axidma.c +++ b/hw/dma/xilinx_axidma.c @@ -529,16 +529,11 @@ static void xilinx_axidma_realize(DeviceState *dev, E= rror **errp) object_property_add_link(OBJECT(ds), "dma", TYPE_XILINX_AXI_DMA, (Object **)&ds->dma, object_property_allow_set_link, - OBJ_PROP_LINK_STRONG, - &local_err); + OBJ_PROP_LINK_STRONG); object_property_add_link(OBJECT(cs), "dma", TYPE_XILINX_AXI_DMA, (Object **)&cs->dma, object_property_allow_set_link, - OBJ_PROP_LINK_STRONG, - &local_err); - if (local_err) { - goto xilinx_axidma_realize_fail; - } + OBJ_PROP_LINK_STRONG); object_property_set_link(OBJECT(ds), OBJECT(s), "dma", &local_err); object_property_set_link(OBJECT(cs), OBJECT(s), "dma", &local_err); if (local_err) { diff --git a/hw/dma/xlnx-zdma.c b/hw/dma/xlnx-zdma.c index 2dec4a2643..fa38a55634 100644 --- a/hw/dma/xlnx-zdma.c +++ b/hw/dma/xlnx-zdma.c @@ -799,8 +799,7 @@ static void zdma_init(Object *obj) object_property_add_link(obj, "dma", TYPE_MEMORY_REGION, (Object **)&s->dma_mr, qdev_prop_allow_set_link_before_realize, - OBJ_PROP_LINK_STRONG, - &error_abort); + OBJ_PROP_LINK_STRONG); } =20 static const VMStateDescription vmstate_zdma =3D { diff --git a/hw/gpio/aspeed_gpio.c b/hw/gpio/aspeed_gpio.c index e52fcfd9a0..61b6c22cb0 100644 --- a/hw/gpio/aspeed_gpio.c +++ b/hw/gpio/aspeed_gpio.c @@ -873,7 +873,7 @@ static void aspeed_gpio_init(Object *obj) name =3D g_strdup_printf("gpio%s%d", props->group_label[group_idx], pin_idx % GPIOS_PER_GROUP); object_property_add(obj, name, "bool", aspeed_gpio_get_pin, - aspeed_gpio_set_pin, NULL, NULL, NULL); + aspeed_gpio_set_pin, NULL, NULL); g_free(name); } } diff --git a/hw/hyperv/hyperv.c b/hw/hyperv/hyperv.c index 8ca3706f5b..940d049b44 100644 --- a/hw/hyperv/hyperv.c +++ b/hw/hyperv/hyperv.c @@ -130,7 +130,7 @@ void hyperv_synic_add(CPUState *cs) obj =3D object_new(TYPE_SYNIC); synic =3D SYNIC(obj); synic->cs =3D cs; - object_property_add_child(OBJECT(cs), "synic", obj, &error_abort); + object_property_add_child(OBJECT(cs), "synic", obj); object_unref(obj); object_property_set_bool(obj, true, "realized", &error_abort); } diff --git a/hw/i386/microvm.c b/hw/i386/microvm.c index 76aaa7a8d8..937db10ae6 100644 --- a/hw/i386/microvm.c +++ b/hw/i386/microvm.c @@ -510,42 +510,39 @@ static void microvm_class_init(ObjectClass *oc, void = *data) object_class_property_add(oc, MICROVM_MACHINE_PIC, "OnOffAuto", microvm_machine_get_pic, microvm_machine_set_pic, - NULL, NULL, &error_abort); + NULL, NULL); object_class_property_set_description(oc, MICROVM_MACHINE_PIC, "Enable i8259 PIC"); =20 object_class_property_add(oc, MICROVM_MACHINE_PIT, "OnOffAuto", microvm_machine_get_pit, microvm_machine_set_pit, - NULL, NULL, &error_abort); + NULL, NULL); object_class_property_set_description(oc, MICROVM_MACHINE_PIT, "Enable i8254 PIT"); =20 object_class_property_add(oc, MICROVM_MACHINE_RTC, "OnOffAuto", microvm_machine_get_rtc, microvm_machine_set_rtc, - NULL, NULL, &error_abort); + NULL, NULL); object_class_property_set_description(oc, MICROVM_MACHINE_RTC, "Enable MC146818 RTC"); =20 object_class_property_add_bool(oc, MICROVM_MACHINE_ISA_SERIAL, microvm_machine_get_isa_serial, - microvm_machine_set_isa_serial, - &error_abort); + microvm_machine_set_isa_serial); object_class_property_set_description(oc, MICROVM_MACHINE_ISA_SERIAL, "Set off to disable the instantiation an ISA serial port"); =20 object_class_property_add_bool(oc, MICROVM_MACHINE_OPTION_ROMS, microvm_machine_get_option_roms, - microvm_machine_set_option_roms, - &error_abort); + microvm_machine_set_option_roms); object_class_property_set_description(oc, MICROVM_MACHINE_OPTION_ROMS, "Set off to disable loading option ROMs"); =20 object_class_property_add_bool(oc, MICROVM_MACHINE_AUTO_KERNEL_CMDLINE, microvm_machine_get_auto_kernel_cmdline, - microvm_machine_set_auto_kernel_cmdline, - &error_abort); + microvm_machine_set_auto_kernel_cmdline= ); object_class_property_set_description(oc, MICROVM_MACHINE_AUTO_KERNEL_CMDLINE, "Set off to disable adding virtio-mmio devices to the kernel cmdli= ne"); diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 37c16de1df..da78589b37 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -659,7 +659,7 @@ void pc_cmos_init(PCMachineState *pcms, TYPE_ISA_DEVICE, (Object **)&x86ms->rtc, object_property_allow_set_link, - OBJ_PROP_LINK_STRONG, &error_abort); + OBJ_PROP_LINK_STRONG); object_property_set_link(OBJECT(pcms), OBJECT(s), "rtc_state", &error_abort); =20 @@ -1962,22 +1962,22 @@ static void pc_machine_class_init(ObjectClass *oc, = void *data) =20 object_class_property_add(oc, PC_MACHINE_DEVMEM_REGION_SIZE, "int", pc_machine_get_device_memory_region_size, NULL, - NULL, NULL, &error_abort); + NULL, NULL); =20 object_class_property_add(oc, PC_MACHINE_VMPORT, "OnOffAuto", pc_machine_get_vmport, pc_machine_set_vmport, - NULL, NULL, &error_abort); + NULL, NULL); object_class_property_set_description(oc, PC_MACHINE_VMPORT, "Enable vmport (pc & q35)"); =20 object_class_property_add_bool(oc, PC_MACHINE_SMBUS, - pc_machine_get_smbus, pc_machine_set_smbus, &error_abort); + pc_machine_get_smbus, pc_machine_set_smbus); =20 object_class_property_add_bool(oc, PC_MACHINE_SATA, - pc_machine_get_sata, pc_machine_set_sata, &error_abort); + pc_machine_get_sata, pc_machine_set_sata); =20 object_class_property_add_bool(oc, PC_MACHINE_PIT, - pc_machine_get_pit, pc_machine_set_pit, &error_abort); + pc_machine_get_pit, pc_machine_set_pit); } =20 static const TypeInfo pc_machine_info =3D { diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index b75087d71b..30e400abd1 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -291,7 +291,7 @@ static void pc_init1(MachineState *machine, TYPE_HOTPLUG_HANDLER, (Object **)&pcms->acpi_dev, object_property_allow_set_link, - OBJ_PROP_LINK_STRONG, &error_abort); + OBJ_PROP_LINK_STRONG); object_property_set_link(OBJECT(machine), OBJECT(piix4_pm), PC_MACHINE_ACPI_DEVICE_PROP, &error_abort= ); } diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index d2806c1b29..b43074699c 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -214,7 +214,7 @@ static void pc_q35_init(MachineState *machine) /* create pci host bus */ q35_host =3D Q35_HOST_DEVICE(qdev_create(NULL, TYPE_Q35_HOST_DEVICE)); =20 - object_property_add_child(qdev_get_machine(), "q35", OBJECT(q35_host),= NULL); + object_property_add_child(qdev_get_machine(), "q35", OBJECT(q35_host)); object_property_set_link(OBJECT(q35_host), OBJECT(ram_memory), MCH_HOST_PROP_RAM_MEM, NULL); object_property_set_link(OBJECT(q35_host), OBJECT(pci_memory), @@ -240,7 +240,7 @@ static void pc_q35_init(MachineState *machine) TYPE_HOTPLUG_HANDLER, (Object **)&pcms->acpi_dev, object_property_allow_set_link, - OBJ_PROP_LINK_STRONG, &error_abort); + OBJ_PROP_LINK_STRONG); object_property_set_link(OBJECT(machine), OBJECT(lpc), PC_MACHINE_ACPI_DEVICE_PROP, &error_abort); =20 diff --git a/hw/i386/pc_sysfw.c b/hw/i386/pc_sysfw.c index f5f3f466b0..002133a2d8 100644 --- a/hw/i386/pc_sysfw.c +++ b/hw/i386/pc_sysfw.c @@ -90,10 +90,9 @@ static PFlashCFI01 *pc_pflash_create(PCMachineState *pcm= s, qdev_prop_set_uint64(dev, "sector-length", FLASH_SECTOR_SIZE); qdev_prop_set_uint8(dev, "width", 1); qdev_prop_set_string(dev, "name", name); - object_property_add_child(OBJECT(pcms), name, OBJECT(dev), - &error_abort); + object_property_add_child(OBJECT(pcms), name, OBJECT(dev)); object_property_add_alias(OBJECT(pcms), alias_prop_name, - OBJECT(dev), "drive", &error_abort); + OBJECT(dev), "drive"); return PFLASH_CFI01(dev); } =20 diff --git a/hw/i386/x86.c b/hw/i386/x86.c index e2bf601273..7a3bc7ab66 100644 --- a/hw/i386/x86.c +++ b/hw/i386/x86.c @@ -350,7 +350,7 @@ void ioapic_init_gsi(GSIState *gsi_state, const char *p= arent_name) dev =3D qdev_create(NULL, TYPE_IOAPIC); } object_property_add_child(object_resolve_path(parent_name, NULL), - "ioapic", OBJECT(dev), NULL); + "ioapic", OBJECT(dev)); qdev_init_nofail(dev); d =3D SYS_BUS_DEVICE(dev); sysbus_mmio_map(d, 0, IO_APIC_DEFAULT_ADDRESS); @@ -982,19 +982,19 @@ static void x86_machine_class_init(ObjectClass *oc, v= oid *data) =20 object_class_property_add(oc, X86_MACHINE_MAX_RAM_BELOW_4G, "size", x86_machine_get_max_ram_below_4g, x86_machine_set_max_ram_below_4g, - NULL, NULL, &error_abort); + NULL, NULL); object_class_property_set_description(oc, X86_MACHINE_MAX_RAM_BELOW_4G, "Maximum ram below the 4G boundary (32bit boundary)"); =20 object_class_property_add(oc, X86_MACHINE_SMM, "OnOffAuto", x86_machine_get_smm, x86_machine_set_smm, - NULL, NULL, &error_abort); + NULL, NULL); object_class_property_set_description(oc, X86_MACHINE_SMM, "Enable SMM"); =20 object_class_property_add(oc, X86_MACHINE_ACPI, "OnOffAuto", x86_machine_get_acpi, x86_machine_set_acpi, - NULL, NULL, &error_abort); + NULL, NULL); object_class_property_set_description(oc, X86_MACHINE_ACPI, "Enable ACPI"); } diff --git a/hw/ide/macio.c b/hw/ide/macio.c index a9f25e5d02..30af0e93e6 100644 --- a/hw/ide/macio.c +++ b/hw/ide/macio.c @@ -459,7 +459,7 @@ static void macio_ide_initfn(Object *obj) =20 object_property_add_link(obj, "dbdma", TYPE_MAC_DBDMA, (Object **) &s->dbdma, - qdev_prop_allow_set_link_before_realize, 0, N= ULL); + qdev_prop_allow_set_link_before_realize, 0); } =20 static Property macio_ide_properties[] =3D { diff --git a/hw/ide/qdev.c b/hw/ide/qdev.c index c22afdb8ee..4909b14b91 100644 --- a/hw/ide/qdev.c +++ b/hw/ide/qdev.c @@ -266,7 +266,7 @@ static void ide_dev_instance_init(Object *obj) { object_property_add(obj, "bootindex", "int32", ide_dev_get_bootindex, - ide_dev_set_bootindex, NULL, NULL, NULL); + ide_dev_set_bootindex, NULL, NULL); object_property_set_int(obj, -1, "bootindex", NULL); } =20 diff --git a/hw/input/vhost-user-input.c b/hw/input/vhost-user-input.c index 544452a234..63984a8ba7 100644 --- a/hw/input/vhost-user-input.c +++ b/hw/input/vhost-user-input.c @@ -101,7 +101,7 @@ static void vhost_input_init(Object *obj) =20 vhi->vhost =3D VHOST_USER_BACKEND(object_new(TYPE_VHOST_USER_BACKEND)); object_property_add_alias(obj, "chardev", - OBJECT(vhi->vhost), "chardev", &error_abort); + OBJECT(vhi->vhost), "chardev"); } =20 static void vhost_input_finalize(Object *obj) diff --git a/hw/intc/apic_common.c b/hw/intc/apic_common.c index 9ec0f2deb2..243bb69430 100644 --- a/hw/intc/apic_common.c +++ b/hw/intc/apic_common.c @@ -445,7 +445,7 @@ static void apic_common_initfn(Object *obj) s->id =3D s->initial_apic_id =3D -1; object_property_add(obj, "id", "uint32", apic_common_get_id, - apic_common_set_id, NULL, NULL, NULL); + apic_common_set_id, NULL, NULL); } =20 static void apic_common_class_init(ObjectClass *klass, void *data) diff --git a/hw/intc/s390_flic.c b/hw/intc/s390_flic.c index 5f290f5410..baca4d8a2d 100644 --- a/hw/intc/s390_flic.c +++ b/hw/intc/s390_flic.c @@ -65,11 +65,11 @@ void s390_flic_init(void) if (kvm_enabled()) { dev =3D qdev_create(NULL, TYPE_KVM_S390_FLIC); object_property_add_child(qdev_get_machine(), TYPE_KVM_S390_FLIC, - OBJECT(dev), NULL); + OBJECT(dev)); } else { dev =3D qdev_create(NULL, TYPE_QEMU_S390_FLIC); object_property_add_child(qdev_get_machine(), TYPE_QEMU_S390_FLIC, - OBJECT(dev), NULL); + OBJECT(dev)); } qdev_init_nofail(dev); } diff --git a/hw/intc/xics.c b/hw/intc/xics.c index c5d507e707..e56d578841 100644 --- a/hw/intc/xics.c +++ b/hw/intc/xics.c @@ -380,7 +380,7 @@ Object *icp_create(Object *cpu, const char *type, XICSF= abric *xi, Error **errp) Object *obj; =20 obj =3D object_new(type); - object_property_add_child(cpu, type, obj, &error_abort); + object_property_add_child(cpu, type, obj); object_unref(obj); object_property_set_link(obj, OBJECT(xi), ICP_PROP_XICS, &error_abort); object_property_set_link(obj, cpu, ICP_PROP_CPU, &error_abort); diff --git a/hw/intc/xive.c b/hw/intc/xive.c index d6183f8ae4..8f2b4050cb 100644 --- a/hw/intc/xive.c +++ b/hw/intc/xive.c @@ -761,7 +761,7 @@ Object *xive_tctx_create(Object *cpu, XivePresenter *xp= tr, Error **errp) Object *obj; =20 obj =3D object_new(TYPE_XIVE_TCTX); - object_property_add_child(cpu, TYPE_XIVE_TCTX, obj, &error_abort); + object_property_add_child(cpu, TYPE_XIVE_TCTX, obj); object_unref(obj); object_property_set_link(obj, cpu, "cpu", &error_abort); object_property_set_link(obj, OBJECT(xptr), "presenter", &error_abort); diff --git a/hw/ipmi/ipmi.c b/hw/ipmi/ipmi.c index 46c6a79527..8d35c9fdd6 100644 --- a/hw/ipmi/ipmi.c +++ b/hw/ipmi/ipmi.c @@ -105,8 +105,7 @@ void ipmi_bmc_find_and_link(Object *obj, Object **bmc) { object_property_add_link(obj, "bmc", TYPE_IPMI_BMC, bmc, isa_ipmi_bmc_check, - OBJ_PROP_LINK_STRONG, - &error_abort); + OBJ_PROP_LINK_STRONG); } =20 static Property ipmi_bmc_properties[] =3D { diff --git a/hw/isa/isa-superio.c b/hw/isa/isa-superio.c index 0d9d848280..3dcdc234a4 100644 --- a/hw/isa/isa-superio.c +++ b/hw/isa/isa-superio.c @@ -62,8 +62,7 @@ static void isa_superio_realize(DeviceState *dev, Error *= *errp) qdev_prop_set_uint32(d, "irq", k->parallel.get_irq(sio, i)= ); } qdev_prop_set_chr(d, "chardev", chr); - object_property_add_child(OBJECT(sio), name, OBJECT(isa), - &error_abort); + object_property_add_child(OBJECT(dev), name, OBJECT(isa)); qdev_init_nofail(d); sio->parallel[i] =3D isa; trace_superio_create_parallel(i, @@ -102,8 +101,7 @@ static void isa_superio_realize(DeviceState *dev, Error= **errp) qdev_prop_set_uint32(d, "irq", k->serial.get_irq(sio, i)); } qdev_prop_set_chr(d, "chardev", chr); - object_property_add_child(OBJECT(sio), name, OBJECT(isa), - &error_abort); + object_property_add_child(OBJECT(dev), name, OBJECT(isa)); qdev_init_nofail(d); sio->serial[i] =3D isa; trace_superio_create_serial(i, @@ -137,8 +135,7 @@ static void isa_superio_realize(DeviceState *dev, Error= **errp) qdev_prop_set_drive(d, "driveB", blk_by_legacy_dinfo(drive), &error_fatal); } - object_property_add_child(OBJECT(sio), "isa-fdc", OBJECT(isa), - &error_abort); + object_property_add_child(OBJECT(sio), "isa-fdc", OBJECT(isa)); qdev_init_nofail(d); sio->floppy =3D isa; trace_superio_create_floppy(0, @@ -150,8 +147,7 @@ static void isa_superio_realize(DeviceState *dev, Error= **errp) =20 /* Keyboard, mouse */ isa =3D isa_create(bus, TYPE_I8042); - object_property_add_child(OBJECT(sio), TYPE_I8042, OBJECT(isa), - &error_abort); + object_property_add_child(OBJECT(sio), TYPE_I8042, OBJECT(isa)); qdev_init_nofail(DEVICE(isa)); sio->kbc =3D isa; =20 @@ -169,8 +165,7 @@ static void isa_superio_realize(DeviceState *dev, Error= **errp) qdev_prop_set_uint32(d, "irq", k->ide.get_irq(sio, 0)); } qdev_init_nofail(d); - object_property_add_child(OBJECT(sio), "isa-ide", OBJECT(isa), - &error_abort); + object_property_add_child(OBJECT(sio), "isa-ide", OBJECT(isa)); sio->ide =3D isa; trace_superio_create_ide(0, k->ide.get_iobase ? diff --git a/hw/isa/lpc_ich9.c b/hw/isa/lpc_ich9.c index fbc3165d03..c975d46675 100644 --- a/hw/isa/lpc_ich9.c +++ b/hw/isa/lpc_ich9.c @@ -633,11 +633,11 @@ static void ich9_lpc_initfn(Object *obj) static const uint8_t acpi_disable_cmd =3D ICH9_APM_ACPI_DISABLE; =20 object_property_add_uint8_ptr(obj, ACPI_PM_PROP_SCI_INT, - &lpc->sci_gsi, OBJ_PROP_FLAG_READ, NULL); + &lpc->sci_gsi, OBJ_PROP_FLAG_READ); object_property_add_uint8_ptr(OBJECT(lpc), ACPI_PM_PROP_ACPI_ENABLE_CM= D, - &acpi_enable_cmd, OBJ_PROP_FLAG_READ, NU= LL); + &acpi_enable_cmd, OBJ_PROP_FLAG_READ); object_property_add_uint8_ptr(OBJECT(lpc), ACPI_PM_PROP_ACPI_DISABLE_C= MD, - &acpi_disable_cmd, OBJ_PROP_FLAG_READ, N= ULL); + &acpi_disable_cmd, OBJ_PROP_FLAG_READ); =20 ich9_pm_add_properties(obj, &lpc->pm, NULL); } diff --git a/hw/mem/nvdimm.c b/hw/mem/nvdimm.c index 8e426d24bb..c5adedcc69 100644 --- a/hw/mem/nvdimm.c +++ b/hw/mem/nvdimm.c @@ -110,10 +110,10 @@ static void nvdimm_init(Object *obj) { object_property_add(obj, NVDIMM_LABEL_SIZE_PROP, "int", nvdimm_get_label_size, nvdimm_set_label_size, NULL, - NULL, NULL); + NULL); =20 object_property_add(obj, NVDIMM_UUID_PROP, "QemuUUID", nvdimm_get_uuid, - nvdimm_set_uuid, NULL, NULL, NULL); + nvdimm_set_uuid, NULL, NULL); } =20 static void nvdimm_finalize(Object *obj) diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c index 8f50b8afea..ab6d1b41b2 100644 --- a/hw/mem/pc-dimm.c +++ b/hw/mem/pc-dimm.c @@ -165,7 +165,7 @@ static void pc_dimm_get_size(Object *obj, Visitor *v, c= onst char *name, static void pc_dimm_init(Object *obj) { object_property_add(obj, PC_DIMM_SIZE_PROP, "uint64", pc_dimm_get_size, - NULL, NULL, NULL, &error_abort); + NULL, NULL, NULL); } =20 static void pc_dimm_realize(DeviceState *dev, Error **errp) diff --git a/hw/microblaze/petalogix_ml605_mmu.c b/hw/microblaze/petalogix_= ml605_mmu.c index 0a2640c40b..536571db7f 100644 --- a/hw/microblaze/petalogix_ml605_mmu.c +++ b/hw/microblaze/petalogix_ml605_mmu.c @@ -138,10 +138,8 @@ petalogix_ml605_init(MachineState *machine) dma =3D qdev_create(NULL, "xlnx.axi-dma"); =20 /* FIXME: attach to the sysbus instead */ - object_property_add_child(qdev_get_machine(), "xilinx-eth", OBJECT(eth= 0), - NULL); - object_property_add_child(qdev_get_machine(), "xilinx-dma", OBJECT(dma= ), - NULL); + object_property_add_child(qdev_get_machine(), "xilinx-eth", OBJECT(eth= 0)); + object_property_add_child(qdev_get_machine(), "xilinx-dma", OBJECT(dma= )); =20 ds =3D object_property_get_link(OBJECT(dma), "axistream-connected-target", NULL); diff --git a/hw/misc/aspeed_sdmc.c b/hw/misc/aspeed_sdmc.c index 7b466bf19a..e4fbe45c63 100644 --- a/hw/misc/aspeed_sdmc.c +++ b/hw/misc/aspeed_sdmc.c @@ -255,7 +255,7 @@ static void aspeed_sdmc_initfn(Object *obj) { object_property_add(obj, "ram-size", "int", aspeed_sdmc_get_ram_size, aspeed_sdmc_set_ram_size, - NULL, NULL, NULL); + NULL, NULL); } =20 static void aspeed_sdmc_realize(DeviceState *dev, Error **errp) diff --git a/hw/misc/edu.c b/hw/misc/edu.c index ff10f5b794..ec617e63f3 100644 --- a/hw/misc/edu.c +++ b/hw/misc/edu.c @@ -402,8 +402,7 @@ static void edu_instance_init(Object *obj) =20 edu->dma_mask =3D (1UL << 28) - 1; object_property_add_uint64_ptr(obj, "dma_mask", - &edu->dma_mask, OBJ_PROP_FLAG_READWRITE, - NULL); + &edu->dma_mask, OBJ_PROP_FLAG_READWRITE= ); } =20 static void edu_class_init(ObjectClass *class, void *data) diff --git a/hw/misc/mac_via.c b/hw/misc/mac_via.c index 81343301b1..e05623d730 100644 --- a/hw/misc/mac_via.c +++ b/hw/misc/mac_via.c @@ -885,10 +885,10 @@ static void mac_via_realize(DeviceState *dev, Error *= *errp) /* Pass through mos6522 output IRQs */ ms =3D MOS6522(&m->mos6522_via1); object_property_add_alias(OBJECT(dev), "irq[0]", OBJECT(ms), - SYSBUS_DEVICE_GPIO_IRQ "[0]", &error_abort); + SYSBUS_DEVICE_GPIO_IRQ "[0]"); ms =3D MOS6522(&m->mos6522_via2); object_property_add_alias(OBJECT(dev), "irq[1]", OBJECT(ms), - SYSBUS_DEVICE_GPIO_IRQ "[0]", &error_abort); + SYSBUS_DEVICE_GPIO_IRQ "[0]"); =20 /* Pass through mos6522 input IRQs */ qdev_pass_gpios(DEVICE(&m->mos6522_via1), dev, "via1-irq"); diff --git a/hw/misc/macio/gpio.c b/hw/misc/macio/gpio.c index 6cca6b27d6..0fef8fb335 100644 --- a/hw/misc/macio/gpio.c +++ b/hw/misc/macio/gpio.c @@ -170,7 +170,7 @@ static void macio_gpio_init(Object *obj) object_property_add_link(obj, "pic", TYPE_OPENPIC, (Object **) &s->pic, qdev_prop_allow_set_link_before_realize, - 0, NULL); + 0); =20 memory_region_init_io(&s->gpiomem, OBJECT(s), &macio_gpio_ops, obj, "gpio", 0x30); diff --git a/hw/misc/macio/macio.c b/hw/misc/macio/macio.c index 79222192e8..3779865ab2 100644 --- a/hw/misc/macio/macio.c +++ b/hw/misc/macio/macio.c @@ -241,7 +241,7 @@ static void macio_oldworld_init(Object *obj) object_property_add_link(obj, "pic", TYPE_HEATHROW, (Object **) &os->pic, qdev_prop_allow_set_link_before_realize, - 0, NULL); + 0); =20 macio_init_child_obj(s, "cuda", &s->cuda, sizeof(s->cuda), TYPE_CUDA); =20 @@ -397,7 +397,7 @@ static void macio_newworld_init(Object *obj) object_property_add_link(obj, "pic", TYPE_OPENPIC, (Object **) &ns->pic, qdev_prop_allow_set_link_before_realize, - 0, NULL); + 0); =20 macio_init_child_obj(s, "gpio", &ns->gpio, sizeof(ns->gpio), TYPE_MACIO_GPIO); diff --git a/hw/misc/macio/pmu.c b/hw/misc/macio/pmu.c index b8466a4a3f..5fa792846c 100644 --- a/hw/misc/macio/pmu.c +++ b/hw/misc/macio/pmu.c @@ -773,7 +773,7 @@ static void pmu_init(Object *obj) object_property_add_link(obj, "gpio", TYPE_MACIO_GPIO, (Object **) &s->gpio, qdev_prop_allow_set_link_before_realize, - 0, NULL); + 0); =20 sysbus_init_child_obj(obj, "mos6522-pmu", &s->mos6522_pmu, sizeof(s->mos6522_pmu), TYPE_MOS6522_PMU); diff --git a/hw/misc/pca9552.c b/hw/misc/pca9552.c index efd961e041..cac729e35a 100644 --- a/hw/misc/pca9552.c +++ b/hw/misc/pca9552.c @@ -298,7 +298,7 @@ static void pca9552_initfn(Object *obj) =20 name =3D g_strdup_printf("led%d", led); object_property_add(obj, name, "bool", pca9552_get_led, pca9552_se= t_led, - NULL, NULL, NULL); + NULL, NULL); g_free(name); } } diff --git a/hw/misc/tmp105.c b/hw/misc/tmp105.c index 75ddad3a12..58dbebca90 100644 --- a/hw/misc/tmp105.c +++ b/hw/misc/tmp105.c @@ -245,7 +245,7 @@ static void tmp105_initfn(Object *obj) { object_property_add(obj, "temperature", "int", tmp105_get_temperature, - tmp105_set_temperature, NULL, NULL, NULL); + tmp105_set_temperature, NULL, NULL); } =20 static void tmp105_class_init(ObjectClass *klass, void *data) diff --git a/hw/misc/tmp421.c b/hw/misc/tmp421.c index c0bc150bca..74864cd93d 100644 --- a/hw/misc/tmp421.c +++ b/hw/misc/tmp421.c @@ -347,16 +347,16 @@ static void tmp421_initfn(Object *obj) { object_property_add(obj, "temperature0", "int", tmp421_get_temperature, - tmp421_set_temperature, NULL, NULL, NULL); + tmp421_set_temperature, NULL, NULL); object_property_add(obj, "temperature1", "int", tmp421_get_temperature, - tmp421_set_temperature, NULL, NULL, NULL); + tmp421_set_temperature, NULL, NULL); object_property_add(obj, "temperature2", "int", tmp421_get_temperature, - tmp421_set_temperature, NULL, NULL, NULL); + tmp421_set_temperature, NULL, NULL); object_property_add(obj, "temperature3", "int", tmp421_get_temperature, - tmp421_set_temperature, NULL, NULL, NULL); + tmp421_set_temperature, NULL, NULL); } =20 static void tmp421_class_init(ObjectClass *klass, void *data) diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c index 22a0b1b1f9..e8f9cc7f1e 100644 --- a/hw/net/cadence_gem.c +++ b/hw/net/cadence_gem.c @@ -1600,8 +1600,7 @@ static void gem_init(Object *obj) object_property_add_link(obj, "dma", TYPE_MEMORY_REGION, (Object **)&s->dma_mr, qdev_prop_allow_set_link_before_realize, - OBJ_PROP_LINK_STRONG, - &error_abort); + OBJ_PROP_LINK_STRONG); } =20 static const VMStateDescription vmstate_cadence_gem =3D { diff --git a/hw/net/can/can_kvaser_pci.c b/hw/net/can/can_kvaser_pci.c index 16861b8f9f..4b941370d0 100644 --- a/hw/net/can/can_kvaser_pci.c +++ b/hw/net/can/can_kvaser_pci.c @@ -282,7 +282,7 @@ static void kvaser_pci_instance_init(Object *obj) object_property_add_link(obj, "canbus", TYPE_CAN_BUS, (Object **)&d->canbus, qdev_prop_allow_set_link_before_realize, - 0, &error_abort); + 0); } =20 static void kvaser_pci_class_init(ObjectClass *klass, void *data) diff --git a/hw/net/can/can_mioe3680_pci.c b/hw/net/can/can_mioe3680_pci.c index 965e252d9d..695e762a8d 100644 --- a/hw/net/can/can_mioe3680_pci.c +++ b/hw/net/can/can_mioe3680_pci.c @@ -219,11 +219,11 @@ static void mioe3680_pci_instance_init(Object *obj) object_property_add_link(obj, "canbus0", TYPE_CAN_BUS, (Object **)&d->canbus[0], qdev_prop_allow_set_link_before_realize, - 0, &error_abort); + 0); object_property_add_link(obj, "canbus1", TYPE_CAN_BUS, (Object **)&d->canbus[1], qdev_prop_allow_set_link_before_realize, - 0, &error_abort); + 0); } =20 static void mioe3680_pci_class_init(ObjectClass *klass, void *data) diff --git a/hw/net/can/can_pcm3680_pci.c b/hw/net/can/can_pcm3680_pci.c index 51b6540072..4218e63eb2 100644 --- a/hw/net/can/can_pcm3680_pci.c +++ b/hw/net/can/can_pcm3680_pci.c @@ -220,11 +220,11 @@ static void pcm3680i_pci_instance_init(Object *obj) object_property_add_link(obj, "canbus0", TYPE_CAN_BUS, (Object **)&d->canbus[0], qdev_prop_allow_set_link_before_realize, - 0, &error_abort); + 0); object_property_add_link(obj, "canbus1", TYPE_CAN_BUS, (Object **)&d->canbus[1], qdev_prop_allow_set_link_before_realize, - 0, &error_abort); + 0); } =20 static void pcm3680i_pci_class_init(ObjectClass *klass, void *data) diff --git a/hw/net/ne2000-isa.c b/hw/net/ne2000-isa.c index e744eff153..fdf8faa0d9 100644 --- a/hw/net/ne2000-isa.c +++ b/hw/net/ne2000-isa.c @@ -133,7 +133,7 @@ static void isa_ne2000_instance_init(Object *obj) { object_property_add(obj, "bootindex", "int32", isa_ne2000_get_bootindex, - isa_ne2000_set_bootindex, NULL, NULL, NULL); + isa_ne2000_set_bootindex, NULL, NULL); object_property_set_int(obj, -1, "bootindex", NULL); } static const TypeInfo ne2000_isa_info =3D { diff --git a/hw/net/xilinx_axienet.c b/hw/net/xilinx_axienet.c index 704788811a..40d3b01ede 100644 --- a/hw/net/xilinx_axienet.c +++ b/hw/net/xilinx_axienet.c @@ -956,16 +956,11 @@ static void xilinx_enet_realize(DeviceState *dev, Err= or **errp) object_property_add_link(OBJECT(ds), "enet", "xlnx.axi-ethernet", (Object **) &ds->enet, object_property_allow_set_link, - OBJ_PROP_LINK_STRONG, - &local_err); + OBJ_PROP_LINK_STRONG); object_property_add_link(OBJECT(cs), "enet", "xlnx.axi-ethernet", (Object **) &cs->enet, object_property_allow_set_link, - OBJ_PROP_LINK_STRONG, - &local_err); - if (local_err) { - goto xilinx_enet_realize_fail; - } + OBJ_PROP_LINK_STRONG); object_property_set_link(OBJECT(ds), OBJECT(s), "enet", &local_err); object_property_set_link(OBJECT(cs), OBJECT(s), "enet", &local_err); if (local_err) { diff --git a/hw/nios2/10m50_devboard.c b/hw/nios2/10m50_devboard.c index 33dc2bf511..4c60a27fb7 100644 --- a/hw/nios2/10m50_devboard.c +++ b/hw/nios2/10m50_devboard.c @@ -81,8 +81,7 @@ static void nios2_10m50_ghrd_init(MachineState *machine) =20 /* Register: Internal Interrupt Controller (IIC) */ dev =3D qdev_create(NULL, "altera,iic"); - object_property_add_const_link(OBJECT(dev), "cpu", OBJECT(cpu), - &error_abort); + object_property_add_const_link(OBJECT(dev), "cpu", OBJECT(cpu)); qdev_init_nofail(dev); sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, cpu_irq[0]); for (i =3D 0; i < 32; i++) { diff --git a/hw/nvram/fw_cfg.c b/hw/nvram/fw_cfg.c index 4be6c9d9fd..8dd50c2c72 100644 --- a/hw/nvram/fw_cfg.c +++ b/hw/nvram/fw_cfg.c @@ -1105,7 +1105,7 @@ FWCfgState *fw_cfg_init_io_dma(uint32_t iobase, uint3= 2_t dma_iobase, } =20 object_property_add_child(OBJECT(qdev_get_machine()), TYPE_FW_CFG, - OBJECT(dev), NULL); + OBJECT(dev)); qdev_init_nofail(dev); =20 sbd =3D SYS_BUS_DEVICE(dev); @@ -1145,7 +1145,7 @@ FWCfgState *fw_cfg_init_mem_wide(hwaddr ctl_addr, } =20 object_property_add_child(OBJECT(qdev_get_machine()), TYPE_FW_CFG, - OBJECT(dev), NULL); + OBJECT(dev)); qdev_init_nofail(dev); =20 sbd =3D SYS_BUS_DEVICE(dev); diff --git a/hw/pci-host/grackle.c b/hw/pci-host/grackle.c index 24ccdf6ceb..4b3af0c704 100644 --- a/hw/pci-host/grackle.c +++ b/hw/pci-host/grackle.c @@ -109,7 +109,7 @@ static void grackle_init(Object *obj) object_property_add_link(obj, "pic", TYPE_HEATHROW, (Object **) &s->pic, qdev_prop_allow_set_link_before_realize, - 0, NULL); + 0); =20 sysbus_init_mmio(sbd, &phb->conf_mem); sysbus_init_mmio(sbd, &phb->data_mem); diff --git a/hw/pci-host/i440fx.c b/hw/pci-host/i440fx.c index d980c97049..0adbd77553 100644 --- a/hw/pci-host/i440fx.c +++ b/hw/pci-host/i440fx.c @@ -212,19 +212,19 @@ static void i440fx_pcihost_initfn(Object *obj) =20 object_property_add(obj, PCI_HOST_PROP_PCI_HOLE_START, "uint32", i440fx_pcihost_get_pci_hole_start, - NULL, NULL, NULL, NULL); + NULL, NULL, NULL); =20 object_property_add(obj, PCI_HOST_PROP_PCI_HOLE_END, "uint32", i440fx_pcihost_get_pci_hole_end, - NULL, NULL, NULL, NULL); + NULL, NULL, NULL); =20 object_property_add(obj, PCI_HOST_PROP_PCI_HOLE64_START, "uint64", i440fx_pcihost_get_pci_hole64_start, - NULL, NULL, NULL, NULL); + NULL, NULL, NULL); =20 object_property_add(obj, PCI_HOST_PROP_PCI_HOLE64_END, "uint64", i440fx_pcihost_get_pci_hole64_end, - NULL, NULL, NULL, NULL); + NULL, NULL, NULL); } =20 static void i440fx_pcihost_realize(DeviceState *dev, Error **errp) @@ -275,7 +275,7 @@ PCIBus *i440fx_init(const char *host_type, const char *= pci_type, b =3D pci_root_bus_new(dev, NULL, pci_address_space, address_space_io, 0, TYPE_PCI_BUS); s->bus =3D b; - object_property_add_child(qdev_get_machine(), "i440fx", OBJECT(dev), N= ULL); + object_property_add_child(qdev_get_machine(), "i440fx", OBJECT(dev)); qdev_init_nofail(dev); =20 d =3D pci_create_simple(b, 0, pci_type); @@ -308,7 +308,7 @@ PCIBus *i440fx_init(const char *host_type, const char *= pci_type, memory_region_set_enabled(&f->low_smram, true); memory_region_add_subregion(&f->smram, 0xa0000, &f->low_smram); object_property_add_const_link(qdev_get_machine(), "smram", - OBJECT(&f->smram), &error_abort); + OBJECT(&f->smram)); =20 init_pam(dev, f->ram_memory, f->system_memory, f->pci_address_space, &f->pam_regions[0], PAM_BIOS_BASE, PAM_BIOS_SIZE); diff --git a/hw/pci-host/pnv_phb3_msi.c b/hw/pci-host/pnv_phb3_msi.c index d645468f4a..099d2092a2 100644 --- a/hw/pci-host/pnv_phb3_msi.c +++ b/hw/pci-host/pnv_phb3_msi.c @@ -282,8 +282,7 @@ static void phb3_msi_instance_init(Object *obj) object_property_add_link(obj, "phb", TYPE_PNV_PHB3, (Object **)&msi->phb, object_property_allow_set_link, - OBJ_PROP_LINK_STRONG, - &error_abort); + OBJ_PROP_LINK_STRONG); =20 /* Will be overriden later */ ics->offset =3D 0; diff --git a/hw/pci-host/pnv_phb3_pbcq.c b/hw/pci-host/pnv_phb3_pbcq.c index 7b9a121246..a0526aa1ec 100644 --- a/hw/pci-host/pnv_phb3_pbcq.c +++ b/hw/pci-host/pnv_phb3_pbcq.c @@ -324,8 +324,7 @@ static void phb3_pbcq_instance_init(Object *obj) object_property_add_link(obj, "phb", TYPE_PNV_PHB3, (Object **)&pbcq->phb, object_property_allow_set_link, - OBJ_PROP_LINK_STRONG, - &error_abort); + OBJ_PROP_LINK_STRONG); } =20 static void pnv_pbcq_class_init(ObjectClass *klass, void *data) diff --git a/hw/pci-host/q35.c b/hw/pci-host/q35.c index 2bbc90b28f..352aeecfa7 100644 --- a/hw/pci-host/q35.c +++ b/hw/pci-host/q35.c @@ -222,38 +222,38 @@ static void q35_host_initfn(Object *obj) Q35_PCI_HOST_HOLE64_SIZE_DEFAULT); object_property_add(obj, PCI_HOST_PROP_PCI_HOLE_START, "uint32", q35_host_get_pci_hole_start, - NULL, NULL, NULL, NULL); + NULL, NULL, NULL); =20 object_property_add(obj, PCI_HOST_PROP_PCI_HOLE_END, "uint32", q35_host_get_pci_hole_end, - NULL, NULL, NULL, NULL); + NULL, NULL, NULL); =20 object_property_add(obj, PCI_HOST_PROP_PCI_HOLE64_START, "uint64", q35_host_get_pci_hole64_start, - NULL, NULL, NULL, NULL); + NULL, NULL, NULL); =20 object_property_add(obj, PCI_HOST_PROP_PCI_HOLE64_END, "uint64", q35_host_get_pci_hole64_end, - NULL, NULL, NULL, NULL); + NULL, NULL, NULL); =20 object_property_add_uint64_ptr(obj, PCIE_HOST_MCFG_SIZE, - &pehb->size, OBJ_PROP_FLAG_READ, NULL); + &pehb->size, OBJ_PROP_FLAG_READ); =20 object_property_add_link(obj, MCH_HOST_PROP_RAM_MEM, TYPE_MEMORY_REGIO= N, (Object **) &s->mch.ram_memory, - qdev_prop_allow_set_link_before_realize, 0, N= ULL); + qdev_prop_allow_set_link_before_realize, 0); =20 object_property_add_link(obj, MCH_HOST_PROP_PCI_MEM, TYPE_MEMORY_REGIO= N, (Object **) &s->mch.pci_address_space, - qdev_prop_allow_set_link_before_realize, 0, N= ULL); + qdev_prop_allow_set_link_before_realize, 0); =20 object_property_add_link(obj, MCH_HOST_PROP_SYSTEM_MEM, TYPE_MEMORY_RE= GION, (Object **) &s->mch.system_memory, - qdev_prop_allow_set_link_before_realize, 0, N= ULL); + qdev_prop_allow_set_link_before_realize, 0); =20 object_property_add_link(obj, MCH_HOST_PROP_IO_MEM, TYPE_MEMORY_REGION, (Object **) &s->mch.address_space_io, - qdev_prop_allow_set_link_before_realize, 0, N= ULL); + qdev_prop_allow_set_link_before_realize, 0); } =20 static const TypeInfo q35_host_info =3D { @@ -638,7 +638,7 @@ static void mch_realize(PCIDevice *d, Error **errp) &mch->smbase_window); =20 object_property_add_const_link(qdev_get_machine(), "smram", - OBJECT(&mch->smram), &error_abort); + OBJECT(&mch->smram)); =20 init_pam(DEVICE(mch), mch->ram_memory, mch->system_memory, mch->pci_address_space, &mch->pam_regions[0], diff --git a/hw/pci-host/sabre.c b/hw/pci-host/sabre.c index 2b8503b709..475bcb01d7 100644 --- a/hw/pci-host/sabre.c +++ b/hw/pci-host/sabre.c @@ -442,7 +442,7 @@ static void sabre_init(Object *obj) object_property_add_link(obj, "iommu", TYPE_SUN4U_IOMMU, (Object **) &s->iommu, qdev_prop_allow_set_link_before_realize, - 0, NULL); + 0); =20 /* sabre_config */ memory_region_init_io(&s->sabre_config, OBJECT(s), &sabre_config_ops, = s, diff --git a/hw/pci-host/uninorth.c b/hw/pci-host/uninorth.c index cf70b76fe2..1ed1072eeb 100644 --- a/hw/pci-host/uninorth.c +++ b/hw/pci-host/uninorth.c @@ -175,7 +175,7 @@ static void pci_unin_main_init(Object *obj) object_property_add_link(obj, "pic", TYPE_OPENPIC, (Object **) &s->pic, qdev_prop_allow_set_link_before_realize, - 0, NULL); + 0); =20 sysbus_init_mmio(sbd, &h->conf_mem); sysbus_init_mmio(sbd, &h->data_mem); @@ -223,7 +223,7 @@ static void pci_u3_agp_init(Object *obj) object_property_add_link(obj, "pic", TYPE_OPENPIC, (Object **) &s->pic, qdev_prop_allow_set_link_before_realize, - 0, NULL); + 0); =20 sysbus_init_mmio(sbd, &h->conf_mem); sysbus_init_mmio(sbd, &h->data_mem); @@ -262,7 +262,7 @@ static void pci_unin_agp_init(Object *obj) object_property_add_link(obj, "pic", TYPE_OPENPIC, (Object **) &s->pic, qdev_prop_allow_set_link_before_realize, - 0, NULL); + 0); =20 sysbus_init_mmio(sbd, &h->conf_mem); sysbus_init_mmio(sbd, &h->data_mem); @@ -299,7 +299,7 @@ static void pci_unin_internal_init(Object *obj) object_property_add_link(obj, "pic", TYPE_OPENPIC, (Object **) &s->pic, qdev_prop_allow_set_link_before_realize, - 0, NULL); + 0); =20 sysbus_init_mmio(sbd, &h->conf_mem); sysbus_init_mmio(sbd, &h->data_mem); diff --git a/hw/pcmcia/pxa2xx.c b/hw/pcmcia/pxa2xx.c index 14e4dfe8b1..8667244df4 100644 --- a/hw/pcmcia/pxa2xx.c +++ b/hw/pcmcia/pxa2xx.c @@ -189,7 +189,7 @@ static void pxa2xx_pcmcia_initfn(Object *obj) object_property_add_link(obj, "card", TYPE_PCMCIA_CARD, (Object **)&s->card, NULL, /* read-only property */ - 0, NULL); + 0); } =20 /* Insert a new card into a slot */ diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c index 0d1f41197c..2a0b66a152 100644 --- a/hw/ppc/e500.c +++ b/hw/ppc/e500.c @@ -744,8 +744,7 @@ static DeviceState *ppce500_init_mpic_qemu(PPCE500Machi= neState *pms, const PPCE500MachineClass *pmc =3D PPCE500_MACHINE_GET_CLASS(pms); =20 dev =3D qdev_create(NULL, TYPE_OPENPIC); - object_property_add_child(OBJECT(machine), "pic", OBJECT(dev), - &error_fatal); + object_property_add_child(OBJECT(machine), "pic", OBJECT(dev)); qdev_prop_set_uint32(dev, "model", pmc->mpic_version); qdev_prop_set_uint32(dev, "nb_cpus", smp_cpus); =20 @@ -916,7 +915,7 @@ void ppce500_init(MachineState *machine) =20 dev =3D qdev_create(NULL, "e500-ccsr"); object_property_add_child(qdev_get_machine(), "e500-ccsr", - OBJECT(dev), NULL); + OBJECT(dev)); qdev_init_nofail(dev); ccsr =3D CCSR(dev); ccsr_addr_space =3D &ccsr->ccsr_space; @@ -957,8 +956,7 @@ void ppce500_init(MachineState *machine) =20 /* PCI */ dev =3D qdev_create(NULL, "e500-pcihost"); - object_property_add_child(qdev_get_machine(), "pci-host", OBJECT(dev), - &error_abort); + object_property_add_child(qdev_get_machine(), "pci-host", OBJECT(dev)); qdev_prop_set_uint32(dev, "first_slot", pmc->pci_first_slot); qdev_prop_set_uint32(dev, "first_pin_irq", pci_irq_nrs[0]); qdev_init_nofail(dev); diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c index 55d1419442..3507f26f6e 100644 --- a/hw/ppc/mac_newworld.c +++ b/hw/ppc/mac_newworld.c @@ -455,7 +455,7 @@ static void ppc_core99_init(MachineState *machine) qdev_prop_set_uint32(dev, "data_width", 1); qdev_prop_set_bit(dev, "dma_enabled", false); object_property_add_child(OBJECT(qdev_get_machine()), TYPE_FW_CFG, - OBJECT(fw_cfg), NULL); + OBJECT(fw_cfg)); qdev_init_nofail(dev); s =3D SYS_BUS_DEVICE(dev); sysbus_mmio_map(s, 0, CFG_ADDR); @@ -628,7 +628,7 @@ static void core99_instance_init(Object *obj) /* Default via_config is CORE99_VIA_CONFIG_CUDA */ cms->via_config =3D CORE99_VIA_CONFIG_CUDA; object_property_add_str(obj, "via", core99_get_via_config, - core99_set_via_config, NULL); + core99_set_via_config); object_property_set_description(obj, "via", "Set VIA configuration. " "Valid values are cuda, pmu and pmu-ad= b"); diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c index 101bdc5c4d..0b4c1c6373 100644 --- a/hw/ppc/mac_oldworld.c +++ b/hw/ppc/mac_oldworld.c @@ -314,7 +314,7 @@ static void ppc_heathrow_init(MachineState *machine) qdev_prop_set_uint32(dev, "data_width", 1); qdev_prop_set_bit(dev, "dma_enabled", false); object_property_add_child(OBJECT(qdev_get_machine()), TYPE_FW_CFG, - OBJECT(fw_cfg), NULL); + OBJECT(fw_cfg)); qdev_init_nofail(dev); s =3D SYS_BUS_DEVICE(dev); sysbus_mmio_map(s, 0, CFG_ADDR); diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index 71b08e2ae7..8d3e108ea0 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -830,7 +830,7 @@ static void pnv_init(MachineState *machine) } =20 snprintf(chip_name, sizeof(chip_name), "chip[%d]", PNV_CHIP_HWID(i= )); - object_property_add_child(OBJECT(pnv), chip_name, chip, &error_fat= al); + object_property_add_child(OBJECT(pnv), chip_name, chip); object_property_set_int(chip, PNV_CHIP_HWID(i), "chip-id", &error_fatal); object_property_set_int(chip, machine->smp.cores, @@ -1058,8 +1058,7 @@ static void pnv_chip_power8_instance_init(Object *obj) object_property_add_link(obj, "xics", TYPE_XICS_FABRIC, (Object **)&chip8->xics, object_property_allow_set_link, - OBJ_PROP_LINK_STRONG, - &error_abort); + OBJ_PROP_LINK_STRONG); =20 object_initialize_child(obj, "psi", &chip8->psi, sizeof(chip8->psi), TYPE_PNV8_PSI, &error_abort, NULL); @@ -1319,7 +1318,7 @@ static void pnv_chip_power9_instance_init(Object *obj) object_initialize_child(obj, "xive", &chip9->xive, sizeof(chip9->xive), TYPE_PNV_XIVE, &error_abort, NULL); object_property_add_alias(obj, "xive-fabric", OBJECT(&chip9->xive), - "xive-fabric", &error_abort); + "xive-fabric"); =20 object_initialize_child(obj, "psi", &chip9->psi, sizeof(chip9->psi), TYPE_PNV9_PSI, &error_abort, NULL); @@ -1737,8 +1736,7 @@ static void pnv_chip_core_realize(PnvChip *chip, Erro= r **errp) pnv_core =3D PNV_CORE(object_new(typename)); =20 snprintf(core_name, sizeof(core_name), "core[%d]", core_hwid); - object_property_add_child(OBJECT(chip), core_name, OBJECT(pnv_core= ), - &error_abort); + object_property_add_child(OBJECT(chip), core_name, OBJECT(pnv_core= )); chip->cores[i] =3D pnv_core; object_property_set_int(OBJECT(pnv_core), chip->nr_threads, "nr-threads", &error_fatal); @@ -1999,8 +1997,7 @@ static void pnv_machine_class_init(ObjectClass *oc, v= oid *data) ispc->print_info =3D pnv_pic_print_info; =20 object_class_property_add_bool(oc, "hb-mode", - pnv_machine_get_hb, pnv_machine_set_hb, - &error_abort); + pnv_machine_get_hb, pnv_machine_set_hb); object_class_property_set_description(oc, "hb-mode", "Use a hostboot like boot loader"); } diff --git a/hw/ppc/pnv_bmc.c b/hw/ppc/pnv_bmc.c index 4e018b8b70..5f86453b6a 100644 --- a/hw/ppc/pnv_bmc.c +++ b/hw/ppc/pnv_bmc.c @@ -217,8 +217,7 @@ static const IPMINetfn hiomap_netfn =3D { void pnv_bmc_set_pnor(IPMIBmc *bmc, PnvPnor *pnor) { object_ref(OBJECT(pnor)); - object_property_add_const_link(OBJECT(bmc), "pnor", OBJECT(pnor), - &error_abort); + object_property_add_const_link(OBJECT(bmc), "pnor", OBJECT(pnor)); =20 /* Install the HIOMAP protocol handlers to access the PNOR */ ipmi_sim_register_netfn(IPMI_BMC_SIMULATOR(bmc), IPMI_NETFN_OEM, @@ -235,7 +234,7 @@ IPMIBmc *pnv_bmc_create(PnvPnor *pnor) =20 obj =3D object_new(TYPE_IPMI_BMC_SIMULATOR); object_ref(OBJECT(pnor)); - object_property_add_const_link(obj, "pnor", OBJECT(pnor), &error_abort= ); + object_property_add_const_link(obj, "pnor", OBJECT(pnor)); object_property_set_bool(obj, true, "realized", &error_fatal); =20 /* Install the HIOMAP protocol handlers to access the PNOR */ diff --git a/hw/ppc/pnv_core.c b/hw/ppc/pnv_core.c index 234562040d..7033104676 100644 --- a/hw/ppc/pnv_core.c +++ b/hw/ppc/pnv_core.c @@ -232,7 +232,7 @@ static void pnv_core_realize(DeviceState *dev, Error **= errp) pc->threads[i] =3D POWERPC_CPU(obj); =20 snprintf(name, sizeof(name), "thread[%d]", i); - object_property_add_child(OBJECT(pc), name, obj, &error_abort); + object_property_add_child(OBJECT(pc), name, obj); =20 cpu->machine_data =3D g_new0(PnvCPUState, 1); =20 diff --git a/hw/ppc/pnv_psi.c b/hw/ppc/pnv_psi.c index c34a49b000..cfd5b7bc25 100644 --- a/hw/ppc/pnv_psi.c +++ b/hw/ppc/pnv_psi.c @@ -486,7 +486,7 @@ static void pnv_psi_power8_instance_init(Object *obj) object_initialize_child(obj, "ics-psi", &psi8->ics, sizeof(psi8->ics), TYPE_ICS, &error_abort, NULL); object_property_add_alias(obj, ICS_PROP_XICS, OBJECT(&psi8->ics), - ICS_PROP_XICS, &error_abort); + ICS_PROP_XICS); } =20 static const uint8_t irq_to_xivr[] =3D { diff --git a/hw/ppc/prep.c b/hw/ppc/prep.c index 44be9d25a2..9266453dd9 100644 --- a/hw/ppc/prep.c +++ b/hw/ppc/prep.c @@ -229,7 +229,7 @@ static int prep_set_cmos_checksum(DeviceState *dev, voi= d *opaque) rtc_set_memory(rtc, 0x3f, checksum >> 8); =20 object_property_add_alias(qdev_get_machine(), "rtc-time", OBJECT(r= tc), - "date", NULL); + "date"); } return 0; } @@ -275,7 +275,7 @@ static void ibm_40p_init(MachineState *machine) qdev_prop_set_string(dev, "bios-name", bios_name); qdev_prop_set_uint32(dev, "elf-machine", PPC_ELF_MACHINE); pcihost =3D SYS_BUS_DEVICE(dev); - object_property_add_child(qdev_get_machine(), "raven", OBJECT(dev), NU= LL); + object_property_add_child(qdev_get_machine(), "raven", OBJECT(dev)); qdev_init_nofail(dev); pci_bus =3D PCI_BUS(qdev_get_child_bus(dev, "pci.0")); if (!pci_bus) { @@ -343,7 +343,7 @@ static void ibm_40p_init(MachineState *machine) qdev_prop_set_uint32(dev, "data_width", 1); qdev_prop_set_bit(dev, "dma_enabled", false); object_property_add_child(OBJECT(qdev_get_machine()), TYPE_FW_CFG, - OBJECT(fw_cfg), NULL); + OBJECT(fw_cfg)); qdev_init_nofail(dev); s =3D SYS_BUS_DEVICE(dev); sysbus_mmio_map(s, 0, CFG_ADDR); diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index 91138e7c67..6048345496 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -1743,7 +1743,7 @@ static void spapr_rtc_create(SpaprMachineState *spapr) object_property_set_bool(OBJECT(&spapr->rtc), true, "realized", &error_fatal); object_property_add_alias(OBJECT(spapr), "rtc-time", OBJECT(&spapr->rt= c), - "date", &error_fatal); + "date"); } =20 /* Returns whether we want to use VGA or not */ @@ -3315,13 +3315,12 @@ static void spapr_instance_init(Object *obj) spapr->htab_fd =3D -1; spapr->use_hotplug_event_source =3D true; object_property_add_str(obj, "kvm-type", - spapr_get_kvm_type, spapr_set_kvm_type, NULL); + spapr_get_kvm_type, spapr_set_kvm_type); object_property_set_description(obj, "kvm-type", "Specifies the KVM virtualization mode= (HV, PR)"); object_property_add_bool(obj, "modern-hotplug-events", spapr_get_modern_hotplug_events, - spapr_set_modern_hotplug_events, - NULL); + spapr_set_modern_hotplug_events); object_property_set_description(obj, "modern-hotplug-events", "Use dedicated hotplug event mechanism= in" " place of standard EPOW events when p= ossible" @@ -3331,22 +3330,20 @@ static void spapr_instance_init(Object *obj) &error_fatal); =20 object_property_add_str(obj, "resize-hpt", - spapr_get_resize_hpt, spapr_set_resize_hpt, NU= LL); + spapr_get_resize_hpt, spapr_set_resize_hpt); object_property_set_description(obj, "resize-hpt", "Resizing of the Hash Page Table (enab= led, disabled, required)"); object_property_add_uint32_ptr(obj, "vsmt", - &spapr->vsmt, OBJ_PROP_FLAG_READWRITE, - &error_abort); + &spapr->vsmt, OBJ_PROP_FLAG_READWRITE); object_property_set_description(obj, "vsmt", "Virtual SMT: KVM behaves as if this w= ere" " the host's SMT mode"); =20 object_property_add_bool(obj, "vfio-no-msix-emulation", - spapr_get_msix_emulation, NULL, NULL); + spapr_get_msix_emulation, NULL); =20 object_property_add_uint64_ptr(obj, "kernel-addr", - &spapr->kernel_addr, OBJ_PROP_FLAG_READ= WRITE, - &error_abort); + &spapr->kernel_addr, OBJ_PROP_FLAG_READ= WRITE); object_property_set_description(obj, "kernel-addr", stringify(KERNEL_LOAD_ADDR) " for -kernel is the default"); @@ -3354,18 +3351,16 @@ static void spapr_instance_init(Object *obj) /* The machine class defines the default interrupt controller mode */ spapr->irq =3D smc->irq; object_property_add_str(obj, "ic-mode", spapr_get_ic_mode, - spapr_set_ic_mode, NULL); + spapr_set_ic_mode); object_property_set_description(obj, "ic-mode", "Specifies the interrupt controller mode (xics, xive, dua= l)"); =20 object_property_add_str(obj, "host-model", - spapr_get_host_model, spapr_set_host_model, - &error_abort); + spapr_get_host_model, spapr_set_host_model); object_property_set_description(obj, "host-model", "Host model to advertise in guest device tree"); object_property_add_str(obj, "host-serial", - spapr_get_host_serial, spapr_set_host_serial, - &error_abort); + spapr_get_host_serial, spapr_set_host_serial); object_property_set_description(obj, "host-serial", "Host serial number to advertise in guest device tree"); } diff --git a/hw/ppc/spapr_caps.c b/hw/ppc/spapr_caps.c index 0870961fc9..184563e608 100644 --- a/hw/ppc/spapr_caps.c +++ b/hw/ppc/spapr_caps.c @@ -826,7 +826,6 @@ void spapr_caps_cpu_apply(SpaprMachineState *spapr, Pow= erPCCPU *cpu) =20 void spapr_caps_add_properties(SpaprMachineClass *smc, Error **errp) { - Error *local_err =3D NULL; ObjectClass *klass =3D OBJECT_CLASS(smc); int i; =20 @@ -837,12 +836,7 @@ void spapr_caps_add_properties(SpaprMachineClass *smc,= Error **errp) =20 object_class_property_add(klass, name, cap->type, cap->get, cap->set, - NULL, cap, &local_err); - if (local_err) { - error_propagate(errp, local_err); - g_free(name); - return; - } + NULL, cap); =20 desc =3D g_strdup_printf("%s", cap->description); object_class_property_set_description(klass, name, desc); diff --git a/hw/ppc/spapr_cpu_core.c b/hw/ppc/spapr_cpu_core.c index ac1c109427..df5c7742ca 100644 --- a/hw/ppc/spapr_cpu_core.c +++ b/hw/ppc/spapr_cpu_core.c @@ -290,11 +290,8 @@ static PowerPCCPU *spapr_create_vcpu(SpaprCpuCore *sc,= int i, Error **errp) cpu->node_id =3D sc->node_id; =20 id =3D g_strdup_printf("thread[%d]", i); - object_property_add_child(OBJECT(sc), id, obj, &local_err); + object_property_add_child(OBJECT(sc), id, obj); g_free(id); - if (local_err) { - goto err; - } =20 cpu->machine_data =3D g_new0(SpaprCpuState, 1); =20 diff --git a/hw/ppc/spapr_drc.c b/hw/ppc/spapr_drc.c index 0b66d59867..728307a992 100644 --- a/hw/ppc/spapr_drc.c +++ b/hw/ppc/spapr_drc.c @@ -392,7 +392,7 @@ void spapr_drc_attach(SpaprDrc *drc, DeviceState *d, Er= ror **errp) object_property_add_link(OBJECT(drc), "device", object_get_typename(OBJECT(drc->dev)), (Object **)(&drc->dev), - NULL, 0, NULL); + NULL, 0); } =20 static void spapr_drc_release(SpaprDrc *drc) @@ -519,7 +519,6 @@ static void realize(DeviceState *d, Error **errp) Object *root_container; gchar *link_name; char *child_name; - Error *err =3D NULL; =20 trace_spapr_drc_realize(spapr_drc_index(drc)); /* NOTE: we do this as part of realize/unrealize due to the fact @@ -534,13 +533,9 @@ static void realize(DeviceState *d, Error **errp) child_name =3D object_get_canonical_path_component(OBJECT(drc)); trace_spapr_drc_realize_child(spapr_drc_index(drc), child_name); object_property_add_alias(root_container, link_name, - drc->owner, child_name, &err); + drc->owner, child_name); g_free(child_name); g_free(link_name); - if (err) { - error_propagate(errp, err); - return; - } vmstate_register(VMSTATE_IF(drc), spapr_drc_index(drc), &vmstate_spapr= _drc, drc); trace_spapr_drc_realize_complete(spapr_drc_index(drc)); @@ -570,7 +565,7 @@ SpaprDrc *spapr_dr_connector_new(Object *owner, const c= har *type, drc->owner =3D owner; prop_name =3D g_strdup_printf("dr-connector[%"PRIu32"]", spapr_drc_index(drc)); - object_property_add_child(owner, prop_name, OBJECT(drc), &error_abort); + object_property_add_child(owner, prop_name, OBJECT(drc)); object_unref(OBJECT(drc)); object_property_set_bool(OBJECT(drc), true, "realized", NULL); g_free(prop_name); @@ -583,12 +578,11 @@ static void spapr_dr_connector_instance_init(Object *= obj) SpaprDrc *drc =3D SPAPR_DR_CONNECTOR(obj); SpaprDrcClass *drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc); =20 - object_property_add_uint32_ptr(obj, "id", &drc->id, OBJ_PROP_FLAG_READ, - NULL); + object_property_add_uint32_ptr(obj, "id", &drc->id, OBJ_PROP_FLAG_READ= ); object_property_add(obj, "index", "uint32", prop_get_index, - NULL, NULL, NULL, NULL); + NULL, NULL, NULL); object_property_add(obj, "fdt", "struct", prop_get_fdt, - NULL, NULL, NULL, NULL); + NULL, NULL, NULL); drc->state =3D drck->empty_state; } =20 diff --git a/hw/ppc/spapr_iommu.c b/hw/ppc/spapr_iommu.c index 5704fe6051..601b896214 100644 --- a/hw/ppc/spapr_iommu.c +++ b/hw/ppc/spapr_iommu.c @@ -365,7 +365,7 @@ SpaprTceTable *spapr_tce_new_table(DeviceState *owner, = uint32_t liobn) tcet->liobn =3D liobn; =20 tmp =3D g_strdup_printf("tce-table-%x", liobn); - object_property_add_child(OBJECT(owner), tmp, OBJECT(tcet), NULL); + object_property_add_child(OBJECT(owner), tmp, OBJECT(tcet)); g_free(tmp); object_unref(OBJECT(tcet)); =20 diff --git a/hw/ppc/spapr_irq.c b/hw/ppc/spapr_irq.c index 1f630f296b..0c594aa72e 100644 --- a/hw/ppc/spapr_irq.c +++ b/hw/ppc/spapr_irq.c @@ -307,7 +307,7 @@ void spapr_irq_init(SpaprMachineState *spapr, Error **e= rrp) =20 obj =3D object_new(TYPE_ICS_SPAPR); =20 - object_property_add_child(OBJECT(spapr), "ics", obj, &error_abort); + object_property_add_child(OBJECT(spapr), "ics", obj); object_property_set_link(obj, OBJECT(spapr), ICS_PROP_XICS, &error_abort); object_property_set_int(obj, smc->nr_xirqs, "nr-irqs", &error_abor= t); diff --git a/hw/ppc/spapr_rtc.c b/hw/ppc/spapr_rtc.c index 42ff72c269..68cfc578a3 100644 --- a/hw/ppc/spapr_rtc.c +++ b/hw/ppc/spapr_rtc.c @@ -149,7 +149,7 @@ static void spapr_rtc_realize(DeviceState *dev, Error *= *errp) rtc_ns =3D qemu_clock_get_ns(rtc_clock); rtc->ns_offset =3D host_s * NANOSECONDS_PER_SECOND - rtc_ns; =20 - object_property_add_tm(OBJECT(rtc), "date", spapr_rtc_qom_date, NULL); + object_property_add_tm(OBJECT(rtc), "date", spapr_rtc_qom_date); } =20 static const VMStateDescription vmstate_spapr_rtc =3D { diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index da48c958e2..4299bdf480 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -441,15 +441,17 @@ static void sifive_u_machine_instance_init(Object *ob= j) SiFiveUState *s =3D RISCV_U_MACHINE(obj); =20 s->start_in_flash =3D false; - object_property_add_bool(obj, "start-in-flash", sifive_u_machine_get_s= tart_in_flash, - sifive_u_machine_set_start_in_flash, NULL); + object_property_add_bool(obj, "start-in-flash", + sifive_u_machine_get_start_in_flash, + sifive_u_machine_set_start_in_flash); object_property_set_description(obj, "start-in-flash", "Set on to tell QEMU's ROM to jump to " "flash. Otherwise QEMU will jump to DR= AM"); =20 s->serial =3D OTP_SERIAL; - object_property_add(obj, "serial", "uint32", sifive_u_machine_get_seri= al, - sifive_u_machine_set_serial, NULL, &s->serial, NUL= L); + object_property_add(obj, "serial", "uint32", + sifive_u_machine_get_serial, + sifive_u_machine_set_serial, NULL, &s->serial); object_property_set_description(obj, "serial", "Board serial number"); } =20 diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index daae3ebdbb..c695a44979 100644 --- a/hw/riscv/virt.c +++ b/hw/riscv/virt.c @@ -92,10 +92,9 @@ static PFlashCFI01 *virt_flash_create1(RISCVVirtState *s, qdev_prop_set_uint16(dev, "id3", 0x00); qdev_prop_set_string(dev, "name", name); =20 - object_property_add_child(OBJECT(s), name, OBJECT(dev), - &error_abort); + object_property_add_child(OBJECT(s), name, OBJECT(dev)); object_property_add_alias(OBJECT(s), alias_prop_name, - OBJECT(dev), "drive", &error_abort); + OBJECT(dev), "drive"); =20 return PFLASH_CFI01(dev); } diff --git a/hw/rtc/mc146818rtc.c b/hw/rtc/mc146818rtc.c index d18c09911b..9c30cbdcd7 100644 --- a/hw/rtc/mc146818rtc.c +++ b/hw/rtc/mc146818rtc.c @@ -962,7 +962,7 @@ static void rtc_realizefn(DeviceState *dev, Error **err= p) qdev_set_legacy_instance_id(dev, RTC_ISA_BASE, 3); qemu_register_reset(rtc_reset, s); =20 - object_property_add_tm(OBJECT(s), "date", rtc_get_date, NULL); + object_property_add_tm(OBJECT(s), "date", rtc_get_date); =20 qdev_init_gpio_out(dev, &s->irq, 1); QLIST_INSERT_HEAD(&rtc_devices, s, link); @@ -984,7 +984,7 @@ ISADevice *mc146818_rtc_init(ISABus *bus, int base_year= , qemu_irq intercept_irq) } =20 object_property_add_alias(qdev_get_machine(), "rtc-time", OBJECT(isade= v), - "date", NULL); + "date"); =20 return isadev; } diff --git a/hw/s390x/ap-bridge.c b/hw/s390x/ap-bridge.c index 9284de4eec..d0dbd0f1b6 100644 --- a/hw/s390x/ap-bridge.c +++ b/hw/s390x/ap-bridge.c @@ -51,7 +51,7 @@ void s390_init_ap(void) /* Create bridge device */ dev =3D qdev_create(NULL, TYPE_AP_BRIDGE); object_property_add_child(qdev_get_machine(), TYPE_AP_BRIDGE, - OBJECT(dev), NULL); + OBJECT(dev)); qdev_init_nofail(dev); =20 /* Create bus on bridge device */ diff --git a/hw/s390x/css-bridge.c b/hw/s390x/css-bridge.c index c9ce06b043..5d5286bc6e 100644 --- a/hw/s390x/css-bridge.c +++ b/hw/s390x/css-bridge.c @@ -103,7 +103,7 @@ VirtualCssBus *virtual_css_bus_init(void) /* Create bridge device */ dev =3D qdev_create(NULL, TYPE_VIRTUAL_CSS_BRIDGE); object_property_add_child(qdev_get_machine(), TYPE_VIRTUAL_CSS_BRIDGE, - OBJECT(dev), NULL); + OBJECT(dev)); qdev_init_nofail(dev); =20 /* Create bus on bridge device */ @@ -141,7 +141,7 @@ static void virtual_css_bridge_class_init(ObjectClass *= klass, void *data) set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); device_class_set_props(dc, virtual_css_bridge_properties); object_class_property_add_bool(klass, "cssid-unrestricted", - prop_get_true, NULL, NULL); + prop_get_true, NULL); object_class_property_set_description(klass, "cssid-unrestricted", "A css device can use any cssid, regardless whether virtual" " or not (read only, always true)"); diff --git a/hw/s390x/event-facility.c b/hw/s390x/event-facility.c index 9d6972afa8..97a4f0b1f5 100644 --- a/hw/s390x/event-facility.c +++ b/hw/s390x/event-facility.c @@ -449,18 +449,18 @@ static void init_event_facility(Object *obj) event_facility->allow_all_mask_sizes =3D true; object_property_add_bool(obj, "allow_all_mask_sizes", sclp_event_get_allow_all_mask_sizes, - sclp_event_set_allow_all_mask_sizes, NULL); + sclp_event_set_allow_all_mask_sizes); /* Spawn a new bus for SCLP events */ qbus_create_inplace(&event_facility->sbus, sizeof(event_facility->sbus= ), TYPE_SCLP_EVENTS_BUS, sdev, NULL); =20 new =3D object_new(TYPE_SCLP_QUIESCE); - object_property_add_child(obj, TYPE_SCLP_QUIESCE, new, NULL); + object_property_add_child(obj, TYPE_SCLP_QUIESCE, new); object_unref(new); qdev_set_parent_bus(DEVICE(new), BUS(&event_facility->sbus)); =20 new =3D object_new(TYPE_SCLP_CPU_HOTPLUG); - object_property_add_child(obj, TYPE_SCLP_CPU_HOTPLUG, new, NULL); + object_property_add_child(obj, TYPE_SCLP_CPU_HOTPLUG, new); object_unref(new); qdev_set_parent_bus(DEVICE(new), BUS(&event_facility->sbus)); /* the facility will automatically realize the devices via the bus */ diff --git a/hw/s390x/s390-skeys.c b/hw/s390x/s390-skeys.c index a9a4ae7b39..d304b85640 100644 --- a/hw/s390x/s390-skeys.c +++ b/hw/s390x/s390-skeys.c @@ -45,7 +45,7 @@ void s390_skeys_init(void) obj =3D object_new(TYPE_QEMU_S390_SKEYS); } object_property_add_child(qdev_get_machine(), TYPE_S390_SKEYS, - obj, NULL); + obj); object_unref(obj); =20 qdev_init_nofail(DEVICE(obj)); @@ -400,7 +400,7 @@ static void s390_skeys_instance_init(Object *obj) { object_property_add_bool(obj, "migration-enabled", s390_skeys_get_migration_enabled, - s390_skeys_set_migration_enabled, NULL); + s390_skeys_set_migration_enabled); object_property_set_bool(obj, true, "migration-enabled", NULL); } =20 diff --git a/hw/s390x/s390-stattrib.c b/hw/s390x/s390-stattrib.c index 58121b9f68..6d1e587527 100644 --- a/hw/s390x/s390-stattrib.c +++ b/hw/s390x/s390-stattrib.c @@ -47,7 +47,7 @@ void s390_stattrib_init(void) } =20 object_property_add_child(qdev_get_machine(), TYPE_S390_STATTRIB, - obj, NULL); + obj); object_unref(obj); =20 qdev_init_nofail(DEVICE(obj)); @@ -387,7 +387,7 @@ static void s390_stattrib_instance_init(Object *obj) =20 object_property_add_bool(obj, "migration-enabled", s390_stattrib_get_migration_enabled, - s390_stattrib_set_migration_enabled, NULL); + s390_stattrib_set_migration_enabled); object_property_set_bool(obj, true, "migration-enabled", NULL); sas->migration_cur_gfn =3D 0; } diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c index 8643c0baae..1299c59d44 100644 --- a/hw/s390x/s390-virtio-ccw.c +++ b/hw/s390x/s390-virtio-ccw.c @@ -208,7 +208,7 @@ static void s390_init_ipl_dev(const char *kernel_filena= me, } g_free(netboot_fw_prop); object_property_add_child(qdev_get_machine(), TYPE_S390_IPL, - new, NULL); + new); object_unref(new); qdev_init_nofail(dev); } @@ -271,7 +271,7 @@ static void ccw_init(MachineState *machine) =20 dev =3D qdev_create(NULL, TYPE_S390_PCI_HOST_BRIDGE); object_property_add_child(qdev_get_machine(), TYPE_S390_PCI_HOST_BRIDG= E, - OBJECT(dev), NULL); + OBJECT(dev)); qdev_init_nofail(dev); =20 /* register hypercalls */ @@ -729,19 +729,19 @@ static inline void s390_machine_initfn(Object *obj) { object_property_add_bool(obj, "aes-key-wrap", machine_get_aes_key_wrap, - machine_set_aes_key_wrap, NULL); + machine_set_aes_key_wrap); object_property_set_description(obj, "aes-key-wrap", "enable/disable AES key wrapping using the CPACF wrapping key"= ); object_property_set_bool(obj, true, "aes-key-wrap", NULL); =20 object_property_add_bool(obj, "dea-key-wrap", machine_get_dea_key_wrap, - machine_set_dea_key_wrap, NULL); + machine_set_dea_key_wrap); object_property_set_description(obj, "dea-key-wrap", "enable/disable DEA key wrapping using the CPACF wrapping key"= ); object_property_set_bool(obj, true, "dea-key-wrap", NULL); object_property_add_str(obj, "loadparm", - machine_get_loadparm, machine_set_loadparm, NULL); + machine_get_loadparm, machine_set_loadparm); object_property_set_description(obj, "loadparm", "Up to 8 chars in set of [A-Za-z0-9. ] (lower case chars conve= rted" " to upper case) to pass to machine loader, boot manager," diff --git a/hw/s390x/sclp.c b/hw/s390x/sclp.c index ede056b3ef..43cc1e0a41 100644 --- a/hw/s390x/sclp.c +++ b/hw/s390x/sclp.c @@ -320,8 +320,7 @@ void s390_sclp_init(void) { Object *new =3D object_new(TYPE_SCLP); =20 - object_property_add_child(qdev_get_machine(), TYPE_SCLP, new, - NULL); + object_property_add_child(qdev_get_machine(), TYPE_SCLP, new); object_unref(OBJECT(new)); qdev_init_nofail(DEVICE(new)); } @@ -383,7 +382,7 @@ static void sclp_init(Object *obj) Object *new; =20 new =3D object_new(TYPE_SCLP_EVENT_FACILITY); - object_property_add_child(obj, TYPE_SCLP_EVENT_FACILITY, new, NULL); + object_property_add_child(obj, TYPE_SCLP_EVENT_FACILITY, new); object_unref(new); sclp->event_facility =3D EVENT_FACILITY(new); =20 diff --git a/hw/s390x/tod.c b/hw/s390x/tod.c index 2499d6f656..7324e37b5e 100644 --- a/hw/s390x/tod.c +++ b/hw/s390x/tod.c @@ -26,7 +26,7 @@ void s390_init_tod(void) } else { obj =3D object_new(TYPE_QEMU_S390_TOD); } - object_property_add_child(qdev_get_machine(), TYPE_S390_TOD, obj, NULL= ); + object_property_add_child(qdev_get_machine(), TYPE_S390_TOD, obj); object_unref(obj); =20 qdev_init_nofail(DEVICE(obj)); diff --git a/hw/s390x/virtio-ccw-balloon.c b/hw/s390x/virtio-ccw-balloon.c index 5d28e72345..ef3308ecab 100644 --- a/hw/s390x/virtio-ccw-balloon.c +++ b/hw/s390x/virtio-ccw-balloon.c @@ -32,10 +32,10 @@ static void virtio_ccw_balloon_instance_init(Object *ob= j) virtio_instance_init_common(obj, &dev->vdev, sizeof(dev->vdev), TYPE_VIRTIO_BALLOON); object_property_add_alias(obj, "guest-stats", OBJECT(&dev->vdev), - "guest-stats", &error_abort); + "guest-stats"); object_property_add_alias(obj, "guest-stats-polling-interval", OBJECT(&dev->vdev), - "guest-stats-polling-interval", &error_abort= ); + "guest-stats-polling-interval"); } =20 static Property virtio_ccw_balloon_properties[] =3D { diff --git a/hw/s390x/virtio-ccw-blk.c b/hw/s390x/virtio-ccw-blk.c index bf8520e60a..7287932b7e 100644 --- a/hw/s390x/virtio-ccw-blk.c +++ b/hw/s390x/virtio-ccw-blk.c @@ -32,7 +32,7 @@ static void virtio_ccw_blk_instance_init(Object *obj) virtio_instance_init_common(obj, &dev->vdev, sizeof(dev->vdev), TYPE_VIRTIO_BLK); object_property_add_alias(obj, "bootindex", OBJECT(&dev->vdev), - "bootindex", &error_abort); + "bootindex"); } =20 static Property virtio_ccw_blk_properties[] =3D { diff --git a/hw/s390x/virtio-ccw-net.c b/hw/s390x/virtio-ccw-net.c index cd02699934..26c4d873bf 100644 --- a/hw/s390x/virtio-ccw-net.c +++ b/hw/s390x/virtio-ccw-net.c @@ -35,7 +35,7 @@ static void virtio_ccw_net_instance_init(Object *obj) virtio_instance_init_common(obj, &dev->vdev, sizeof(dev->vdev), TYPE_VIRTIO_NET); object_property_add_alias(obj, "bootindex", OBJECT(&dev->vdev), - "bootindex", &error_abort); + "bootindex"); } =20 static Property virtio_ccw_net_properties[] =3D { diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c index 1c980cab38..ab5459a589 100644 --- a/hw/scsi/scsi-bus.c +++ b/hw/scsi/scsi-bus.c @@ -268,7 +268,7 @@ SCSIDevice *scsi_bus_legacy_add_drive(SCSIBus *bus, Blo= ckBackend *blk, } dev =3D qdev_create(&bus->qbus, driver); name =3D g_strdup_printf("legacy[%d]", unit); - object_property_add_child(OBJECT(bus), name, OBJECT(dev), NULL); + object_property_add_child(OBJECT(bus), name, OBJECT(dev)); g_free(name); =20 qdev_prop_set_uint32(dev, "scsi-id", unit); diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c index 7472d24e2c..8dda3f7292 100644 --- a/hw/sparc/sun4m.c +++ b/hw/sparc/sun4m.c @@ -795,7 +795,7 @@ static void ram_initfn(Object *obj) object_property_add_link(obj, "memdev", TYPE_MEMORY_BACKEND, (Object **)&d->memdev, object_property_allow_set_link, - OBJ_PROP_LINK_STRONG, &error_abort); + OBJ_PROP_LINK_STRONG); object_property_set_description(obj, "memdev", "Set RAM backend" "Valid value is ID of a hostmem backen= d"); } @@ -1060,7 +1060,7 @@ static void sun4m_hw_init(const struct sun4m_hwdef *h= wdef, qdev_prop_set_uint32(dev, "data_width", 1); qdev_prop_set_bit(dev, "dma_enabled", false); object_property_add_child(OBJECT(qdev_get_machine()), TYPE_FW_CFG, - OBJECT(fw_cfg), NULL); + OBJECT(fw_cfg)); qdev_init_nofail(dev); s =3D SYS_BUS_DEVICE(dev); sysbus_mmio_map(s, 0, CFG_ADDR); diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c index 6abfcb30f8..3a757ec42e 100644 --- a/hw/sparc64/sun4u.c +++ b/hw/sparc64/sun4u.c @@ -691,7 +691,7 @@ static void sun4uv_init(MemoryRegion *address_space_mem, =20 dev =3D qdev_create(NULL, TYPE_FW_CFG_IO); qdev_prop_set_bit(dev, "dma_enabled", false); - object_property_add_child(OBJECT(ebus), TYPE_FW_CFG, OBJECT(dev), NULL= ); + object_property_add_child(OBJECT(ebus), TYPE_FW_CFG, OBJECT(dev)); qdev_init_nofail(dev); memory_region_add_subregion(pci_address_space_io(ebus), BIOS_CFG_IOPOR= T, &FW_CFG_IO(dev)->comb_iomem); diff --git a/hw/ssi/xilinx_spips.c b/hw/ssi/xilinx_spips.c index c57850a505..b490a899bf 100644 --- a/hw/ssi/xilinx_spips.c +++ b/hw/ssi/xilinx_spips.c @@ -1360,8 +1360,7 @@ static void xlnx_zynqmp_qspips_init(Object *obj) object_property_add_link(obj, "stream-connected-dma", TYPE_STREAM_SLAV= E, (Object **)&rq->dma, object_property_allow_set_link, - OBJ_PROP_LINK_STRONG, - NULL); + OBJ_PROP_LINK_STRONG); } =20 static int xilinx_spips_post_load(void *opaque, int version_id) diff --git a/hw/usb/bus.c b/hw/usb/bus.c index c9a390063f..686f492112 100644 --- a/hw/usb/bus.c +++ b/hw/usb/bus.c @@ -753,12 +753,10 @@ static void usb_device_instance_init(Object *obj) =20 if (klass->attached_settable) { object_property_add_bool(obj, "attached", - usb_get_attached, usb_set_attached, - NULL); + usb_get_attached, usb_set_attached); } else { object_property_add_bool(obj, "attached", - usb_get_attached, NULL, - NULL); + usb_get_attached, NULL); } } =20 diff --git a/hw/usb/dev-storage.c b/hw/usb/dev-storage.c index 5c4b57b06b..4eba47538d 100644 --- a/hw/usb/dev-storage.c +++ b/hw/usb/dev-storage.c @@ -753,7 +753,7 @@ static void usb_msd_instance_init(Object *obj) { object_property_add(obj, "bootindex", "int32", usb_msd_get_bootindex, - usb_msd_set_bootindex, NULL, NULL, NULL); + usb_msd_set_bootindex, NULL, NULL); object_property_set_int(obj, -1, "bootindex", NULL); } =20 diff --git a/hw/vfio/pci-quirks.c b/hw/vfio/pci-quirks.c index 2d348f8237..3bd05fed12 100644 --- a/hw/vfio/pci-quirks.c +++ b/hw/vfio/pci-quirks.c @@ -1634,7 +1634,7 @@ int vfio_pci_nvidia_v100_ram_init(VFIOPCIDevice *vdev= , Error **errp) =20 object_property_add(OBJECT(vdev), "nvlink2-tgt", "uint64", vfio_pci_nvlink2_get_tgt, NULL, NULL, - (void *) (uintptr_t) cap->tgt, NULL); + (void *) (uintptr_t) cap->tgt); trace_vfio_pci_nvidia_gpu_setup_quirk(vdev->vbasedev.name, cap->tgt, nv2reg->size); free_exit: @@ -1695,13 +1695,13 @@ int vfio_pci_nvlink2_init(VFIOPCIDevice *vdev, Erro= r **errp) =20 object_property_add(OBJECT(vdev), "nvlink2-tgt", "uint64", vfio_pci_nvlink2_get_tgt, NULL, NULL, - (void *) (uintptr_t) captgt->tgt, NULL); + (void *) (uintptr_t) captgt->tgt); trace_vfio_pci_nvlink2_setup_quirk_ssatgt(vdev->vbasedev.name, captgt-= >tgt, atsdreg->size); =20 object_property_add(OBJECT(vdev), "nvlink2-link-speed", "uint32", vfio_pci_nvlink2_get_link_speed, NULL, NULL, - (void *) (uintptr_t) capspeed->link_speed, NULL); + (void *) (uintptr_t) capspeed->link_speed); trace_vfio_pci_nvlink2_setup_quirk_lnkspd(vdev->vbasedev.name, capspeed->link_speed); free_exit: diff --git a/hw/virtio/vhost-scsi-pci.c b/hw/virtio/vhost-scsi-pci.c index 5dce640eaf..5da6bb6449 100644 --- a/hw/virtio/vhost-scsi-pci.c +++ b/hw/virtio/vhost-scsi-pci.c @@ -78,7 +78,7 @@ static void vhost_scsi_pci_instance_init(Object *obj) virtio_instance_init_common(obj, &dev->vdev, sizeof(dev->vdev), TYPE_VHOST_SCSI); object_property_add_alias(obj, "bootindex", OBJECT(&dev->vdev), - "bootindex", &error_abort); + "bootindex"); } =20 static const VirtioPCIDeviceTypeInfo vhost_scsi_pci_info =3D { diff --git a/hw/virtio/vhost-user-blk-pci.c b/hw/virtio/vhost-user-blk-pci.c index 8d3d766427..58d7c31735 100644 --- a/hw/virtio/vhost-user-blk-pci.c +++ b/hw/virtio/vhost-user-blk-pci.c @@ -84,7 +84,7 @@ static void vhost_user_blk_pci_instance_init(Object *obj) virtio_instance_init_common(obj, &dev->vdev, sizeof(dev->vdev), TYPE_VHOST_USER_BLK); object_property_add_alias(obj, "bootindex", OBJECT(&dev->vdev), - "bootindex", &error_abort); + "bootindex"); } =20 static const VirtioPCIDeviceTypeInfo vhost_user_blk_pci_info =3D { diff --git a/hw/virtio/vhost-user-input-pci.c b/hw/virtio/vhost-user-input-= pci.c index ae9cff9aed..0a50015599 100644 --- a/hw/virtio/vhost-user-input-pci.c +++ b/hw/virtio/vhost-user-input-pci.c @@ -31,8 +31,7 @@ static void vhost_user_input_pci_instance_init(Object *ob= j) TYPE_VHOST_USER_INPUT); =20 object_property_add_alias(obj, "chardev", - OBJECT(&dev->vhi), "chardev", - &error_abort); + OBJECT(&dev->vhi), "chardev"); } =20 static const VirtioPCIDeviceTypeInfo vhost_user_input_pci_info =3D { diff --git a/hw/virtio/vhost-user-scsi-pci.c b/hw/virtio/vhost-user-scsi-pc= i.c index 32febb2daa..6f3375fe55 100644 --- a/hw/virtio/vhost-user-scsi-pci.c +++ b/hw/virtio/vhost-user-scsi-pci.c @@ -84,7 +84,7 @@ static void vhost_user_scsi_pci_instance_init(Object *obj) virtio_instance_init_common(obj, &dev->vdev, sizeof(dev->vdev), TYPE_VHOST_USER_SCSI); object_property_add_alias(obj, "bootindex", OBJECT(&dev->vdev), - "bootindex", &error_abort); + "bootindex"); } =20 static const VirtioPCIDeviceTypeInfo vhost_user_scsi_pci_info =3D { diff --git a/hw/virtio/virtio-balloon-pci.c b/hw/virtio/virtio-balloon-pci.c index 56962aeb43..cc25df0a3d 100644 --- a/hw/virtio/virtio-balloon-pci.c +++ b/hw/virtio/virtio-balloon-pci.c @@ -73,10 +73,10 @@ static void virtio_balloon_pci_instance_init(Object *ob= j) virtio_instance_init_common(obj, &dev->vdev, sizeof(dev->vdev), TYPE_VIRTIO_BALLOON); object_property_add_alias(obj, "guest-stats", OBJECT(&dev->vdev), - "guest-stats", &error_abort); + "guest-stats"); object_property_add_alias(obj, "guest-stats-polling-interval", OBJECT(&dev->vdev), - "guest-stats-polling-interval", &error_abort= ); + "guest-stats-polling-interval"); } =20 static const VirtioPCIDeviceTypeInfo virtio_balloon_pci_info =3D { diff --git a/hw/virtio/virtio-balloon.c b/hw/virtio/virtio-balloon.c index a4729f7fc9..6d3ddf6449 100644 --- a/hw/virtio/virtio-balloon.c +++ b/hw/virtio/virtio-balloon.c @@ -893,12 +893,12 @@ static void virtio_balloon_instance_init(Object *obj) VirtIOBalloon *s =3D VIRTIO_BALLOON(obj); =20 object_property_add(obj, "guest-stats", "guest statistics", - balloon_stats_get_all, NULL, NULL, s, NULL); + balloon_stats_get_all, NULL, NULL, s); =20 object_property_add(obj, "guest-stats-polling-interval", "int", balloon_stats_get_poll_interval, balloon_stats_set_poll_interval, - NULL, s, NULL); + NULL, s); } =20 static const VMStateDescription vmstate_virtio_balloon =3D { diff --git a/hw/virtio/virtio-blk-pci.c b/hw/virtio/virtio-blk-pci.c index efb2c22a1d..28838fa958 100644 --- a/hw/virtio/virtio-blk-pci.c +++ b/hw/virtio/virtio-blk-pci.c @@ -81,7 +81,7 @@ static void virtio_blk_pci_instance_init(Object *obj) virtio_instance_init_common(obj, &dev->vdev, sizeof(dev->vdev), TYPE_VIRTIO_BLK); object_property_add_alias(obj, "bootindex", OBJECT(&dev->vdev), - "bootindex", &error_abort); + "bootindex"); } =20 static const VirtioPCIDeviceTypeInfo virtio_blk_pci_info =3D { diff --git a/hw/virtio/virtio-net-pci.c b/hw/virtio/virtio-net-pci.c index 5ca71d4c34..ea43040f7b 100644 --- a/hw/virtio/virtio-net-pci.c +++ b/hw/virtio/virtio-net-pci.c @@ -79,7 +79,7 @@ static void virtio_net_pci_instance_init(Object *obj) virtio_instance_init_common(obj, &dev->vdev, sizeof(dev->vdev), TYPE_VIRTIO_NET); object_property_add_alias(obj, "bootindex", OBJECT(&dev->vdev), - "bootindex", &error_abort); + "bootindex"); } =20 static const VirtioPCIDeviceTypeInfo virtio_net_pci_info =3D { diff --git a/hw/virtio/virtio-rng.c b/hw/virtio/virtio-rng.c index 1e363ad07b..672619c780 100644 --- a/hw/virtio/virtio-rng.c +++ b/hw/virtio/virtio-rng.c @@ -203,7 +203,7 @@ static void virtio_rng_device_realize(DeviceState *dev,= Error **errp) } =20 object_property_add_child(OBJECT(dev), "default-backend", - default_backend, &error_abort); + default_backend); =20 /* The child property took a reference, we can safely drop ours no= w */ object_unref(default_backend); diff --git a/hw/xen/xen-common.c b/hw/xen/xen-common.c index adaab81ce0..70564cc952 100644 --- a/hw/xen/xen-common.c +++ b/hw/xen/xen-common.c @@ -198,8 +198,7 @@ static void xen_accel_class_init(ObjectClass *oc, void = *data) compat_props_add(ac->compat_props, compat, G_N_ELEMENTS(compat)); =20 object_class_property_add_bool(oc, "igd-passthru", - xen_get_igd_gfx_passthru, xen_set_igd_gfx_passthru, - &error_abort); + xen_get_igd_gfx_passthru, xen_set_igd_gfx_passthru); object_class_property_set_description(oc, "igd-passthru", "Set on/off to enable/disable igd passthrou"); } diff --git a/iothread.c b/iothread.c index 7130be58e3..cb082b9b26 100644 --- a/iothread.c +++ b/iothread.c @@ -276,15 +276,15 @@ static void iothread_class_init(ObjectClass *klass, v= oid *class_data) object_class_property_add(klass, "poll-max-ns", "int", iothread_get_poll_param, iothread_set_poll_param, - NULL, &poll_max_ns_info, &error_abort); + NULL, &poll_max_ns_info); object_class_property_add(klass, "poll-grow", "int", iothread_get_poll_param, iothread_set_poll_param, - NULL, &poll_grow_info, &error_abort); + NULL, &poll_grow_info); object_class_property_add(klass, "poll-shrink", "int", iothread_get_poll_param, iothread_set_poll_param, - NULL, &poll_shrink_info, &error_abort); + NULL, &poll_shrink_info); } =20 static const TypeInfo iothread_info =3D { diff --git a/memory.c b/memory.c index 936c1b23d4..fd6f3d6aca 100644 --- a/memory.c +++ b/memory.c @@ -1154,7 +1154,7 @@ static void memory_region_do_init(MemoryRegion *mr, owner =3D container_get(qdev_get_machine(), "/unattached"); } =20 - object_property_add_child(owner, name_array, OBJECT(mr), &error_ab= ort); + object_property_add_child(owner, name_array, OBJECT(mr)); object_unref(OBJECT(mr)); g_free(name_array); g_free(escaped_name); @@ -1230,19 +1230,19 @@ static void memory_region_initfn(Object *obj) "link<" TYPE_MEMORY_REGION ">", memory_region_get_container, NULL, /* memory_region_set_container */ - NULL, NULL, &error_abort); + NULL, NULL); op->resolve =3D memory_region_resolve_container; =20 object_property_add_uint64_ptr(OBJECT(mr), "addr", - &mr->addr, OBJ_PROP_FLAG_READ, &error_a= bort); + &mr->addr, OBJ_PROP_FLAG_READ); object_property_add(OBJECT(mr), "priority", "uint32", memory_region_get_priority, NULL, /* memory_region_set_priority */ - NULL, NULL, &error_abort); + NULL, NULL); object_property_add(OBJECT(mr), "size", "uint64", memory_region_get_size, NULL, /* memory_region_set_size, */ - NULL, NULL, &error_abort); + NULL, NULL); } =20 static void iommu_memory_region_initfn(Object *obj) diff --git a/net/can/can_host.c b/net/can/can_host.c index 1dfaf0ced0..be4547d913 100644 --- a/net/can/can_host.c +++ b/net/can/can_host.c @@ -79,8 +79,7 @@ static void can_host_instance_init(Object *obj) object_property_add_link(obj, "canbus", TYPE_CAN_BUS, (Object **)&ch->bus, object_property_allow_set_link, - OBJ_PROP_LINK_STRONG, - &error_abort); + OBJ_PROP_LINK_STRONG); } =20 static void can_host_class_init(ObjectClass *klass, diff --git a/net/can/can_socketcan.c b/net/can/can_socketcan.c index 807f31fcde..b7ef63ec0e 100644 --- a/net/can/can_socketcan.c +++ b/net/can/can_socketcan.c @@ -266,8 +266,7 @@ static void can_host_socketcan_class_init(ObjectClass *= klass, =20 object_class_property_add_str(klass, "if", can_host_socketcan_get_if, - can_host_socketcan_set_if, - &error_abort); + can_host_socketcan_set_if); chc->connect =3D can_host_socketcan_connect; chc->disconnect =3D can_host_socketcan_disconnect; } diff --git a/net/colo-compare.c b/net/colo-compare.c index 10c0239f9d..c07e7c1c09 100644 --- a/net/colo-compare.c +++ b/net/colo-compare.c @@ -1245,34 +1245,30 @@ static void colo_compare_init(Object *obj) CompareState *s =3D COLO_COMPARE(obj); =20 object_property_add_str(obj, "primary_in", - compare_get_pri_indev, compare_set_pri_indev, - NULL); + compare_get_pri_indev, compare_set_pri_indev); object_property_add_str(obj, "secondary_in", - compare_get_sec_indev, compare_set_sec_indev, - NULL); + compare_get_sec_indev, compare_set_sec_indev); object_property_add_str(obj, "outdev", - compare_get_outdev, compare_set_outdev, - NULL); + compare_get_outdev, compare_set_outdev); object_property_add_link(obj, "iothread", TYPE_IOTHREAD, (Object **)&s->iothread, object_property_allow_set_link, - OBJ_PROP_LINK_STRONG, NULL); + OBJ_PROP_LINK_STRONG); /* This parameter just for Xen COLO */ object_property_add_str(obj, "notify_dev", - compare_get_notify_dev, compare_set_notify_dev, - NULL); + compare_get_notify_dev, compare_set_notify_dev= ); =20 object_property_add(obj, "compare_timeout", "uint32", compare_get_timeout, - compare_set_timeout, NULL, NULL, NULL); + compare_set_timeout, NULL, NULL); =20 object_property_add(obj, "expired_scan_cycle", "uint32", compare_get_expired_scan_cycle, - compare_set_expired_scan_cycle, NULL, NULL, NULL); + compare_set_expired_scan_cycle, NULL, NULL); =20 s->vnet_hdr =3D false; object_property_add_bool(obj, "vnet_hdr_support", compare_get_vnet_hdr, - compare_set_vnet_hdr, NULL); + compare_set_vnet_hdr); } =20 static void colo_compare_finalize(Object *obj) diff --git a/net/dump.c b/net/dump.c index 23b3628dde..61389e7dad 100644 --- a/net/dump.c +++ b/net/dump.c @@ -232,9 +232,9 @@ static void filter_dump_instance_init(Object *obj) nfds->maxlen =3D 65536; =20 object_property_add(obj, "maxlen", "uint32", filter_dump_get_maxlen, - filter_dump_set_maxlen, NULL, NULL, NULL); + filter_dump_set_maxlen, NULL, NULL); object_property_add_str(obj, "file", file_dump_get_filename, - file_dump_set_filename, NULL); + file_dump_set_filename); } =20 static void filter_dump_instance_finalize(Object *obj) diff --git a/net/filter-buffer.c b/net/filter-buffer.c index 12e0254287..93050f86cf 100644 --- a/net/filter-buffer.c +++ b/net/filter-buffer.c @@ -192,7 +192,7 @@ static void filter_buffer_init(Object *obj) { object_property_add(obj, "interval", "uint32", filter_buffer_get_interval, - filter_buffer_set_interval, NULL, NULL, NULL); + filter_buffer_set_interval, NULL, NULL); } =20 static const TypeInfo filter_buffer_info =3D { diff --git a/net/filter-mirror.c b/net/filter-mirror.c index d83e815545..e9379ce248 100644 --- a/net/filter-mirror.c +++ b/net/filter-mirror.c @@ -392,12 +392,12 @@ static void filter_mirror_init(Object *obj) MirrorState *s =3D FILTER_MIRROR(obj); =20 object_property_add_str(obj, "outdev", filter_mirror_get_outdev, - filter_mirror_set_outdev, NULL); + filter_mirror_set_outdev); =20 s->vnet_hdr =3D false; object_property_add_bool(obj, "vnet_hdr_support", filter_mirror_get_vnet_hdr, - filter_mirror_set_vnet_hdr, NULL); + filter_mirror_set_vnet_hdr); } =20 static void filter_redirector_init(Object *obj) @@ -405,14 +405,14 @@ static void filter_redirector_init(Object *obj) MirrorState *s =3D FILTER_REDIRECTOR(obj); =20 object_property_add_str(obj, "indev", filter_redirector_get_indev, - filter_redirector_set_indev, NULL); + filter_redirector_set_indev); object_property_add_str(obj, "outdev", filter_redirector_get_outdev, - filter_redirector_set_outdev, NULL); + filter_redirector_set_outdev); =20 s->vnet_hdr =3D false; object_property_add_bool(obj, "vnet_hdr_support", filter_redirector_get_vnet_hdr, - filter_redirector_set_vnet_hdr, NULL); + filter_redirector_set_vnet_hdr); } =20 static void filter_mirror_fini(Object *obj) diff --git a/net/filter-rewriter.c b/net/filter-rewriter.c index 31da08a2f4..1aaad101b6 100644 --- a/net/filter-rewriter.c +++ b/net/filter-rewriter.c @@ -413,7 +413,7 @@ static void filter_rewriter_init(Object *obj) s->failover_mode =3D FAILOVER_MODE_OFF; object_property_add_bool(obj, "vnet_hdr_support", filter_rewriter_get_vnet_hdr, - filter_rewriter_set_vnet_hdr, NULL); + filter_rewriter_set_vnet_hdr); } =20 static void colo_rewriter_class_init(ObjectClass *oc, void *data) diff --git a/net/filter.c b/net/filter.c index 8221666263..caf6443655 100644 --- a/net/filter.c +++ b/net/filter.c @@ -214,21 +214,16 @@ static void netfilter_init(Object *obj) nf->position =3D g_strdup("tail"); =20 object_property_add_str(obj, "netdev", - netfilter_get_netdev_id, netfilter_set_netdev_= id, - NULL); + netfilter_get_netdev_id, netfilter_set_netdev_= id); object_property_add_enum(obj, "queue", "NetFilterDirection", &NetFilterDirection_lookup, - netfilter_get_direction, netfilter_set_direct= ion, - NULL); + netfilter_get_direction, netfilter_set_direct= ion); object_property_add_str(obj, "status", - netfilter_get_status, netfilter_set_status, - NULL); + netfilter_get_status, netfilter_set_status); object_property_add_str(obj, "position", - netfilter_get_position, netfilter_set_position, - NULL); + netfilter_get_position, netfilter_set_position= ); object_property_add_str(obj, "insert", - netfilter_get_insert, netfilter_set_insert, - NULL); + netfilter_get_insert, netfilter_set_insert); } =20 static void netfilter_complete(UserCreatable *uc, Error **errp) diff --git a/qdev-monitor.c b/qdev-monitor.c index 56cee1483f..a4735d3bb1 100644 --- a/qdev-monitor.c +++ b/qdev-monitor.c @@ -562,12 +562,12 @@ void qdev_set_id(DeviceState *dev, const char *id) =20 if (dev->id) { object_property_add_child(qdev_get_peripheral(), dev->id, - OBJECT(dev), NULL); + OBJECT(dev)); } else { static int anon_count; gchar *name =3D g_strdup_printf("device[%d]", anon_count++); object_property_add_child(qdev_get_peripheral_anon(), name, - OBJECT(dev), NULL); + OBJECT(dev)); g_free(name); } } diff --git a/qom/container.c b/qom/container.c index e635e8ee76..14e7ae485b 100644 --- a/qom/container.c +++ b/qom/container.c @@ -39,7 +39,7 @@ Object *container_get(Object *root, const char *path) child =3D object_resolve_path_component(obj, parts[i]); if (!child) { child =3D object_new("container"); - object_property_add_child(obj, parts[i], child, NULL); + object_property_add_child(obj, parts[i], child); object_unref(child); } } diff --git a/qom/object.c b/qom/object.c index 58a6ec9b1b..23f481ca46 100644 --- a/qom/object.c +++ b/qom/object.c @@ -557,10 +557,7 @@ void object_initialize_childv(Object *parentobj, const= char *propname, goto out; } =20 - object_property_add_child(parentobj, propname, obj, &local_err); - if (local_err) { - goto out; - } + object_property_add_child(parentobj, propname, obj); =20 uc =3D (UserCreatable *)object_dynamic_cast(obj, TYPE_USER_CREATABLE); if (uc) { @@ -745,10 +742,7 @@ Object *object_new_with_propv(const char *typename, } =20 if (id !=3D NULL) { - object_property_add_child(parent, id, obj, &local_err); - if (local_err) { - goto error; - } + object_property_add_child(parent, id, obj); } =20 uc =3D (UserCreatable *)object_dynamic_cast(obj, TYPE_USER_CREATABLE); @@ -1129,12 +1123,12 @@ void object_unref(Object *obj) } } =20 -ObjectProperty * -object_property_add(Object *obj, const char *name, const char *type, - ObjectPropertyAccessor *get, - ObjectPropertyAccessor *set, - ObjectPropertyRelease *release, - void *opaque, Error **errp) +static ObjectProperty * +object_property_try_add(Object *obj, const char *name, const char *type, + ObjectPropertyAccessor *get, + ObjectPropertyAccessor *set, + ObjectPropertyRelease *release, + void *opaque, Error **errp) { ObjectProperty *prop; size_t name_len =3D strlen(name); @@ -1148,8 +1142,8 @@ object_property_add(Object *obj, const char *name, co= nst char *type, for (i =3D 0; ; ++i) { char *full_name =3D g_strdup_printf("%s[%d]", name_no_array, i= ); =20 - ret =3D object_property_add(obj, full_name, type, get, set, - release, opaque, NULL); + ret =3D object_property_try_add(obj, full_name, type, get, set, + release, opaque, NULL); g_free(full_name); if (ret) { break; @@ -1179,6 +1173,17 @@ object_property_add(Object *obj, const char *name, c= onst char *type, return prop; } =20 +ObjectProperty * +object_property_add(Object *obj, const char *name, const char *type, + ObjectPropertyAccessor *get, + ObjectPropertyAccessor *set, + ObjectPropertyRelease *release, + void *opaque) +{ + return object_property_try_add(obj, name, type, get, set, release, + opaque, &error_abort); +} + ObjectProperty * object_class_property_add(ObjectClass *klass, const char *name, @@ -1186,16 +1191,11 @@ object_class_property_add(ObjectClass *klass, ObjectPropertyAccessor *get, ObjectPropertyAccessor *set, ObjectPropertyRelease *release, - void *opaque, - Error **errp) + void *opaque) { ObjectProperty *prop; =20 - if (object_class_property_find(klass, name, NULL) !=3D NULL) { - error_setg(errp, "attempt to add duplicate property '%s' to class = (type '%s')", - name, object_class_get_name(klass)); - return NULL; - } + assert(!object_class_property_find(klass, name, NULL)); =20 prop =3D g_malloc0(sizeof(*prop)); =20 @@ -1648,24 +1648,17 @@ static void object_finalize_child_property(Object *= obj, const char *name, =20 ObjectProperty * object_property_add_child(Object *obj, const char *name, - Object *child, Error **errp) + Object *child) { g_autofree char *type =3D NULL; ObjectProperty *op; =20 - if (child->parent !=3D NULL) { - error_setg(errp, "child object is already parented"); - return NULL; - } + assert(!child->parent); =20 type =3D g_strdup_printf("child<%s>", object_get_typename(OBJECT(child= ))); =20 op =3D object_property_add(obj, name, type, object_get_child_property,= NULL, - object_finalize_child_property, child, errp); - if (!op) { - return NULL; - } - + object_finalize_child_property, child); op->resolve =3D object_resolve_child_property; object_ref(child); child->parent =3D obj; @@ -1821,8 +1814,7 @@ object_add_link_prop(Object *obj, const char *name, const char *type, void *ptr, void (*check)(const Object *, const char *, Object *, Error **), - ObjectPropertyLinkFlags flags, - Error **errp) + ObjectPropertyLinkFlags flags) { LinkProperty *prop =3D g_malloc(sizeof(*prop)); g_autofree char *full_type =3D NULL; @@ -1842,13 +1834,7 @@ object_add_link_prop(Object *obj, const char *name, object_get_link_property, check ? object_set_link_property : NULL, object_release_link_property, - prop, - errp); - if (!op) { - g_free(prop); - return NULL; - } - + prop); op->resolve =3D object_resolve_link_property; return op; } @@ -1858,11 +1844,9 @@ object_property_add_link(Object *obj, const char *na= me, const char *type, Object **targetp, void (*check)(const Object *, const char *, Object *, Error **), - ObjectPropertyLinkFlags flags, - Error **errp) + ObjectPropertyLinkFlags flags) { - return object_add_link_prop(obj, name, type, targetp, check, flags, - errp); + return object_add_link_prop(obj, name, type, targetp, check, flags); } =20 ObjectProperty * @@ -1871,10 +1855,8 @@ object_class_property_add_link(ObjectClass *oc, const char *type, ptrdiff_t offset, void (*check)(const Object *obj, const char *name, Object *val, Error **errp), - ObjectPropertyLinkFlags flags, - Error **errp) + ObjectPropertyLinkFlags flags) { - Error *local_err =3D NULL; LinkProperty *prop =3D g_new0(LinkProperty, 1); char *full_type; ObjectProperty *op; @@ -1889,28 +1871,21 @@ object_class_property_add_link(ObjectClass *oc, object_get_link_property, check ? object_set_link_property : NULL, object_release_link_property, - prop, - &local_err); - if (local_err) { - error_propagate(errp, local_err); - g_free(prop); - goto out; - } + prop); =20 op->resolve =3D object_resolve_link_property; =20 -out: g_free(full_type); return op; } =20 ObjectProperty * object_property_add_const_link(Object *obj, const char *name, - Object *target, Error **errp) + Object *target) { return object_add_link_prop(obj, name, object_get_typename(target), target, - NULL, OBJ_PROP_LINK_DIRECT, errp); + NULL, OBJ_PROP_LINK_DIRECT); } =20 char *object_get_canonical_path_component(Object *obj) @@ -2122,51 +2097,36 @@ static void property_release_str(Object *obj, const= char *name, ObjectProperty * object_property_add_str(Object *obj, const char *name, char *(*get)(Object *, Error **), - void (*set)(Object *, const char *, Error **), - Error **errp) + void (*set)(Object *, const char *, Error **)) { StringProperty *prop =3D g_malloc0(sizeof(*prop)); - ObjectProperty *op; =20 prop->get =3D get; prop->set =3D set; =20 - op =3D object_property_add(obj, name, "string", - get ? property_get_str : NULL, - set ? property_set_str : NULL, - property_release_str, - prop, errp); - if (!op) { - g_free(prop); - } - return op; + return object_property_add(obj, name, "string", + get ? property_get_str : NULL, + set ? property_set_str : NULL, + property_release_str, + prop); } =20 ObjectProperty * object_class_property_add_str(ObjectClass *klass, const char *name, char *(*get)(Object *, Error **), void (*set)(Object *, const char *, - Error **), - Error **errp) + Error **)) { - Error *local_err =3D NULL; StringProperty *prop =3D g_malloc0(sizeof(*prop)); - ObjectProperty *rv; =20 prop->get =3D get; prop->set =3D set; =20 - rv =3D object_class_property_add(klass, name, "string", - get ? property_get_str : NULL, - set ? property_set_str : NULL, - NULL, - prop, &local_err); - if (local_err) { - error_propagate(errp, local_err); - g_free(prop); - } - - return rv; + return object_class_property_add(klass, name, "string", + get ? property_get_str : NULL, + set ? property_set_str : NULL, + NULL, + prop); } =20 typedef struct BoolProperty @@ -2217,50 +2177,35 @@ static void property_release_bool(Object *obj, cons= t char *name, ObjectProperty * object_property_add_bool(Object *obj, const char *name, bool (*get)(Object *, Error **), - void (*set)(Object *, bool, Error **), - Error **errp) + void (*set)(Object *, bool, Error **)) { BoolProperty *prop =3D g_malloc0(sizeof(*prop)); - ObjectProperty *op; =20 prop->get =3D get; prop->set =3D set; =20 - op =3D object_property_add(obj, name, "bool", - get ? property_get_bool : NULL, - set ? property_set_bool : NULL, - property_release_bool, - prop, errp); - if (!op) { - g_free(prop); - } - return op; + return object_property_add(obj, name, "bool", + get ? property_get_bool : NULL, + set ? property_set_bool : NULL, + property_release_bool, + prop); } =20 ObjectProperty * object_class_property_add_bool(ObjectClass *klass, const char *name, bool (*get)(Object *, Error **), - void (*set)(Object *, bool, Error **), - Error **errp) + void (*set)(Object *, bool, Error **)) { - Error *local_err =3D NULL; BoolProperty *prop =3D g_malloc0(sizeof(*prop)); - ObjectProperty *rv; =20 prop->get =3D get; prop->set =3D set; =20 - rv =3D object_class_property_add(klass, name, "bool", - get ? property_get_bool : NULL, - set ? property_set_bool : NULL, - NULL, - prop, &local_err); - if (local_err) { - error_propagate(errp, local_err); - g_free(prop); - } - - return rv; + return object_class_property_add(klass, name, "bool", + get ? property_get_bool : NULL, + set ? property_set_bool : NULL, + NULL, + prop); } =20 static void property_get_enum(Object *obj, Visitor *v, const char *name, @@ -2306,25 +2251,19 @@ object_property_add_enum(Object *obj, const char *n= ame, const char *typename, const QEnumLookup *lookup, int (*get)(Object *, Error **), - void (*set)(Object *, int, Error **), - Error **errp) + void (*set)(Object *, int, Error **)) { EnumProperty *prop =3D g_malloc(sizeof(*prop)); - ObjectProperty *op; =20 prop->lookup =3D lookup; prop->get =3D get; prop->set =3D set; =20 - op =3D object_property_add(obj, name, typename, - get ? property_get_enum : NULL, - set ? property_set_enum : NULL, - property_release_enum, - prop, errp); - if (!op) { - g_free(prop); - } - return op; + return object_property_add(obj, name, typename, + get ? property_get_enum : NULL, + set ? property_set_enum : NULL, + property_release_enum, + prop); } =20 ObjectProperty * @@ -2332,28 +2271,19 @@ object_class_property_add_enum(ObjectClass *klass, = const char *name, const char *typename, const QEnumLookup *lookup, int (*get)(Object *, Error **), - void (*set)(Object *, int, Error **), - Error **errp) + void (*set)(Object *, int, Error **)) { - Error *local_err =3D NULL; EnumProperty *prop =3D g_malloc(sizeof(*prop)); - ObjectProperty *rv; =20 prop->lookup =3D lookup; prop->get =3D get; prop->set =3D set; =20 - rv =3D object_class_property_add(klass, name, typename, - get ? property_get_enum : NULL, - set ? property_set_enum : NULL, - NULL, - prop, &local_err); - if (local_err) { - error_propagate(errp, local_err); - g_free(prop); - } - - return rv; + return object_class_property_add(klass, name, typename, + get ? property_get_enum : NULL, + set ? property_set_enum : NULL, + NULL, + prop); } =20 typedef struct TMProperty { @@ -2417,45 +2347,29 @@ static void property_release_tm(Object *obj, const = char *name, =20 ObjectProperty * object_property_add_tm(Object *obj, const char *name, - void (*get)(Object *, struct tm *, Error **), - Error **errp) + void (*get)(Object *, struct tm *, Error **)) { TMProperty *prop =3D g_malloc0(sizeof(*prop)); - ObjectProperty *op; =20 prop->get =3D get; =20 - op =3D object_property_add(obj, name, "struct tm", - get ? property_get_tm : NULL, NULL, - property_release_tm, - prop, errp); - if (!op) { - g_free(prop); - } - return op; + return object_property_add(obj, name, "struct tm", + get ? property_get_tm : NULL, NULL, + property_release_tm, + prop); } =20 ObjectProperty * object_class_property_add_tm(ObjectClass *klass, const char *name, - void (*get)(Object *, struct tm *, Error= **), - Error **errp) + void (*get)(Object *, struct tm *, Error **)) { - Error *local_err =3D NULL; TMProperty *prop =3D g_malloc0(sizeof(*prop)); - ObjectProperty *rv; =20 prop->get =3D get; =20 - rv =3D object_class_property_add(klass, name, "struct tm", - get ? property_get_tm : NULL, NULL, - NULL, - prop, &local_err); - if (local_err) { - error_propagate(errp, local_err); - g_free(prop); - } - - return rv; + return object_class_property_add(klass, name, "struct tm", + get ? property_get_tm : NULL, + NULL, NULL, prop); } =20 static char *qdev_get_type(Object *obj, Error **errp) @@ -2558,8 +2472,7 @@ static void property_set_uint64_ptr(Object *obj, Visi= tor *v, const char *name, ObjectProperty * object_property_add_uint8_ptr(Object *obj, const char *name, const uint8_t *v, - ObjectPropertyFlags flags, - Error **errp) + ObjectPropertyFlags flags) { ObjectPropertyAccessor *getter =3D NULL; ObjectPropertyAccessor *setter =3D NULL; @@ -2573,14 +2486,13 @@ object_property_add_uint8_ptr(Object *obj, const ch= ar *name, } =20 return object_property_add(obj, name, "uint8", - getter, setter, NULL, (void *)v, errp); + getter, setter, NULL, (void *)v); } =20 ObjectProperty * object_class_property_add_uint8_ptr(ObjectClass *klass, const char *name, const uint8_t *v, - ObjectPropertyFlags flags, - Error **errp) + ObjectPropertyFlags flags) { ObjectPropertyAccessor *getter =3D NULL; ObjectPropertyAccessor *setter =3D NULL; @@ -2594,14 +2506,13 @@ object_class_property_add_uint8_ptr(ObjectClass *kl= ass, const char *name, } =20 return object_class_property_add(klass, name, "uint8", - getter, setter, NULL, (void *)v, errp= ); + getter, setter, NULL, (void *)v); } =20 ObjectProperty * object_property_add_uint16_ptr(Object *obj, const char *name, const uint16_t *v, - ObjectPropertyFlags flags, - Error **errp) + ObjectPropertyFlags flags) { ObjectPropertyAccessor *getter =3D NULL; ObjectPropertyAccessor *setter =3D NULL; @@ -2615,14 +2526,13 @@ object_property_add_uint16_ptr(Object *obj, const c= har *name, } =20 return object_property_add(obj, name, "uint16", - getter, setter, NULL, (void *)v, errp); + getter, setter, NULL, (void *)v); } =20 ObjectProperty * object_class_property_add_uint16_ptr(ObjectClass *klass, const char *name, const uint16_t *v, - ObjectPropertyFlags flags, - Error **errp) + ObjectPropertyFlags flags) { ObjectPropertyAccessor *getter =3D NULL; ObjectPropertyAccessor *setter =3D NULL; @@ -2636,14 +2546,13 @@ object_class_property_add_uint16_ptr(ObjectClass *k= lass, const char *name, } =20 return object_class_property_add(klass, name, "uint16", - getter, setter, NULL, (void *)v, errp= ); + getter, setter, NULL, (void *)v); } =20 ObjectProperty * object_property_add_uint32_ptr(Object *obj, const char *name, const uint32_t *v, - ObjectPropertyFlags flags, - Error **errp) + ObjectPropertyFlags flags) { ObjectPropertyAccessor *getter =3D NULL; ObjectPropertyAccessor *setter =3D NULL; @@ -2657,14 +2566,13 @@ object_property_add_uint32_ptr(Object *obj, const c= har *name, } =20 return object_property_add(obj, name, "uint32", - getter, setter, NULL, (void *)v, errp); + getter, setter, NULL, (void *)v); } =20 ObjectProperty * object_class_property_add_uint32_ptr(ObjectClass *klass, const char *name, const uint32_t *v, - ObjectPropertyFlags flags, - Error **errp) + ObjectPropertyFlags flags) { ObjectPropertyAccessor *getter =3D NULL; ObjectPropertyAccessor *setter =3D NULL; @@ -2678,14 +2586,13 @@ object_class_property_add_uint32_ptr(ObjectClass *k= lass, const char *name, } =20 return object_class_property_add(klass, name, "uint32", - getter, setter, NULL, (void *)v, errp= ); + getter, setter, NULL, (void *)v); } =20 ObjectProperty * object_property_add_uint64_ptr(Object *obj, const char *name, const uint64_t *v, - ObjectPropertyFlags flags, - Error **errp) + ObjectPropertyFlags flags) { ObjectPropertyAccessor *getter =3D NULL; ObjectPropertyAccessor *setter =3D NULL; @@ -2699,14 +2606,13 @@ object_property_add_uint64_ptr(Object *obj, const c= har *name, } =20 return object_property_add(obj, name, "uint64", - getter, setter, NULL, (void *)v, errp); + getter, setter, NULL, (void *)v); } =20 ObjectProperty * object_class_property_add_uint64_ptr(ObjectClass *klass, const char *name, const uint64_t *v, - ObjectPropertyFlags flags, - Error **errp) + ObjectPropertyFlags flags) { ObjectPropertyAccessor *getter =3D NULL; ObjectPropertyAccessor *setter =3D NULL; @@ -2720,7 +2626,7 @@ object_class_property_add_uint64_ptr(ObjectClass *kla= ss, const char *name, } =20 return object_class_property_add(klass, name, "uint64", - getter, setter, NULL, (void *)v, errp= ); + getter, setter, NULL, (void *)v); } =20 typedef struct { @@ -2762,18 +2668,15 @@ static void property_release_alias(Object *obj, con= st char *name, void *opaque) =20 ObjectProperty * object_property_add_alias(Object *obj, const char *name, - Object *target_obj, const char *target_name, - Error **errp) + Object *target_obj, const char *target_name) { AliasProperty *prop; ObjectProperty *op; ObjectProperty *target_prop; g_autofree char *prop_type =3D NULL; =20 - target_prop =3D object_property_find(target_obj, target_name, errp); - if (!target_prop) { - return NULL; - } + target_prop =3D object_property_find(target_obj, target_name, + &error_abort); =20 if (object_property_is_child(target_prop)) { prop_type =3D g_strdup_printf("link%s", @@ -2790,12 +2693,7 @@ object_property_add_alias(Object *obj, const char *n= ame, property_get_alias, property_set_alias, property_release_alias, - prop, errp); - if (!op) { - g_free(prop); - return NULL; - } - + prop); op->resolve =3D property_resolve_alias; if (target_prop->defval) { op->defval =3D qobject_ref(target_prop->defval); @@ -2830,7 +2728,7 @@ void object_class_property_set_description(ObjectClas= s *klass, static void object_class_init(ObjectClass *klass, void *data) { object_class_property_add_str(klass, "type", qdev_get_type, - NULL, &error_abort); + NULL); } =20 static void register_types(void) diff --git a/qom/object_interfaces.c b/qom/object_interfaces.c index bc36f96e47..054e75043d 100644 --- a/qom/object_interfaces.c +++ b/qom/object_interfaces.c @@ -83,10 +83,7 @@ Object *user_creatable_add_type(const char *type, const = char *id, =20 if (id !=3D NULL) { object_property_add_child(object_get_objects_root(), - id, obj, &local_err); - if (local_err) { - goto out; - } + id, obj); } =20 user_creatable_complete(USER_CREATABLE(obj), &local_err); diff --git a/scsi/pr-manager-helper.c b/scsi/pr-manager-helper.c index ca27c93283..bf62cbec11 100644 --- a/scsi/pr-manager-helper.c +++ b/scsi/pr-manager-helper.c @@ -307,8 +307,7 @@ static void pr_manager_helper_class_init(ObjectClass *k= lass, PRManagerClass *prmgr_klass =3D PR_MANAGER_CLASS(klass); UserCreatableClass *uc_klass =3D USER_CREATABLE_CLASS(klass); =20 - object_class_property_add_str(klass, "path", get_path, set_path, - &error_abort); + object_class_property_add_str(klass, "path", get_path, set_path); uc_klass->complete =3D pr_manager_helper_complete; prmgr_klass->run =3D pr_manager_helper_run; prmgr_klass->is_connected =3D pr_manager_helper_is_connected; diff --git a/softmmu/vl.c b/softmmu/vl.c index afd2615fb3..f84151acd3 100644 --- a/softmmu/vl.c +++ b/softmmu/vl.c @@ -2802,7 +2802,7 @@ static void create_default_memdev(MachineState *ms, c= onst char *path) } object_property_set_int(obj, ms->ram_size, "size", &error_fatal); object_property_add_child(object_get_objects_root(), mc->default_ram_i= d, - obj, &error_fatal); + obj); /* Ensure backend's memory region name is equal to mc->default_ram_id = */ object_property_set_bool(obj, false, "x-use-canonical-path-for-rambloc= k-id", &error_fatal); @@ -3878,11 +3878,10 @@ void qemu_init(int argc, char **argv, char **envp) exit(0); } object_property_add_child(object_get_root(), "machine", - OBJECT(current_machine), &error_abort); + OBJECT(current_machine)); object_property_add_child(container_get(OBJECT(current_machine), "/unattached"), - "sysbus", OBJECT(sysbus_get_default()), - NULL); + "sysbus", OBJECT(sysbus_get_default())); =20 if (machine_class->minimum_page_bits) { if (!set_preferred_target_page_bits(machine_class->minimum_page_bi= ts)) { diff --git a/target/arm/cpu.c b/target/arm/cpu.c index 5d64adfe76..8562b67500 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -1215,8 +1215,7 @@ void arm_cpu_post_init(Object *obj) TYPE_MEMORY_REGION, (Object **)&cpu->secure_memory, qdev_prop_allow_set_link_before_realize, - OBJ_PROP_LINK_STRONG, - &error_abort); + OBJ_PROP_LINK_STRONG); } =20 if (arm_feature(&cpu->env, ARM_FEATURE_EL2)) { @@ -1226,8 +1225,7 @@ void arm_cpu_post_init(Object *obj) =20 if (arm_feature(&cpu->env, ARM_FEATURE_PMU)) { cpu->has_pmu =3D true; - object_property_add_bool(obj, "pmu", arm_get_pmu, arm_set_pmu, - &error_abort); + object_property_add_bool(obj, "pmu", arm_get_pmu, arm_set_pmu); } =20 /* @@ -1267,8 +1265,7 @@ void arm_cpu_post_init(Object *obj) if (arm_feature(&cpu->env, ARM_FEATURE_M_SECURITY)) { object_property_add_link(obj, "idau", TYPE_IDAU_INTERFACE, &cpu->i= dau, qdev_prop_allow_set_link_before_realize, - OBJ_PROP_LINK_STRONG, - &error_abort); + OBJ_PROP_LINK_STRONG); /* * M profile: initial value of the Secure VTOR. We can't just use * a simple DEFINE_PROP_UINT32 for this because we want to permit @@ -1276,7 +1273,7 @@ void arm_cpu_post_init(Object *obj) */ object_property_add_uint32_ptr(obj, "init-svtor", &cpu->init_svtor, - OBJ_PROP_FLAG_READWRITE, &error_abo= rt); + OBJ_PROP_FLAG_READWRITE); } =20 qdev_property_add_static(DEVICE(obj), &arm_cpu_cfgend_property); diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index a435a1f24f..3b97722b31 100644 --- a/target/arm/cpu64.c +++ b/target/arm/cpu64.c @@ -581,13 +581,13 @@ void aarch64_add_sve_properties(Object *obj) uint32_t vq; =20 object_property_add(obj, "sve", "bool", cpu_arm_get_sve, - cpu_arm_set_sve, NULL, NULL, &error_fatal); + cpu_arm_set_sve, NULL, NULL); =20 for (vq =3D 1; vq <=3D ARM_MAX_VQ; ++vq) { char name[8]; sprintf(name, "sve%d", vq * 128); object_property_add(obj, name, "bool", cpu_arm_get_sve_vq, - cpu_arm_set_sve_vq, NULL, NULL, &error_fatal); + cpu_arm_set_sve_vq, NULL, NULL); } } =20 @@ -736,7 +736,7 @@ static void aarch64_max_initfn(Object *obj) =20 aarch64_add_sve_properties(obj); object_property_add(obj, "sve-max-vq", "uint32", cpu_max_get_sve_max_v= q, - cpu_max_set_sve_max_vq, NULL, NULL, &error_fatal); + cpu_max_set_sve_max_vq, NULL, NULL); } =20 static const ARMCPUInfo aarch64_cpus[] =3D { @@ -778,7 +778,7 @@ static void aarch64_cpu_set_aarch64(Object *obj, bool v= alue, Error **errp) static void aarch64_cpu_initfn(Object *obj) { object_property_add_bool(obj, "aarch64", aarch64_cpu_get_aarch64, - aarch64_cpu_set_aarch64, NULL); + aarch64_cpu_set_aarch64); object_property_set_description(obj, "aarch64", "Set on/off to enable/disable aarch64 " "execution state "); diff --git a/target/arm/kvm.c b/target/arm/kvm.c index 1ea2d047e3..4bdbe6dcac 100644 --- a/target/arm/kvm.c +++ b/target/arm/kvm.c @@ -200,7 +200,7 @@ void kvm_arm_add_vcpu_properties(Object *obj) =20 ARM_CPU(obj)->kvm_adjvtime =3D true; object_property_add_bool(obj, "kvm-no-adjvtime", kvm_no_adjvtime_get, - kvm_no_adjvtime_set, &error_abort); + kvm_no_adjvtime_set); object_property_set_description(obj, "kvm-no-adjvtime", "Set on to disable the adjustment of " "the virtual counter. VM stopped time " diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 9c256ab159..6a64d2a5cd 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -6110,7 +6110,7 @@ static void x86_cpu_apic_create(X86CPU *cpu, Error **= errp) cpu->apic_state =3D DEVICE(object_new_with_class(apic_class)); =20 object_property_add_child(OBJECT(cpu), "lapic", - OBJECT(cpu->apic_state), &error_abort); + OBJECT(cpu->apic_state)); object_unref(OBJECT(cpu->apic_state)); =20 qdev_prop_set_uint32(cpu->apic_state, "id", cpu->apic_id); @@ -6822,7 +6822,7 @@ static void x86_cpu_register_bit_prop(X86CPU *cpu, object_property_add(OBJECT(cpu), prop_name, "bool", x86_cpu_get_bit_prop, x86_cpu_set_bit_prop, - x86_cpu_release_bit_prop, fp, &error_abort); + x86_cpu_release_bit_prop, fp); } } =20 @@ -6905,28 +6905,28 @@ static void x86_cpu_initfn(Object *obj) =20 object_property_add(obj, "family", "int", x86_cpuid_version_get_family, - x86_cpuid_version_set_family, NULL, NULL, NULL); + x86_cpuid_version_set_family, NULL, NULL); object_property_add(obj, "model", "int", x86_cpuid_version_get_model, - x86_cpuid_version_set_model, NULL, NULL, NULL); + x86_cpuid_version_set_model, NULL, NULL); object_property_add(obj, "stepping", "int", x86_cpuid_version_get_stepping, - x86_cpuid_version_set_stepping, NULL, NULL, NULL); + x86_cpuid_version_set_stepping, NULL, NULL); object_property_add_str(obj, "vendor", x86_cpuid_get_vendor, - x86_cpuid_set_vendor, NULL); + x86_cpuid_set_vendor); object_property_add_str(obj, "model-id", x86_cpuid_get_model_id, - x86_cpuid_set_model_id, NULL); + x86_cpuid_set_model_id); object_property_add(obj, "tsc-frequency", "int", x86_cpuid_get_tsc_freq, - x86_cpuid_set_tsc_freq, NULL, NULL, NULL); + x86_cpuid_set_tsc_freq, NULL, NULL); object_property_add(obj, "feature-words", "X86CPUFeatureWordInfo", x86_cpu_get_feature_words, - NULL, NULL, (void *)env->features, NULL); + NULL, NULL, (void *)env->features); object_property_add(obj, "filtered-features", "X86CPUFeatureWordInfo", x86_cpu_get_feature_words, - NULL, NULL, (void *)cpu->filtered_features, NULL); + NULL, NULL, (void *)cpu->filtered_features); /* * The "unavailable-features" property has the same semantics as * CpuDefinitionInfo.unavailable-features on the "query-cpu-definition= s" @@ -6935,10 +6935,10 @@ static void x86_cpu_initfn(Object *obj) */ object_property_add(obj, "unavailable-features", "strList", x86_cpu_get_unavailable_features, - NULL, NULL, NULL, &error_abort); + NULL, NULL, NULL); =20 object_property_add(obj, "crash-information", "GuestPanicInformation", - x86_cpu_get_crash_info_qom, NULL, NULL, NULL, NULL= ); + x86_cpu_get_crash_info_qom, NULL, NULL, NULL); =20 for (w =3D 0; w < FEATURE_WORDS; w++) { int bitnr; @@ -6948,37 +6948,36 @@ static void x86_cpu_initfn(Object *obj) } } =20 - object_property_add_alias(obj, "sse3", obj, "pni", &error_abort); - object_property_add_alias(obj, "pclmuldq", obj, "pclmulqdq", &error_ab= ort); - object_property_add_alias(obj, "sse4-1", obj, "sse4.1", &error_abort); - object_property_add_alias(obj, "sse4-2", obj, "sse4.2", &error_abort); - object_property_add_alias(obj, "xd", obj, "nx", &error_abort); - object_property_add_alias(obj, "ffxsr", obj, "fxsr-opt", &error_abort); - object_property_add_alias(obj, "i64", obj, "lm", &error_abort); + object_property_add_alias(obj, "sse3", obj, "pni"); + object_property_add_alias(obj, "pclmuldq", obj, "pclmulqdq"); + object_property_add_alias(obj, "sse4-1", obj, "sse4.1"); + object_property_add_alias(obj, "sse4-2", obj, "sse4.2"); + object_property_add_alias(obj, "xd", obj, "nx"); + object_property_add_alias(obj, "ffxsr", obj, "fxsr-opt"); + object_property_add_alias(obj, "i64", obj, "lm"); =20 - object_property_add_alias(obj, "ds_cpl", obj, "ds-cpl", &error_abort); - object_property_add_alias(obj, "tsc_adjust", obj, "tsc-adjust", &error= _abort); - object_property_add_alias(obj, "fxsr_opt", obj, "fxsr-opt", &error_abo= rt); - object_property_add_alias(obj, "lahf_lm", obj, "lahf-lm", &error_abort= ); - object_property_add_alias(obj, "cmp_legacy", obj, "cmp-legacy", &error= _abort); - object_property_add_alias(obj, "nodeid_msr", obj, "nodeid-msr", &error= _abort); - object_property_add_alias(obj, "perfctr_core", obj, "perfctr-core", &e= rror_abort); - object_property_add_alias(obj, "perfctr_nb", obj, "perfctr-nb", &error= _abort); - object_property_add_alias(obj, "kvm_nopiodelay", obj, "kvm-nopiodelay"= , &error_abort); - object_property_add_alias(obj, "kvm_mmu", obj, "kvm-mmu", &error_abort= ); - object_property_add_alias(obj, "kvm_asyncpf", obj, "kvm-asyncpf", &err= or_abort); - object_property_add_alias(obj, "kvm_steal_time", obj, "kvm-steal-time"= , &error_abort); - object_property_add_alias(obj, "kvm_pv_eoi", obj, "kvm-pv-eoi", &error= _abort); - object_property_add_alias(obj, "kvm_pv_unhalt", obj, "kvm-pv-unhalt", = &error_abort); - object_property_add_alias(obj, "kvm_poll_control", obj, "kvm-poll-cont= rol", - &error_abort); - object_property_add_alias(obj, "svm_lock", obj, "svm-lock", &error_abo= rt); - object_property_add_alias(obj, "nrip_save", obj, "nrip-save", &error_a= bort); - object_property_add_alias(obj, "tsc_scale", obj, "tsc-scale", &error_a= bort); - object_property_add_alias(obj, "vmcb_clean", obj, "vmcb-clean", &error= _abort); - object_property_add_alias(obj, "pause_filter", obj, "pause-filter", &e= rror_abort); - object_property_add_alias(obj, "sse4_1", obj, "sse4.1", &error_abort); - object_property_add_alias(obj, "sse4_2", obj, "sse4.2", &error_abort); + object_property_add_alias(obj, "ds_cpl", obj, "ds-cpl"); + object_property_add_alias(obj, "tsc_adjust", obj, "tsc-adjust"); + object_property_add_alias(obj, "fxsr_opt", obj, "fxsr-opt"); + object_property_add_alias(obj, "lahf_lm", obj, "lahf-lm"); + object_property_add_alias(obj, "cmp_legacy", obj, "cmp-legacy"); + object_property_add_alias(obj, "nodeid_msr", obj, "nodeid-msr"); + object_property_add_alias(obj, "perfctr_core", obj, "perfctr-core"); + object_property_add_alias(obj, "perfctr_nb", obj, "perfctr-nb"); + object_property_add_alias(obj, "kvm_nopiodelay", obj, "kvm-nopiodelay"= ); + object_property_add_alias(obj, "kvm_mmu", obj, "kvm-mmu"); + object_property_add_alias(obj, "kvm_asyncpf", obj, "kvm-asyncpf"); + object_property_add_alias(obj, "kvm_steal_time", obj, "kvm-steal-time"= ); + object_property_add_alias(obj, "kvm_pv_eoi", obj, "kvm-pv-eoi"); + object_property_add_alias(obj, "kvm_pv_unhalt", obj, "kvm-pv-unhalt"); + object_property_add_alias(obj, "kvm_poll_control", obj, "kvm-poll-cont= rol"); + object_property_add_alias(obj, "svm_lock", obj, "svm-lock"); + object_property_add_alias(obj, "nrip_save", obj, "nrip-save"); + object_property_add_alias(obj, "tsc_scale", obj, "tsc-scale"); + object_property_add_alias(obj, "vmcb_clean", obj, "vmcb-clean"); + object_property_add_alias(obj, "pause_filter", obj, "pause-filter"); + object_property_add_alias(obj, "sse4_1", obj, "sse4.1"); + object_property_add_alias(obj, "sse4_2", obj, "sse4.2"); =20 if (xcc->model) { x86_cpu_load_model(cpu, xcc->model, &error_abort); diff --git a/target/i386/sev.c b/target/i386/sev.c index 6842cfc26d..51cdbe5496 100644 --- a/target/i386/sev.c +++ b/target/i386/sev.c @@ -248,20 +248,17 @@ qsev_guest_class_init(ObjectClass *oc, void *data) { object_class_property_add_str(oc, "sev-device", qsev_guest_get_sev_device, - qsev_guest_set_sev_device, - NULL); + qsev_guest_set_sev_device); object_class_property_set_description(oc, "sev-device", "SEV device to use"); object_class_property_add_str(oc, "dh-cert-file", qsev_guest_get_dh_cert_file, - qsev_guest_set_dh_cert_file, - NULL); + qsev_guest_set_dh_cert_file); object_class_property_set_description(oc, "dh-cert-file", "guest owners DH certificate (encoded with base64)"); object_class_property_add_str(oc, "session-file", qsev_guest_get_session_file, - qsev_guest_set_session_file, - NULL); + qsev_guest_set_session_file); object_class_property_set_description(oc, "session-file", "guest owners session parameters (encoded with base64)"); } @@ -274,14 +271,14 @@ qsev_guest_init(Object *obj) sev->sev_device =3D g_strdup(DEFAULT_SEV_DEVICE); sev->policy =3D DEFAULT_GUEST_POLICY; object_property_add_uint32_ptr(obj, "policy", &sev->policy, - OBJ_PROP_FLAG_READWRITE, NULL); + OBJ_PROP_FLAG_READWRITE); object_property_add_uint32_ptr(obj, "handle", &sev->handle, - OBJ_PROP_FLAG_READWRITE, NULL); + OBJ_PROP_FLAG_READWRITE); object_property_add_uint32_ptr(obj, "cbitpos", &sev->cbitpos, - OBJ_PROP_FLAG_READWRITE, NULL); + OBJ_PROP_FLAG_READWRITE); object_property_add_uint32_ptr(obj, "reduced-phys-bits", &sev->reduced_phys_bits, - OBJ_PROP_FLAG_READWRITE, NULL); + OBJ_PROP_FLAG_READWRITE); } =20 /* sev guest info */ diff --git a/target/ppc/compat.c b/target/ppc/compat.c index 46ffb6da6d..7f144392f8 100644 --- a/target/ppc/compat.c +++ b/target/ppc/compat.c @@ -301,17 +301,13 @@ void ppc_compat_add_property(Object *obj, const char = *name, uint32_t *compat_pvr, const char *basedesc, Error **errp) { - Error *local_err =3D NULL; gchar *namesv[ARRAY_SIZE(compat_table) + 1]; gchar *names, *desc; int i; =20 object_property_add(obj, name, "string", ppc_compat_prop_get, ppc_compat_prop_set, NULL, - compat_pvr, &local_err); - if (local_err) { - goto out; - } + compat_pvr); =20 for (i =3D 0; i < ARRAY_SIZE(compat_table); i++) { /* @@ -328,7 +324,4 @@ void ppc_compat_add_property(Object *obj, const char *n= ame, =20 g_free(names); g_free(desc); - -out: - error_propagate(errp, local_err); } diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c index f2ccf0a06a..ca50b70451 100644 --- a/target/s390x/cpu.c +++ b/target/s390x/cpu.c @@ -296,7 +296,7 @@ static void s390_cpu_initfn(Object *obj) cs->halted =3D 1; cs->exception_index =3D EXCP_HLT; object_property_add(obj, "crash-information", "GuestPanicInformation", - s390_cpu_get_crash_info_qom, NULL, NULL, NULL, NUL= L); + s390_cpu_get_crash_info_qom, NULL, NULL, NULL); s390_cpu_model_register_props(obj); #if !defined(CONFIG_USER_ONLY) cpu->env.tod_timer =3D diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c index aa7fc713ca..8efe6ed514 100644 --- a/target/s390x/cpu_models.c +++ b/target/s390x/cpu_models.c @@ -1106,13 +1106,13 @@ void s390_cpu_model_register_props(Object *obj) for (feat =3D 0; feat < S390_FEAT_MAX; feat++) { const S390FeatDef *def =3D s390_feat_def(feat); object_property_add(obj, def->name, "bool", get_feature, - set_feature, NULL, (void *) feat, NULL); + set_feature, NULL, (void *) feat); object_property_set_description(obj, def->name, def->desc); } for (group =3D 0; group < S390_FEAT_GROUP_MAX; group++) { const S390FeatGroupDef *def =3D s390_feat_group_def(group); object_property_add(obj, def->name, "bool", get_feature_group, - set_feature_group, NULL, (void *) group, NULL); + set_feature_group, NULL, (void *) group); object_property_set_description(obj, def->name, def->desc); } } @@ -1225,11 +1225,10 @@ static char *get_description(Object *obj, Error **e= rrp) void s390_cpu_model_class_register_props(ObjectClass *oc) { object_class_property_add_bool(oc, "migration-safe", get_is_migration_= safe, - NULL, NULL); + NULL); object_class_property_add_bool(oc, "static", get_is_static, - NULL, NULL); - object_class_property_add_str(oc, "description", get_description, NULL, - NULL); + NULL); + object_class_property_add_str(oc, "description", get_description, NULL= ); } =20 #ifdef CONFIG_KVM diff --git a/tests/check-qom-proplist.c b/tests/check-qom-proplist.c index 140d56439a..84f48fe592 100644 --- a/tests/check-qom-proplist.c +++ b/tests/check-qom-proplist.c @@ -125,18 +125,9 @@ static char *dummy_get_sv(Object *obj, =20 static void dummy_init(Object *obj) { - Error *err =3D NULL; - object_property_add_bool(obj, "bv", dummy_get_bv, - dummy_set_bv, - NULL); - /* duplicate: */ - object_property_add_str(obj, "sv", - dummy_get_sv, - dummy_set_sv, - &err); - error_free_or_abort(&err); + dummy_set_bv); } =20 =20 @@ -144,14 +135,12 @@ static void dummy_class_init(ObjectClass *cls, void *= data) { object_class_property_add_str(cls, "sv", dummy_get_sv, - dummy_set_sv, - NULL); + dummy_set_sv); object_class_property_add_enum(cls, "av", "DummyAnimal", &dummy_animal_map, dummy_get_av, - dummy_set_av, - NULL); + dummy_set_av); } =20 =20 @@ -256,13 +245,13 @@ static void dummy_dev_init(Object *obj) DummyBus *bus =3D DUMMY_BUS(object_new(TYPE_DUMMY_BUS)); DummyBackend *backend =3D DUMMY_BACKEND(object_new(TYPE_DUMMY_BACKEND)= ); =20 - object_property_add_child(obj, "bus", OBJECT(bus), NULL); + object_property_add_child(obj, "bus", OBJECT(bus)); dev->bus =3D bus; - object_property_add_child(OBJECT(bus), "backend", OBJECT(backend), NUL= L); + object_property_add_child(OBJECT(bus), "backend", OBJECT(backend)); bus->backend =3D backend; =20 object_property_add_link(obj, "backend", TYPE_DUMMY_BACKEND, - (Object **)&bus->backend, NULL, 0, NULL); + (Object **)&bus->backend, NULL, 0); } =20 static void dummy_dev_unparent(Object *obj) @@ -603,11 +592,11 @@ static void test_qom_partial_path(void) * /cont1/obj2 (obj2a) * /obj2 (obj2b) */ - object_property_add_child(cont1, "obj1", obj1, &error_abort); + object_property_add_child(cont1, "obj1", obj1); object_unref(obj1); - object_property_add_child(cont1, "obj2", obj2a, &error_abort); + object_property_add_child(cont1, "obj2", obj2a); object_unref(obj2a); - object_property_add_child(root, "obj2", obj2b, &error_abort); + object_property_add_child(root, "obj2", obj2b); object_unref(obj2b); =20 ambiguous =3D false; diff --git a/tests/test-qdev-global-props.c b/tests/test-qdev-global-props.c index 270c690479..42d3dd7030 100644 --- a/tests/test-qdev-global-props.c +++ b/tests/test-qdev-global-props.c @@ -151,9 +151,9 @@ static void prop2_accessor(Object *obj, Visitor *v, con= st char *name, static void dynamic_instance_init(Object *obj) { object_property_add(obj, "prop1", "uint32", prop1_accessor, prop1_acce= ssor, - NULL, NULL, NULL); + NULL, NULL); object_property_add(obj, "prop2", "uint32", prop2_accessor, prop2_acce= ssor, - NULL, NULL, NULL); + NULL, NULL); } =20 static void dynamic_class_init(ObjectClass *oc, void *data) diff --git a/ui/console.c b/ui/console.c index 184e173687..865fa32635 100644 --- a/ui/console.c +++ b/ui/console.c @@ -1297,10 +1297,9 @@ static QemuConsole *new_console(DisplayState *ds, co= nsole_type_t console_type, object_property_add_link(obj, "device", TYPE_DEVICE, (Object **)&s->device, object_property_allow_set_link, - OBJ_PROP_LINK_STRONG, - &error_abort); + OBJ_PROP_LINK_STRONG); object_property_add_uint32_ptr(obj, "head", &s->head, - OBJ_PROP_FLAG_READ, &error_abort); + OBJ_PROP_FLAG_READ); =20 if (!active_console || ((active_console->console_type !=3D GRAPHIC_CON= SOLE) && (console_type =3D=3D GRAPHIC_CONSOLE))) { @@ -1868,7 +1867,7 @@ DisplayState *init_displaystate(void) * doesn't change any more */ name =3D g_strdup_printf("console[%d]", con->index); object_property_add_child(container_get(object_get_root(), "/backe= nd"), - name, OBJECT(con), &error_abort); + name, OBJECT(con)); g_free(name); } =20 diff --git a/ui/input-barrier.c b/ui/input-barrier.c index 527c75e130..1cdf0c5f82 100644 --- a/ui/input-barrier.c +++ b/ui/input-barrier.c @@ -700,25 +700,25 @@ static void input_barrier_instance_init(Object *obj) =20 object_property_add_str(obj, "name", input_barrier_get_name, - input_barrier_set_name, NULL); + input_barrier_set_name); object_property_add_str(obj, "server", input_barrier_get_server, - input_barrier_set_server, NULL); + input_barrier_set_server); object_property_add_str(obj, "port", input_barrier_get_port, - input_barrier_set_port, NULL); + input_barrier_set_port); object_property_add_str(obj, "x-origin", input_barrier_get_x_origin, - input_barrier_set_x_origin, NULL); + input_barrier_set_x_origin); object_property_add_str(obj, "y-origin", input_barrier_get_y_origin, - input_barrier_set_y_origin, NULL); + input_barrier_set_y_origin); object_property_add_str(obj, "width", input_barrier_get_width, - input_barrier_set_width, NULL); + input_barrier_set_width); object_property_add_str(obj, "height", input_barrier_get_height, - input_barrier_set_height, NULL); + input_barrier_set_height); } =20 static void input_barrier_class_init(ObjectClass *oc, void *data) diff --git a/ui/input-linux.c b/ui/input-linux.c index ef37b14d6f..4925ce1af1 100644 --- a/ui/input-linux.c +++ b/ui/input-linux.c @@ -499,17 +499,17 @@ static void input_linux_instance_init(Object *obj) { object_property_add_str(obj, "evdev", input_linux_get_evdev, - input_linux_set_evdev, NULL); + input_linux_set_evdev); object_property_add_bool(obj, "grab_all", input_linux_get_grab_all, - input_linux_set_grab_all, NULL); + input_linux_set_grab_all); object_property_add_bool(obj, "repeat", input_linux_get_repeat, - input_linux_set_repeat, NULL); + input_linux_set_repeat); object_property_add_enum(obj, "grab-toggle", "GrabToggleKeys", &GrabToggleKeys_lookup, input_linux_get_grab_toggle, - input_linux_set_grab_toggle, NULL); + input_linux_set_grab_toggle); } =20 static void input_linux_class_init(ObjectClass *oc, void *data) --=20 2.21.1 From nobody Sat May 18 00:40:21 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1588693304; cv=none; d=zohomail.com; s=zohoarc; b=DuRHPl7rC0TnsWyOW5J2k4fXtEDJKbtWIOwsIVqa/IoBN9menpPSLOKx/gcZkBBa/spVlsjqbAFDrHsaEhn0JVjflY8d0c8h8FXqWjGFRva8e/U/+tqtWriZ2c5GnE+Vw/rbtrpDVW7hFV2IH6lqQsRia82ETzBVf3w1bAaNPJI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1588693304; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=yab3CnP++eHFnk344KL7gjP0smalElGc+a8zjsajbW0=; b=V61xIDMM6mkIZA564azRfLedKdXUDpA6DLCEMCJwABvMLP4NRZL+Pzivt+cy56bS9RjUHxitic8VC1pAU/KdXYQIfxOMtBLXHbpfpN86lZU8pCSHV+BoTa583V2+QczTpztLHhRMwrQ4NA/3XZqzq5Mu+sl8Z0crOLACvi+SkZg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1588693304920919.8095272213849; Tue, 5 May 2020 08:41:44 -0700 (PDT) Received: from localhost ([::1]:48398 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jVzhX-0000lp-IU for importer@patchew.org; Tue, 05 May 2020 11:41:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46012) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jVzVs-0003Q9-Dm for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:40 -0400 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:36771 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jVzVn-0007RV-E6 for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:39 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-441-3sb_h4FkPWa31JbODb6a_Q-1; Tue, 05 May 2020 11:29:32 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 2ED7D46B for ; Tue, 5 May 2020 15:29:31 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-113-6.ams2.redhat.com [10.36.113.6]) by smtp.corp.redhat.com (Postfix) with ESMTPS id A2C2C63F90; Tue, 5 May 2020 15:29:30 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 62D5B11358CC; Tue, 5 May 2020 17:29:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1588692574; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=yab3CnP++eHFnk344KL7gjP0smalElGc+a8zjsajbW0=; b=ZY+eyLSRtXppTTU9I2lkL20Eb5dGg6YBRzA1PV7aTRkuELvNw7+x7WO/i92kuBIqyTHtx5 sCFV/aIxEvqclrYRvR3maU7nqX4zTAMFpklb/UXknMXsiGw4TfuIfJFHZjsUC6pNEHORCf Mp4tHNudCFyhDtk55dHthgnLr1mneSY= X-MC-Unique: 3sb_h4FkPWa31JbODb6a_Q-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH v2 15/18] Drop more @errp parameters after previous commit Date: Tue, 5 May 2020 17:29:23 +0200 Message-Id: <20200505152926.18877-16-armbru@redhat.com> In-Reply-To: <20200505152926.18877-1-armbru@redhat.com> References: <20200505152926.18877-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/05 00:37:38 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: pbonzini@redhat.com, berrange@redhat.com, ehabkost@redhat.com, philmd@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Several functions can't fail anymore: ich9_pm_add_properties(), device_add_bootindex_property(), ppc_compat_add_property(), spapr_caps_add_properties(), PropertyInfo.create(). Drop their @errp parameter. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Paolo Bonzini --- include/hw/acpi/ich9.h | 2 +- include/hw/ppc/spapr.h | 2 +- include/hw/qdev-core.h | 2 +- include/sysemu/sysemu.h | 2 +- target/ppc/cpu.h | 3 +-- bootdevice.c | 2 +- hw/acpi/ich9.c | 2 +- hw/block/fdc.c | 4 ++-- hw/block/nvme.c | 2 +- hw/block/vhost-user-blk.c | 2 +- hw/block/virtio-blk.c | 2 +- hw/core/qdev-properties.c | 2 +- hw/core/qdev.c | 2 +- hw/isa/lpc_ich9.c | 2 +- hw/net/e1000.c | 2 +- hw/net/e1000e.c | 2 +- hw/net/eepro100.c | 2 +- hw/net/lance.c | 2 +- hw/net/lasi_i82596.c | 2 +- hw/net/ne2000-pci.c | 2 +- hw/net/pcnet-pci.c | 2 +- hw/net/rtl8139.c | 2 +- hw/net/spapr_llan.c | 2 +- hw/net/sungem.c | 2 +- hw/net/sunhme.c | 2 +- hw/net/tulip.c | 2 +- hw/net/virtio-net.c | 2 +- hw/net/vmxnet3.c | 2 +- hw/ppc/spapr.c | 5 ++--- hw/ppc/spapr_caps.c | 2 +- hw/s390x/s390-ccw.c | 2 +- hw/scsi/scsi-bus.c | 2 +- hw/scsi/vhost-scsi.c | 2 +- hw/scsi/vhost-user-scsi.c | 2 +- hw/usb/dev-network.c | 2 +- hw/usb/host-libusb.c | 2 +- hw/usb/redirect.c | 2 +- hw/vfio/pci.c | 2 +- target/ppc/compat.c | 3 +-- 39 files changed, 41 insertions(+), 44 deletions(-) diff --git a/include/hw/acpi/ich9.h b/include/hw/acpi/ich9.h index 41568d1837..28a53181cb 100644 --- a/include/hw/acpi/ich9.h +++ b/include/hw/acpi/ich9.h @@ -72,7 +72,7 @@ void ich9_pm_init(PCIDevice *lpc_pci, ICH9LPCPMRegs *pm, void ich9_pm_iospace_update(ICH9LPCPMRegs *pm, uint32_t pm_io_base); extern const VMStateDescription vmstate_ich9_pm; =20 -void ich9_pm_add_properties(Object *obj, ICH9LPCPMRegs *pm, Error **errp); +void ich9_pm_add_properties(Object *obj, ICH9LPCPMRegs *pm); =20 void ich9_pm_device_pre_plug_cb(HotplugHandler *hotplug_dev, DeviceState *= dev, Error **errp); diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h index 42d64a0368..c5f40c0ac6 100644 --- a/include/hw/ppc/spapr.h +++ b/include/hw/ppc/spapr.h @@ -915,7 +915,7 @@ static inline uint8_t spapr_get_cap(SpaprMachineState *= spapr, int cap) void spapr_caps_init(SpaprMachineState *spapr); void spapr_caps_apply(SpaprMachineState *spapr); void spapr_caps_cpu_apply(SpaprMachineState *spapr, PowerPCCPU *cpu); -void spapr_caps_add_properties(SpaprMachineClass *smc, Error **errp); +void spapr_caps_add_properties(SpaprMachineClass *smc); int spapr_caps_post_migration(SpaprMachineState *spapr); =20 void spapr_check_pagesize(SpaprMachineState *spapr, hwaddr pagesize, diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h index d87d989e72..6f537f687f 100644 --- a/include/hw/qdev-core.h +++ b/include/hw/qdev-core.h @@ -286,7 +286,7 @@ struct PropertyInfo { const QEnumLookup *enum_table; int (*print)(DeviceState *dev, Property *prop, char *dest, size_t len); void (*set_default_value)(ObjectProperty *op, const Property *prop); - void (*create)(ObjectClass *oc, Property *prop, Error **errp); + void (*create)(ObjectClass *oc, Property *prop); ObjectPropertyAccessor *get; ObjectPropertyAccessor *set; ObjectPropertyRelease *release; diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h index ef81302e1a..26c0c802d1 100644 --- a/include/sysemu/sysemu.h +++ b/include/sysemu/sysemu.h @@ -92,7 +92,7 @@ void check_boot_index(int32_t bootindex, Error **errp); void del_boot_device_path(DeviceState *dev, const char *suffix); void device_add_bootindex_property(Object *obj, int32_t *bootindex, const char *name, const char *suffix, - DeviceState *dev, Error **errp); + DeviceState *dev); void restore_boot_order(void *opaque); void validate_bootdevices(const char *devices, Error **errp); void add_boot_device_lchs(DeviceState *dev, const char *suffix, diff --git a/target/ppc/cpu.h b/target/ppc/cpu.h index 88d9449555..885e7a0685 100644 --- a/target/ppc/cpu.h +++ b/target/ppc/cpu.h @@ -1335,8 +1335,7 @@ void ppc_set_compat_all(uint32_t compat_pvr, Error **= errp); #endif int ppc_compat_max_vthreads(PowerPCCPU *cpu); void ppc_compat_add_property(Object *obj, const char *name, - uint32_t *compat_pvr, const char *basedesc, - Error **errp); + uint32_t *compat_pvr, const char *basedesc); #endif /* defined(TARGET_PPC64) */ =20 typedef CPUPPCState CPUArchState; diff --git a/bootdevice.c b/bootdevice.c index d11576d575..0ff55e2b79 100644 --- a/bootdevice.c +++ b/bootdevice.c @@ -327,7 +327,7 @@ static void property_release_bootindex(Object *obj, con= st char *name, =20 void device_add_bootindex_property(Object *obj, int32_t *bootindex, const char *name, const char *suffix, - DeviceState *dev, Error **errp) + DeviceState *dev) { BootIndexProperty *prop =3D g_malloc0(sizeof(*prop)); =20 diff --git a/hw/acpi/ich9.c b/hw/acpi/ich9.c index 9e4c03bef8..2d204babc6 100644 --- a/hw/acpi/ich9.c +++ b/hw/acpi/ich9.c @@ -369,7 +369,7 @@ static void ich9_pm_set_enable_tco(Object *obj, bool va= lue, Error **errp) s->pm.enable_tco =3D value; } =20 -void ich9_pm_add_properties(Object *obj, ICH9LPCPMRegs *pm, Error **errp) +void ich9_pm_add_properties(Object *obj, ICH9LPCPMRegs *pm) { static const uint32_t gpe0_len =3D ICH9_PMIO_GPE0_LEN; pm->acpi_memory_hotplug.is_enabled =3D true; diff --git a/hw/block/fdc.c b/hw/block/fdc.c index 9628cc171e..c5fb9d6ece 100644 --- a/hw/block/fdc.c +++ b/hw/block/fdc.c @@ -2813,10 +2813,10 @@ static void isabus_fdc_instance_init(Object *obj) =20 device_add_bootindex_property(obj, &isa->bootindexA, "bootindexA", "/floppy@0", - DEVICE(obj), NULL); + DEVICE(obj)); device_add_bootindex_property(obj, &isa->bootindexB, "bootindexB", "/floppy@1", - DEVICE(obj), NULL); + DEVICE(obj)); } =20 static const TypeInfo isa_fdc_info =3D { diff --git a/hw/block/nvme.c b/hw/block/nvme.c index 9b453423cf..2f3100e56c 100644 --- a/hw/block/nvme.c +++ b/hw/block/nvme.c @@ -1594,7 +1594,7 @@ static void nvme_instance_init(Object *obj) =20 device_add_bootindex_property(obj, &s->conf.bootindex, "bootindex", "/namespace@1,0", - DEVICE(obj), &error_abort); + DEVICE(obj)); } =20 static const TypeInfo nvme_info =3D { diff --git a/hw/block/vhost-user-blk.c b/hw/block/vhost-user-blk.c index 6c485d1c9e..5263e0c9ad 100644 --- a/hw/block/vhost-user-blk.c +++ b/hw/block/vhost-user-blk.c @@ -481,7 +481,7 @@ static void vhost_user_blk_instance_init(Object *obj) VHostUserBlk *s =3D VHOST_USER_BLK(obj); =20 device_add_bootindex_property(obj, &s->bootindex, "bootindex", - "/disk@0,0", DEVICE(obj), NULL); + "/disk@0,0", DEVICE(obj)); } =20 static const VMStateDescription vmstate_vhost_user_blk =3D { diff --git a/hw/block/virtio-blk.c b/hw/block/virtio-blk.c index 97ba8a2187..fb32717a12 100644 --- a/hw/block/virtio-blk.c +++ b/hw/block/virtio-blk.c @@ -1248,7 +1248,7 @@ static void virtio_blk_instance_init(Object *obj) =20 device_add_bootindex_property(obj, &s->conf.conf.bootindex, "bootindex", "/disk@0,0", - DEVICE(obj), NULL); + DEVICE(obj)); } =20 static const VMStateDescription vmstate_virtio_blk =3D { diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c index 2f294ec4a4..cc924815da 100644 --- a/hw/core/qdev-properties.c +++ b/hw/core/qdev-properties.c @@ -1250,7 +1250,7 @@ const PropertyInfo qdev_prop_size =3D { =20 /* --- object link property --- */ =20 -static void create_link_property(ObjectClass *oc, Property *prop, Error **= errp) +static void create_link_property(ObjectClass *oc, Property *prop) { object_class_property_add_link(oc, prop->name, prop->link_type, prop->offset, diff --git a/hw/core/qdev.c b/hw/core/qdev.c index 3f91bff712..2afa2562b8 100644 --- a/hw/core/qdev.c +++ b/hw/core/qdev.c @@ -782,7 +782,7 @@ static void qdev_class_add_property(DeviceClass *klass,= Property *prop) ObjectClass *oc =3D OBJECT_CLASS(klass); =20 if (prop->info->create) { - prop->info->create(oc, prop, &error_abort); + prop->info->create(oc, prop); } else { ObjectProperty *op; =20 diff --git a/hw/isa/lpc_ich9.c b/hw/isa/lpc_ich9.c index c975d46675..cd6e169d47 100644 --- a/hw/isa/lpc_ich9.c +++ b/hw/isa/lpc_ich9.c @@ -639,7 +639,7 @@ static void ich9_lpc_initfn(Object *obj) object_property_add_uint8_ptr(OBJECT(lpc), ACPI_PM_PROP_ACPI_DISABLE_C= MD, &acpi_disable_cmd, OBJ_PROP_FLAG_READ); =20 - ich9_pm_add_properties(obj, &lpc->pm, NULL); + ich9_pm_add_properties(obj, &lpc->pm); } =20 static void ich9_lpc_realize(PCIDevice *d, Error **errp) diff --git a/hw/net/e1000.c b/hw/net/e1000.c index 0d2c2759e3..a18f80e369 100644 --- a/hw/net/e1000.c +++ b/hw/net/e1000.c @@ -1774,7 +1774,7 @@ static void e1000_instance_init(Object *obj) E1000State *n =3D E1000(obj); device_add_bootindex_property(obj, &n->conf.bootindex, "bootindex", "/ethernet-phy@0", - DEVICE(n), NULL); + DEVICE(n)); } =20 static const TypeInfo e1000_base_info =3D { diff --git a/hw/net/e1000e.c b/hw/net/e1000e.c index 79ba158d41..fda34518c9 100644 --- a/hw/net/e1000e.c +++ b/hw/net/e1000e.c @@ -705,7 +705,7 @@ static void e1000e_instance_init(Object *obj) E1000EState *s =3D E1000E(obj); device_add_bootindex_property(obj, &s->conf.bootindex, "bootindex", "/ethernet-phy@0", - DEVICE(obj), NULL); + DEVICE(obj)); } =20 static const TypeInfo e1000e_info =3D { diff --git a/hw/net/eepro100.c b/hw/net/eepro100.c index f6474f0e68..16e95ef9cc 100644 --- a/hw/net/eepro100.c +++ b/hw/net/eepro100.c @@ -1883,7 +1883,7 @@ static void eepro100_instance_init(Object *obj) EEPRO100State *s =3D DO_UPCAST(EEPRO100State, dev, PCI_DEVICE(obj)); device_add_bootindex_property(obj, &s->conf.bootindex, "bootindex", "/ethernet-phy@0", - DEVICE(s), NULL); + DEVICE(s)); } =20 static E100PCIDeviceInfo e100_devices[] =3D { diff --git a/hw/net/lance.c b/hw/net/lance.c index 688724db0b..4c5f01baad 100644 --- a/hw/net/lance.c +++ b/hw/net/lance.c @@ -134,7 +134,7 @@ static void lance_instance_init(Object *obj) =20 device_add_bootindex_property(obj, &s->conf.bootindex, "bootindex", "/ethernet-phy@0", - DEVICE(obj), NULL); + DEVICE(obj)); } =20 static Property lance_properties[] =3D { diff --git a/hw/net/lasi_i82596.c b/hw/net/lasi_i82596.c index 52637a562d..5e0fd69763 100644 --- a/hw/net/lasi_i82596.c +++ b/hw/net/lasi_i82596.c @@ -152,7 +152,7 @@ static void lasi_82596_instance_init(Object *obj) =20 device_add_bootindex_property(obj, &s->conf.bootindex, "bootindex", "/ethernet-phy@0", - DEVICE(obj), NULL); + DEVICE(obj)); } =20 static Property lasi_82596_properties[] =3D { diff --git a/hw/net/ne2000-pci.c b/hw/net/ne2000-pci.c index e11d67bf75..9e5d10859a 100644 --- a/hw/net/ne2000-pci.c +++ b/hw/net/ne2000-pci.c @@ -92,7 +92,7 @@ static void ne2000_instance_init(Object *obj) =20 device_add_bootindex_property(obj, &s->c.bootindex, "bootindex", "/ethernet-phy@0", - &pci_dev->qdev, NULL); + &pci_dev->qdev); } =20 static Property ne2000_properties[] =3D { diff --git a/hw/net/pcnet-pci.c b/hw/net/pcnet-pci.c index d1f31e0272..49d3e42e83 100644 --- a/hw/net/pcnet-pci.c +++ b/hw/net/pcnet-pci.c @@ -250,7 +250,7 @@ static void pcnet_instance_init(Object *obj) =20 device_add_bootindex_property(obj, &s->conf.bootindex, "bootindex", "/ethernet-phy@0", - DEVICE(obj), NULL); + DEVICE(obj)); } =20 static Property pcnet_properties[] =3D { diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c index 70aca7ec26..ab93d78ab3 100644 --- a/hw/net/rtl8139.c +++ b/hw/net/rtl8139.c @@ -3415,7 +3415,7 @@ static void rtl8139_instance_init(Object *obj) =20 device_add_bootindex_property(obj, &s->conf.bootindex, "bootindex", "/ethernet-phy@0", - DEVICE(obj), NULL); + DEVICE(obj)); } =20 static Property rtl8139_properties[] =3D { diff --git a/hw/net/spapr_llan.c b/hw/net/spapr_llan.c index a2377025a7..968a1ce78e 100644 --- a/hw/net/spapr_llan.c +++ b/hw/net/spapr_llan.c @@ -340,7 +340,7 @@ static void spapr_vlan_instance_init(Object *obj) =20 device_add_bootindex_property(obj, &dev->nicconf.bootindex, "bootindex", "", - DEVICE(dev), NULL); + DEVICE(dev)); =20 if (dev->compat_flags & SPAPRVLAN_FLAG_RX_BUF_POOLS) { for (i =3D 0; i < RX_MAX_POOLS; i++) { diff --git a/hw/net/sungem.c b/hw/net/sungem.c index b01197d952..e4b7b57704 100644 --- a/hw/net/sungem.c +++ b/hw/net/sungem.c @@ -1378,7 +1378,7 @@ static void sungem_instance_init(Object *obj) =20 device_add_bootindex_property(obj, &s->conf.bootindex, "bootindex", "/ethernet-phy@0", - DEVICE(obj), NULL); + DEVICE(obj)); } =20 static Property sungem_properties[] =3D { diff --git a/hw/net/sunhme.c b/hw/net/sunhme.c index 9c38583180..bc48d46b9f 100644 --- a/hw/net/sunhme.c +++ b/hw/net/sunhme.c @@ -901,7 +901,7 @@ static void sunhme_instance_init(Object *obj) =20 device_add_bootindex_property(obj, &s->conf.bootindex, "bootindex", "/ethernet-phy@0", - DEVICE(obj), NULL); + DEVICE(obj)); } =20 static void sunhme_reset(DeviceState *ds) diff --git a/hw/net/tulip.c b/hw/net/tulip.c index 1295f51d07..6cefc0add2 100644 --- a/hw/net/tulip.c +++ b/hw/net/tulip.c @@ -1001,7 +1001,7 @@ static void tulip_instance_init(Object *obj) =20 device_add_bootindex_property(obj, &d->c.bootindex, "bootindex", "/ethernet-phy@0", - &pci_dev->qdev, NULL); + &pci_dev->qdev); } =20 static Property tulip_properties[] =3D { diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index e51231e795..b43fd7d608 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -3125,7 +3125,7 @@ static void virtio_net_instance_init(Object *obj) n->config_size =3D sizeof(struct virtio_net_config); device_add_bootindex_property(obj, &n->nic_conf.bootindex, "bootindex", "/ethernet-phy@0", - DEVICE(n), NULL); + DEVICE(n)); } =20 static int virtio_net_pre_save(void *opaque) diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c index 6d91cd8309..7a6ca4ec35 100644 --- a/hw/net/vmxnet3.c +++ b/hw/net/vmxnet3.c @@ -2237,7 +2237,7 @@ static void vmxnet3_instance_init(Object *obj) VMXNET3State *s =3D VMXNET3(obj); device_add_bootindex_property(obj, &s->conf.bootindex, "bootindex", "/ethernet-phy@0", - DEVICE(obj), NULL); + DEVICE(obj)); } =20 static void vmxnet3_pci_uninit(PCIDevice *pci_dev) diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index 6048345496..b67e4389fb 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -3326,8 +3326,7 @@ static void spapr_instance_init(Object *obj) " place of standard EPOW events when p= ossible" " (required for memory hot-unplug supp= ort)"); ppc_compat_add_property(obj, "max-cpu-compat", &spapr->max_compat_pvr, - "Maximum permitted CPU compatibility mode", - &error_fatal); + "Maximum permitted CPU compatibility mode"); =20 object_property_add_str(obj, "resize-hpt", spapr_get_resize_hpt, spapr_set_resize_hpt); @@ -4532,7 +4531,7 @@ static void spapr_machine_class_init(ObjectClass *oc,= void *data) smc->default_caps.caps[SPAPR_CAP_LARGE_DECREMENTER] =3D SPAPR_CAP_ON; smc->default_caps.caps[SPAPR_CAP_CCF_ASSIST] =3D SPAPR_CAP_ON; smc->default_caps.caps[SPAPR_CAP_FWNMI] =3D SPAPR_CAP_ON; - spapr_caps_add_properties(smc, &error_abort); + spapr_caps_add_properties(smc); smc->irq =3D &spapr_irq_dual; smc->dr_phb_enabled =3D true; smc->linux_pci_probe =3D true; diff --git a/hw/ppc/spapr_caps.c b/hw/ppc/spapr_caps.c index 184563e608..efdc0dbbcf 100644 --- a/hw/ppc/spapr_caps.c +++ b/hw/ppc/spapr_caps.c @@ -824,7 +824,7 @@ void spapr_caps_cpu_apply(SpaprMachineState *spapr, Pow= erPCCPU *cpu) } } =20 -void spapr_caps_add_properties(SpaprMachineClass *smc, Error **errp) +void spapr_caps_add_properties(SpaprMachineClass *smc) { ObjectClass *klass =3D OBJECT_CLASS(smc); int i; diff --git a/hw/s390x/s390-ccw.c b/hw/s390x/s390-ccw.c index 0c5a5b60bd..569020dae4 100644 --- a/hw/s390x/s390-ccw.c +++ b/hw/s390x/s390-ccw.c @@ -151,7 +151,7 @@ static void s390_ccw_instance_init(Object *obj) S390CCWDevice *dev =3D S390_CCW_DEVICE(obj); =20 device_add_bootindex_property(obj, &dev->bootindex, "bootindex", - "/disk@0,0", DEVICE(obj), NULL); + "/disk@0,0", DEVICE(obj)); } =20 static void s390_ccw_class_init(ObjectClass *klass, void *data) diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c index ab5459a589..1733307407 100644 --- a/hw/scsi/scsi-bus.c +++ b/hw/scsi/scsi-bus.c @@ -1738,7 +1738,7 @@ static void scsi_dev_instance_init(Object *obj) =20 device_add_bootindex_property(obj, &s->conf.bootindex, "bootindex", NULL, - &s->qdev, NULL); + &s->qdev); } =20 static const TypeInfo scsi_device_type_info =3D { diff --git a/hw/scsi/vhost-scsi.c b/hw/scsi/vhost-scsi.c index f052377b7e..ffa667171d 100644 --- a/hw/scsi/vhost-scsi.c +++ b/hw/scsi/vhost-scsi.c @@ -311,7 +311,7 @@ static void vhost_scsi_instance_init(Object *obj) vsc->feature_bits =3D kernel_feature_bits; =20 device_add_bootindex_property(obj, &vsc->bootindex, "bootindex", NULL, - DEVICE(vsc), NULL); + DEVICE(vsc)); } =20 static const TypeInfo vhost_scsi_info =3D { diff --git a/hw/scsi/vhost-user-scsi.c b/hw/scsi/vhost-user-scsi.c index a01bf63a08..ae380b63b4 100644 --- a/hw/scsi/vhost-user-scsi.c +++ b/hw/scsi/vhost-user-scsi.c @@ -217,7 +217,7 @@ static void vhost_user_scsi_instance_init(Object *obj) =20 /* Add the bootindex property for this object */ device_add_bootindex_property(obj, &vsc->bootindex, "bootindex", NULL, - DEVICE(vsc), NULL); + DEVICE(vsc)); } =20 static const TypeInfo vhost_user_scsi_info =3D { diff --git a/hw/usb/dev-network.c b/hw/usb/dev-network.c index 6210427544..720744488b 100644 --- a/hw/usb/dev-network.c +++ b/hw/usb/dev-network.c @@ -1381,7 +1381,7 @@ static void usb_net_instance_init(Object *obj) =20 device_add_bootindex_property(obj, &s->conf.bootindex, "bootindex", "/ethernet-phy@0", - &dev->qdev, NULL); + &dev->qdev); } =20 static const VMStateDescription vmstate_usb_net =3D { diff --git a/hw/usb/host-libusb.c b/hw/usb/host-libusb.c index 2ac7a936fb..78a5c2ba55 100644 --- a/hw/usb/host-libusb.c +++ b/hw/usb/host-libusb.c @@ -1101,7 +1101,7 @@ static void usb_host_instance_init(Object *obj) =20 device_add_bootindex_property(obj, &s->bootindex, "bootindex", NULL, - &udev->qdev, NULL); + &udev->qdev); } =20 static void usb_host_unrealize(USBDevice *udev, Error **errp) diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c index 45d8b76218..e9a97feaed 100644 --- a/hw/usb/redirect.c +++ b/hw/usb/redirect.c @@ -2595,7 +2595,7 @@ static void usbredir_instance_init(Object *obj) =20 device_add_bootindex_property(obj, &dev->bootindex, "bootindex", NULL, - &udev->qdev, NULL); + &udev->qdev); } =20 static const TypeInfo usbredir_dev_info =3D { diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c index 5e75a95129..342dd6b912 100644 --- a/hw/vfio/pci.c +++ b/hw/vfio/pci.c @@ -3133,7 +3133,7 @@ static void vfio_instance_init(Object *obj) =20 device_add_bootindex_property(obj, &vdev->bootindex, "bootindex", NULL, - &pci_dev->qdev, NULL); + &pci_dev->qdev); vdev->host.domain =3D ~0U; vdev->host.bus =3D ~0U; vdev->host.slot =3D ~0U; diff --git a/target/ppc/compat.c b/target/ppc/compat.c index 7f144392f8..fda0dfe8f8 100644 --- a/target/ppc/compat.c +++ b/target/ppc/compat.c @@ -298,8 +298,7 @@ out: } =20 void ppc_compat_add_property(Object *obj, const char *name, - uint32_t *compat_pvr, const char *basedesc, - Error **errp) + uint32_t *compat_pvr, const char *basedesc) { gchar *namesv[ARRAY_SIZE(compat_table) + 1]; gchar *names, *desc; --=20 2.21.1 From nobody Sat May 18 00:40:21 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1588693282; cv=none; d=zohomail.com; s=zohoarc; b=Qd+ShvZE1JtzP6GJ9mYK32nk1Jwq2JbWl2F3J14r1A8TQ8U8MNB8h6A9U7cbI8hKFR3Korl268tZO1CFYGVC1kDCEFwgfP3lJZIJWkza5/elHuQU8ZgzPXIUqxJrI5V51jjnzADsS2qEhobm4jZpXpnkMlVH9lX1VCTU9O+cX4s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1588693282; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=VmT1FOBB7s/jsaH5ELqObElq5ll2xyr3Nh6hqf3RyQA=; b=R+fXB1rqz+1rbiZkNGxvYGZqrs6O46TX4+IvTPsNPz1rDy/LJIluVLFR15iiyFs/O54l+hozL9BOYR6TeLFMvSSMNS60RJ2Rp4B9bvTEUj/pl4swiO+ixYdztiKsH5jex3N0rc56Ii8UpxbDyykDE4c+qXoSDzX70OKe8kLRy0k= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1588693282848614.1119262504432; Tue, 5 May 2020 08:41:22 -0700 (PDT) Received: from localhost ([::1]:46200 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jVzhB-0008Hn-CY for importer@patchew.org; Tue, 05 May 2020 11:41:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46068) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jVzW0-0003eG-ES for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:48 -0400 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:49937 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jVzVp-0007Ua-2T for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:47 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-259-mWy1XxCCNs-BdOzwsPdqpg-1; Tue, 05 May 2020 11:29:33 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 5EFAB107ACCA for ; Tue, 5 May 2020 15:29:31 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-113-6.ams2.redhat.com [10.36.113.6]) by smtp.corp.redhat.com (Postfix) with ESMTPS id A37A260C18; Tue, 5 May 2020 15:29:30 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 6713911358CD; Tue, 5 May 2020 17:29:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1588692575; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=VmT1FOBB7s/jsaH5ELqObElq5ll2xyr3Nh6hqf3RyQA=; b=cjl+wt4VRVoVrIC5P3SixU43p+nzo7PMx75ds0wHfU7pZZj/+A+PzgjgJzHwnKHYhrusyA eEeFEqQo1EgCduYgZ3tRLjnLMl+DtSerkhS0hGEUVekXj65sg9mMYTkoUW8YZoCmuEtMkY tDm4ZHHNltoaM960A/uGayYArWs8wQY= X-MC-Unique: mWy1XxCCNs-BdOzwsPdqpg-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH v2 16/18] qdev: Unrealize must not fail Date: Tue, 5 May 2020 17:29:24 +0200 Message-Id: <20200505152926.18877-17-armbru@redhat.com> In-Reply-To: <20200505152926.18877-1-armbru@redhat.com> References: <20200505152926.18877-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/05 00:37:38 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, T_DKIM_INVALID=0.01 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: pbonzini@redhat.com, berrange@redhat.com, ehabkost@redhat.com, philmd@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Devices may have component devices and buses. Device realization may fail. Realization is recursive: a device's realize() method realizes its components, and device_set_realized() realizes its buses (which should in turn realize the devices on that bus, except bus_set_realized() doesn't implement that, yet). When realization of a component or bus fails, we need to roll back: unrealize everything we realized so far. If any of these unrealizes failed, the device would be left in an inconsistent state. Must not happen. device_set_realized() lets it happen: it ignores errors in the roll back code starting at label child_realize_fail. Since realization is recursive, unrealization must be recursive, too. But how could a partly failed unrealize be rolled back? We'd have to re-realize, which can fail. This design is fundamentally broken. device_set_realized() does not roll back at all. Instead, it keeps unrealizing, ignoring further errors. It can screw up even for a device with no buses: if the lone dc->unrealize() fails, it still unregisters vmstate, and calls listeners' unrealize() callback. bus_set_realized() does not roll back either. Instead, it stops unrealizing. Fortunately, no unrealize method can fail, as we'll see below. To fix the design error, drop parameter @errp from all the unrealize methods. Any unrealize method that uses @errp now needs an update. This leads us to unrealize() methods that can fail. Merely passing it to another unrealize method cannot cause failure, though. Here are the ones that do other things with @errp: * virtio_serial_device_unrealize() Fails when qbus_set_hotplug_handler() fails, but still does all the other work. On failure, the device would stay realized with its resources completely gone. Oops. Can't happen, because qbus_set_hotplug_handler() can't actually fail here. Pass &error_abort to qbus_set_hotplug_handler() instead. * hw/ppc/spapr_drc.c's unrealize() Fails when object_property_del() fails, but all the other work is already done. On failure, the device would stay realized with its vmstate registration gone. Oops. Can't happen, because object_property_del() can't actually fail here. Pass &error_abort to object_property_del() instead. * spapr_phb_unrealize() Fails and bails out when remove_drcs() fails, but other work is already done. On failure, the device would stay realized with some of its resources gone. Oops. remove_drcs() fails only when chassis_from_bus()'s object_property_get_uint() fails, and it can't here. Pass &error_abort to remove_drcs() instead. Therefore, no unrealize method can fail before this patch. device_set_realized()'s recursive unrealization via bus uses object_property_set_bool(). Can't drop @errp there, so pass &error_abort. We similarly unrealize with object_property_set_bool() elsewhere, always ignoring errors. Pass &error_abort instead. Several unrealize methods no longer handle errors from other unrealize methods: virtio_9p_device_unrealize(), virtio_input_device_unrealize(), scsi_qdev_unrealize(), ... Much of the deleted error handling looks wrong anyway. One unrealize methods no longer ignore such errors: usb_ehci_pci_exit(). Several realize methods no longer ignore errors when rolling back: v9fs_device_realize_common(), pci_qdev_unrealize(), spapr_phb_realize(), usb_qdev_realize(), vfio_ccw_realize(), virtio_device_realize(). Signed-off-by: Markus Armbruster Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Paolo Bonzini --- hw/9pfs/9p.h | 2 +- hw/s390x/virtio-ccw.h | 2 +- hw/sd/sdhci-internal.h | 2 +- hw/usb/ccid.h | 2 +- hw/usb/hcd-ehci.h | 2 +- include/hw/qdev-core.h | 4 ++-- include/hw/s390x/s390-ccw.h | 2 +- include/hw/scsi/scsi.h | 2 +- include/hw/usb.h | 2 +- include/hw/xen/xen-block.h | 2 +- include/hw/xen/xen-bus.h | 2 +- hw/9pfs/9p.c | 4 ++-- hw/9pfs/virtio-9p-device.c | 4 ++-- hw/acpi/pcihp.c | 2 +- hw/audio/intel-hda.c | 2 +- hw/block/pflash_cfi02.c | 2 +- hw/block/vhost-user-blk.c | 2 +- hw/block/virtio-blk.c | 2 +- hw/block/xen-block.c | 8 ++++---- hw/char/serial-pci-multi.c | 2 +- hw/char/serial-pci.c | 2 +- hw/char/serial.c | 2 +- hw/char/virtio-console.c | 2 +- hw/char/virtio-serial-bus.c | 8 ++++---- hw/core/bus.c | 17 ++++------------- hw/core/cpu.c | 2 +- hw/core/generic-loader.c | 2 +- hw/core/qdev.c | 17 ++++++----------- hw/display/virtio-gpu-base.c | 2 +- hw/dma/rc4030.c | 2 +- hw/i386/kvm/apic.c | 2 +- hw/i386/pc.c | 4 ++-- hw/ide/qdev.c | 4 ++-- hw/input/virtio-input-hid.c | 2 +- hw/input/virtio-input-host.c | 2 +- hw/input/virtio-input.c | 9 ++------- hw/intc/apic.c | 2 +- hw/intc/apic_common.c | 4 ++-- hw/intc/ioapic.c | 2 +- hw/intc/xics.c | 2 +- hw/ipack/ipack.c | 6 ++---- hw/mem/pc-dimm.c | 2 +- hw/net/virtio-net.c | 2 +- hw/nvram/mac_nvram.c | 2 +- hw/pci/pci.c | 14 +++++++------- hw/pci/pcie.c | 2 +- hw/pci/shpc.c | 2 +- hw/ppc/pnv_core.c | 2 +- hw/ppc/spapr.c | 8 ++++---- hw/ppc/spapr_cpu_core.c | 2 +- hw/ppc/spapr_drc.c | 14 ++++---------- hw/ppc/spapr_iommu.c | 2 +- hw/ppc/spapr_pci.c | 14 +++++--------- hw/ppc/spapr_tpm_proxy.c | 2 +- hw/s390x/css-bridge.c | 2 +- hw/s390x/s390-ccw.c | 2 +- hw/s390x/s390-pci-bus.c | 4 ++-- hw/s390x/virtio-ccw.c | 8 ++++---- hw/scsi/lsi53c895a.c | 2 +- hw/scsi/scsi-bus.c | 13 ++++--------- hw/scsi/scsi-disk.c | 2 +- hw/scsi/vhost-scsi.c | 2 +- hw/scsi/vhost-user-scsi.c | 2 +- hw/scsi/virtio-scsi.c | 2 +- hw/sd/sdhci-pci.c | 2 +- hw/sd/sdhci.c | 6 +++--- hw/usb/bus.c | 12 ++++++------ hw/usb/ccid-card-emulated.c | 2 +- hw/usb/dev-audio.c | 2 +- hw/usb/dev-hid.c | 2 +- hw/usb/dev-hub.c | 2 +- hw/usb/dev-network.c | 2 +- hw/usb/dev-smartcard-reader.c | 11 +++-------- hw/usb/dev-uas.c | 2 +- hw/usb/dev-wacom.c | 2 +- hw/usb/hcd-ehci-pci.c | 2 +- hw/usb/hcd-ehci.c | 2 +- hw/usb/host-libusb.c | 2 +- hw/usb/redirect.c | 2 +- hw/vfio/ap.c | 2 +- hw/vfio/ccw.c | 6 +++--- hw/virtio/vhost-user-fs.c | 2 +- hw/virtio/vhost-vsock.c | 2 +- hw/virtio/virtio-balloon.c | 2 +- hw/virtio/virtio-crypto.c | 2 +- hw/virtio/virtio-iommu.c | 2 +- hw/virtio/virtio-pmem.c | 2 +- hw/virtio/virtio-rng.c | 2 +- hw/virtio/virtio.c | 11 +++-------- hw/watchdog/wdt_diag288.c | 2 +- hw/xen/xen-bus.c | 12 ++++++------ target/i386/cpu.c | 9 ++------- target/ppc/translate_init.inc.c | 9 ++------- 93 files changed, 158 insertions(+), 214 deletions(-) diff --git a/hw/9pfs/9p.h b/hw/9pfs/9p.h index b8f72a3bd9..dd1c6cb8d2 100644 --- a/hw/9pfs/9p.h +++ b/hw/9pfs/9p.h @@ -423,7 +423,7 @@ int v9fs_name_to_path(V9fsState *s, V9fsPath *dirpath, const char *name, V9fsPath *path); int v9fs_device_realize_common(V9fsState *s, const V9fsTransport *t, Error **errp); -void v9fs_device_unrealize_common(V9fsState *s, Error **errp); +void v9fs_device_unrealize_common(V9fsState *s); =20 V9fsPDU *pdu_alloc(V9fsState *s); void pdu_free(V9fsPDU *pdu); diff --git a/hw/s390x/virtio-ccw.h b/hw/s390x/virtio-ccw.h index 3453aa1f98..c0e3355248 100644 --- a/hw/s390x/virtio-ccw.h +++ b/hw/s390x/virtio-ccw.h @@ -76,7 +76,7 @@ typedef struct VirtioCcwDevice VirtioCcwDevice; typedef struct VirtIOCCWDeviceClass { CCWDeviceClass parent_class; void (*realize)(VirtioCcwDevice *dev, Error **errp); - void (*unrealize)(VirtioCcwDevice *dev, Error **errp); + void (*unrealize)(VirtioCcwDevice *dev); void (*parent_reset)(DeviceState *dev); } VirtIOCCWDeviceClass; =20 diff --git a/hw/sd/sdhci-internal.h b/hw/sd/sdhci-internal.h index 34141400f8..e7c8a523b5 100644 --- a/hw/sd/sdhci-internal.h +++ b/hw/sd/sdhci-internal.h @@ -335,7 +335,7 @@ extern const VMStateDescription sdhci_vmstate; void sdhci_initfn(SDHCIState *s); void sdhci_uninitfn(SDHCIState *s); void sdhci_common_realize(SDHCIState *s, Error **errp); -void sdhci_common_unrealize(SDHCIState *s, Error **errp); +void sdhci_common_unrealize(SDHCIState *s); void sdhci_common_class_init(ObjectClass *klass, void *data); =20 #endif diff --git a/hw/usb/ccid.h b/hw/usb/ccid.h index bb2fdbfff3..531bf28fb0 100644 --- a/hw/usb/ccid.h +++ b/hw/usb/ccid.h @@ -36,7 +36,7 @@ typedef struct CCIDCardClass { const uint8_t *apdu, uint32_t len); void (*realize)(CCIDCardState *card, Error **errp); - void (*unrealize)(CCIDCardState *card, Error **errp); + void (*unrealize)(CCIDCardState *card); } CCIDCardClass; =20 /* diff --git a/hw/usb/hcd-ehci.h b/hw/usb/hcd-ehci.h index edb59311c4..57b38cfc05 100644 --- a/hw/usb/hcd-ehci.h +++ b/hw/usb/hcd-ehci.h @@ -324,7 +324,7 @@ extern const VMStateDescription vmstate_ehci; void usb_ehci_init(EHCIState *s, DeviceState *dev); void usb_ehci_finalize(EHCIState *s); void usb_ehci_realize(EHCIState *s, DeviceState *dev, Error **errp); -void usb_ehci_unrealize(EHCIState *s, DeviceState *dev, Error **errp); +void usb_ehci_unrealize(EHCIState *s, DeviceState *dev); void ehci_reset(void *opaque); =20 #define TYPE_PCI_EHCI "pci-ehci-usb" diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h index 6f537f687f..b870b27966 100644 --- a/include/hw/qdev-core.h +++ b/include/hw/qdev-core.h @@ -30,10 +30,10 @@ typedef enum DeviceCategory { } DeviceCategory; =20 typedef void (*DeviceRealize)(DeviceState *dev, Error **errp); -typedef void (*DeviceUnrealize)(DeviceState *dev, Error **errp); +typedef void (*DeviceUnrealize)(DeviceState *dev); typedef void (*DeviceReset)(DeviceState *dev); typedef void (*BusRealize)(BusState *bus, Error **errp); -typedef void (*BusUnrealize)(BusState *bus, Error **errp); +typedef void (*BusUnrealize)(BusState *bus); =20 /** * DeviceClass: diff --git a/include/hw/s390x/s390-ccw.h b/include/hw/s390x/s390-ccw.h index fffb54562f..7f27bc2f53 100644 --- a/include/hw/s390x/s390-ccw.h +++ b/include/hw/s390x/s390-ccw.h @@ -33,7 +33,7 @@ typedef struct S390CCWDevice { typedef struct S390CCWDeviceClass { CCWDeviceClass parent_class; void (*realize)(S390CCWDevice *dev, char *sysfsdev, Error **errp); - void (*unrealize)(S390CCWDevice *dev, Error **errp); + void (*unrealize)(S390CCWDevice *dev); IOInstEnding (*handle_request) (SubchDev *sch); int (*handle_halt) (SubchDev *sch); int (*handle_clear) (SubchDev *sch); diff --git a/include/hw/scsi/scsi.h b/include/hw/scsi/scsi.h index 332ef602f4..2fc23e44ba 100644 --- a/include/hw/scsi/scsi.h +++ b/include/hw/scsi/scsi.h @@ -59,7 +59,7 @@ struct SCSIRequest { typedef struct SCSIDeviceClass { DeviceClass parent_class; void (*realize)(SCSIDevice *dev, Error **errp); - void (*unrealize)(SCSIDevice *dev, Error **errp); + void (*unrealize)(SCSIDevice *dev); int (*parse_cdb)(SCSIDevice *dev, SCSICommand *cmd, uint8_t *buf, void *hba_private); SCSIRequest *(*alloc_req)(SCSIDevice *s, uint32_t tag, uint32_t lun, diff --git a/include/hw/usb.h b/include/hw/usb.h index c24d968a19..1cf1cd9584 100644 --- a/include/hw/usb.h +++ b/include/hw/usb.h @@ -272,7 +272,7 @@ struct USBDevice { OBJECT_GET_CLASS(USBDeviceClass, (obj), TYPE_USB_DEVICE) =20 typedef void (*USBDeviceRealize)(USBDevice *dev, Error **errp); -typedef void (*USBDeviceUnrealize)(USBDevice *dev, Error **errp); +typedef void (*USBDeviceUnrealize)(USBDevice *dev); =20 typedef struct USBDeviceClass { DeviceClass parent_class; diff --git a/include/hw/xen/xen-block.h b/include/hw/xen/xen-block.h index 11d351b4b3..2cd2fc2701 100644 --- a/include/hw/xen/xen-block.h +++ b/include/hw/xen/xen-block.h @@ -57,7 +57,7 @@ typedef struct XenBlockDevice { } XenBlockDevice; =20 typedef void (*XenBlockDeviceRealize)(XenBlockDevice *blockdev, Error **er= rp); -typedef void (*XenBlockDeviceUnrealize)(XenBlockDevice *blockdev, Error **= errp); +typedef void (*XenBlockDeviceUnrealize)(XenBlockDevice *blockdev); =20 typedef struct XenBlockDeviceClass { /*< private >*/ diff --git a/include/hw/xen/xen-bus.h b/include/hw/xen/xen-bus.h index c18c1372af..4ec0bb072f 100644 --- a/include/hw/xen/xen-bus.h +++ b/include/hw/xen/xen-bus.h @@ -42,7 +42,7 @@ typedef void (*XenDeviceRealize)(XenDevice *xendev, Error= **errp); typedef void (*XenDeviceFrontendChanged)(XenDevice *xendev, enum xenbus_state frontend_state, Error **errp); -typedef void (*XenDeviceUnrealize)(XenDevice *xendev, Error **errp); +typedef void (*XenDeviceUnrealize)(XenDevice *xendev); =20 typedef struct XenDeviceClass { /*< private >*/ diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c index 9e046f7acb..a2a14b5979 100644 --- a/hw/9pfs/9p.c +++ b/hw/9pfs/9p.c @@ -4124,13 +4124,13 @@ int v9fs_device_realize_common(V9fsState *s, const = V9fsTransport *t, rc =3D 0; out: if (rc) { - v9fs_device_unrealize_common(s, NULL); + v9fs_device_unrealize_common(s); } v9fs_path_free(&path); return rc; } =20 -void v9fs_device_unrealize_common(V9fsState *s, Error **errp) +void v9fs_device_unrealize_common(V9fsState *s) { if (s->ops && s->ops->cleanup) { s->ops->cleanup(&s->ctx); diff --git a/hw/9pfs/virtio-9p-device.c b/hw/9pfs/virtio-9p-device.c index 536447a355..e5b44977c7 100644 --- a/hw/9pfs/virtio-9p-device.c +++ b/hw/9pfs/virtio-9p-device.c @@ -212,7 +212,7 @@ static void virtio_9p_device_realize(DeviceState *dev, = Error **errp) v->vq =3D virtio_add_queue(vdev, MAX_REQ, handle_9p_output); } =20 -static void virtio_9p_device_unrealize(DeviceState *dev, Error **errp) +static void virtio_9p_device_unrealize(DeviceState *dev) { VirtIODevice *vdev =3D VIRTIO_DEVICE(dev); V9fsVirtioState *v =3D VIRTIO_9P(dev); @@ -220,7 +220,7 @@ static void virtio_9p_device_unrealize(DeviceState *dev= , Error **errp) =20 virtio_delete_queue(v->vq); virtio_cleanup(vdev); - v9fs_device_unrealize_common(s, errp); + v9fs_device_unrealize_common(s); } =20 /* virtio-9p device */ diff --git a/hw/acpi/pcihp.c b/hw/acpi/pcihp.c index fbc86af102..d42906ea19 100644 --- a/hw/acpi/pcihp.c +++ b/hw/acpi/pcihp.c @@ -266,7 +266,7 @@ void acpi_pcihp_device_unplug_cb(HotplugHandler *hotplu= g_dev, AcpiPciHpState *s, { trace_acpi_pci_unplug(PCI_SLOT(PCI_DEVICE(dev)->devfn), acpi_pcihp_get_bsel(pci_get_bus(PCI_DEVICE(dev))= )); - object_property_set_bool(OBJECT(dev), false, "realized", NULL); + object_property_set_bool(OBJECT(dev), false, "realized", &error_abort); } =20 void acpi_pcihp_device_unplug_request_cb(HotplugHandler *hotplug_dev, diff --git a/hw/audio/intel-hda.c b/hw/audio/intel-hda.c index e8d18b7c58..4696ae0d9a 100644 --- a/hw/audio/intel-hda.c +++ b/hw/audio/intel-hda.c @@ -74,7 +74,7 @@ static void hda_codec_dev_realize(DeviceState *qdev, Erro= r **errp) } } =20 -static void hda_codec_dev_unrealize(DeviceState *qdev, Error **errp) +static void hda_codec_dev_unrealize(DeviceState *qdev) { HDACodecDevice *dev =3D HDA_CODEC_DEVICE(qdev); HDACodecDeviceClass *cdc =3D HDA_CODEC_DEVICE_GET_CLASS(dev); diff --git a/hw/block/pflash_cfi02.c b/hw/block/pflash_cfi02.c index 12f18d401a..f0579ecb17 100644 --- a/hw/block/pflash_cfi02.c +++ b/hw/block/pflash_cfi02.c @@ -949,7 +949,7 @@ static Property pflash_cfi02_properties[] =3D { DEFINE_PROP_END_OF_LIST(), }; =20 -static void pflash_cfi02_unrealize(DeviceState *dev, Error **errp) +static void pflash_cfi02_unrealize(DeviceState *dev) { PFlashCFI02 *pfl =3D PFLASH_CFI02(dev); timer_del(&pfl->timer); diff --git a/hw/block/vhost-user-blk.c b/hw/block/vhost-user-blk.c index 5263e0c9ad..9d8c0b3909 100644 --- a/hw/block/vhost-user-blk.c +++ b/hw/block/vhost-user-blk.c @@ -452,7 +452,7 @@ virtio_err: vhost_user_cleanup(&s->vhost_user); } =20 -static void vhost_user_blk_device_unrealize(DeviceState *dev, Error **errp) +static void vhost_user_blk_device_unrealize(DeviceState *dev) { VirtIODevice *vdev =3D VIRTIO_DEVICE(dev); VHostUserBlk *s =3D VHOST_USER_BLK(dev); diff --git a/hw/block/virtio-blk.c b/hw/block/virtio-blk.c index fb32717a12..f5f6fc925e 100644 --- a/hw/block/virtio-blk.c +++ b/hw/block/virtio-blk.c @@ -1223,7 +1223,7 @@ static void virtio_blk_device_realize(DeviceState *de= v, Error **errp) conf->conf.lsecs); } =20 -static void virtio_blk_device_unrealize(DeviceState *dev, Error **errp) +static void virtio_blk_device_unrealize(DeviceState *dev) { VirtIODevice *vdev =3D VIRTIO_DEVICE(dev); VirtIOBlock *s =3D VIRTIO_BLK(dev); diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c index 99cb4c67cb..570489d6d9 100644 --- a/hw/block/xen-block.c +++ b/hw/block/xen-block.c @@ -136,7 +136,7 @@ static void xen_block_connect(XenDevice *xendev, Error = **errp) g_free(ring_ref); } =20 -static void xen_block_unrealize(XenDevice *xendev, Error **errp) +static void xen_block_unrealize(XenDevice *xendev) { XenBlockDevice *blockdev =3D XEN_BLOCK_DEVICE(xendev); XenBlockDeviceClass *blockdev_class =3D @@ -157,7 +157,7 @@ static void xen_block_unrealize(XenDevice *xendev, Erro= r **errp) blockdev->dataplane =3D NULL; =20 if (blockdev_class->unrealize) { - blockdev_class->unrealize(blockdev, errp); + blockdev_class->unrealize(blockdev); } } =20 @@ -567,7 +567,7 @@ static const TypeInfo xen_block_type_info =3D { .class_init =3D xen_block_class_init, }; =20 -static void xen_disk_unrealize(XenBlockDevice *blockdev, Error **errp) +static void xen_disk_unrealize(XenBlockDevice *blockdev) { trace_xen_disk_unrealize(); } @@ -606,7 +606,7 @@ static const TypeInfo xen_disk_type_info =3D { .class_init =3D xen_disk_class_init, }; =20 -static void xen_cdrom_unrealize(XenBlockDevice *blockdev, Error **errp) +static void xen_cdrom_unrealize(XenBlockDevice *blockdev) { trace_xen_cdrom_unrealize(); } diff --git a/hw/char/serial-pci-multi.c b/hw/char/serial-pci-multi.c index 1742cb77ec..5f9ccfcc93 100644 --- a/hw/char/serial-pci-multi.c +++ b/hw/char/serial-pci-multi.c @@ -56,7 +56,7 @@ static void multi_serial_pci_exit(PCIDevice *dev) =20 for (i =3D 0; i < pci->ports; i++) { s =3D pci->state + i; - object_property_set_bool(OBJECT(s), false, "realized", NULL); + object_property_set_bool(OBJECT(s), false, "realized", &error_abor= t); memory_region_del_subregion(&pci->iobar, &s->io); g_free(pci->name[i]); } diff --git a/hw/char/serial-pci.c b/hw/char/serial-pci.c index 743552c56b..37818db156 100644 --- a/hw/char/serial-pci.c +++ b/hw/char/serial-pci.c @@ -68,7 +68,7 @@ static void serial_pci_exit(PCIDevice *dev) PCISerialState *pci =3D DO_UPCAST(PCISerialState, dev, dev); SerialState *s =3D &pci->state; =20 - object_property_set_bool(OBJECT(s), false, "realized", NULL); + object_property_set_bool(OBJECT(s), false, "realized", &error_abort); qemu_free_irq(s->irq); } =20 diff --git a/hw/char/serial.c b/hw/char/serial.c index c822a9ae6c..7d74694587 100644 --- a/hw/char/serial.c +++ b/hw/char/serial.c @@ -950,7 +950,7 @@ static void serial_realize(DeviceState *dev, Error **er= rp) serial_reset(s); } =20 -static void serial_unrealize(DeviceState *dev, Error **errp) +static void serial_unrealize(DeviceState *dev) { SerialState *s =3D SERIAL(dev); =20 diff --git a/hw/char/virtio-console.c b/hw/char/virtio-console.c index b010c21de4..4f46753ea3 100644 --- a/hw/char/virtio-console.c +++ b/hw/char/virtio-console.c @@ -249,7 +249,7 @@ static void virtconsole_realize(DeviceState *dev, Error= **errp) } } =20 -static void virtconsole_unrealize(DeviceState *dev, Error **errp) +static void virtconsole_unrealize(DeviceState *dev) { VirtConsole *vcon =3D VIRTIO_CONSOLE(dev); =20 diff --git a/hw/char/virtio-serial-bus.c b/hw/char/virtio-serial-bus.c index 99a65bab7f..262089c0c9 100644 --- a/hw/char/virtio-serial-bus.c +++ b/hw/char/virtio-serial-bus.c @@ -1010,7 +1010,7 @@ static void virtser_port_device_plug(HotplugHandler *= hotplug_dev, virtio_notify_config(VIRTIO_DEVICE(hotplug_dev)); } =20 -static void virtser_port_device_unrealize(DeviceState *dev, Error **errp) +static void virtser_port_device_unrealize(DeviceState *dev) { VirtIOSerialPort *port =3D VIRTIO_SERIAL_PORT(dev); VirtIOSerialPortClass *vsc =3D VIRTIO_SERIAL_PORT_GET_CLASS(dev); @@ -1022,7 +1022,7 @@ static void virtser_port_device_unrealize(DeviceState= *dev, Error **errp) QTAILQ_REMOVE(&vser->ports, port, next); =20 if (vsc->unrealize) { - vsc->unrealize(dev, errp); + vsc->unrealize(dev); } } =20 @@ -1122,7 +1122,7 @@ static const TypeInfo virtio_serial_port_type_info = =3D { .class_init =3D virtio_serial_port_class_init, }; =20 -static void virtio_serial_device_unrealize(DeviceState *dev, Error **errp) +static void virtio_serial_device_unrealize(DeviceState *dev) { VirtIODevice *vdev =3D VIRTIO_DEVICE(dev); VirtIOSerial *vser =3D VIRTIO_SERIAL(dev); @@ -1147,7 +1147,7 @@ static void virtio_serial_device_unrealize(DeviceStat= e *dev, Error **errp) g_free(vser->post_load); } =20 - qbus_set_hotplug_handler(BUS(&vser->bus), NULL, errp); + qbus_set_hotplug_handler(BUS(&vser->bus), NULL, &error_abort); =20 virtio_cleanup(vdev); } diff --git a/hw/core/bus.c b/hw/core/bus.c index 4a57ae107e..a9e4118d3c 100644 --- a/hw/core/bus.c +++ b/hw/core/bus.c @@ -176,11 +176,10 @@ static void bus_set_realized(Object *obj, bool value,= Error **errp) BusState *bus =3D BUS(obj); BusClass *bc =3D BUS_GET_CLASS(bus); BusChild *kid; - Error *local_err =3D NULL; =20 if (value && !bus->realized) { if (bc->realize) { - bc->realize(bus, &local_err); + bc->realize(bus, errp); } =20 /* TODO: recursive realization */ @@ -188,21 +187,13 @@ static void bus_set_realized(Object *obj, bool value,= Error **errp) QTAILQ_FOREACH(kid, &bus->children, sibling) { DeviceState *dev =3D kid->child; object_property_set_bool(OBJECT(dev), false, "realized", - &local_err); - if (local_err !=3D NULL) { - break; - } + &error_abort); } - if (bc->unrealize && local_err =3D=3D NULL) { - bc->unrealize(bus, &local_err); + if (bc->unrealize) { + bc->unrealize(bus); } } =20 - if (local_err !=3D NULL) { - error_propagate(errp, local_err); - return; - } - bus->realized =3D value; } =20 diff --git a/hw/core/cpu.c b/hw/core/cpu.c index 786a1bec8a..5284d384fb 100644 --- a/hw/core/cpu.c +++ b/hw/core/cpu.c @@ -345,7 +345,7 @@ static void cpu_common_realizefn(DeviceState *dev, Erro= r **errp) trace_init_vcpu(cpu); } =20 -static void cpu_common_unrealizefn(DeviceState *dev, Error **errp) +static void cpu_common_unrealizefn(DeviceState *dev) { CPUState *cpu =3D CPU(dev); /* NOTE: latest generic point before the cpu is fully unrealized */ diff --git a/hw/core/generic-loader.c b/hw/core/generic-loader.c index b9aaa52706..a242c076f6 100644 --- a/hw/core/generic-loader.c +++ b/hw/core/generic-loader.c @@ -173,7 +173,7 @@ static void generic_loader_realize(DeviceState *dev, Er= ror **errp) } } =20 -static void generic_loader_unrealize(DeviceState *dev, Error **errp) +static void generic_loader_unrealize(DeviceState *dev) { qemu_unregister_reset(generic_loader_reset, dev); } diff --git a/hw/core/qdev.c b/hw/core/qdev.c index 2afa2562b8..b9c7a2f904 100644 --- a/hw/core/qdev.c +++ b/hw/core/qdev.c @@ -392,7 +392,7 @@ static void device_reset_child_foreach(Object *obj, Res= ettableChildCallback cb, void qdev_simple_device_unplug_cb(HotplugHandler *hotplug_dev, DeviceState *dev, Error **errp) { - object_property_set_bool(OBJECT(dev), false, "realized", NULL); + object_property_set_bool(OBJECT(dev), false, "realized", &error_abort); } =20 /* @@ -945,23 +945,18 @@ static void device_set_realized(Object *obj, bool val= ue, Error **errp) } =20 } else if (!value && dev->realized) { - /* We want local_err to track only the first error */ QLIST_FOREACH(bus, &dev->child_bus, sibling) { object_property_set_bool(OBJECT(bus), false, "realized", - local_err ? NULL : &local_err); + &error_abort); } if (qdev_get_vmsd(dev)) { vmstate_unregister(VMSTATE_IF(dev), qdev_get_vmsd(dev), dev); } if (dc->unrealize) { - dc->unrealize(dev, local_err ? NULL : &local_err); + dc->unrealize(dev); } dev->pending_deleted_event =3D true; DEVICE_LISTENER_CALL(unrealize, Reverse, dev); - - if (local_err !=3D NULL) { - goto fail; - } } =20 assert(local_err =3D=3D NULL); @@ -971,7 +966,7 @@ static void device_set_realized(Object *obj, bool value= , Error **errp) child_realize_fail: QLIST_FOREACH(bus, &dev->child_bus, sibling) { object_property_set_bool(OBJECT(bus), false, "realized", - NULL); + &error_abort); } =20 if (qdev_get_vmsd(dev)) { @@ -982,7 +977,7 @@ post_realize_fail: g_free(dev->canonical_path); dev->canonical_path =3D NULL; if (dc->unrealize) { - dc->unrealize(dev, NULL); + dc->unrealize(dev); } =20 fail: @@ -1083,7 +1078,7 @@ static void device_unparent(Object *obj) BusState *bus; =20 if (dev->realized) { - object_property_set_bool(obj, false, "realized", NULL); + object_property_set_bool(obj, false, "realized", &error_abort); } while (dev->num_child_bus) { bus =3D QLIST_FIRST(&dev->child_bus); diff --git a/hw/display/virtio-gpu-base.c b/hw/display/virtio-gpu-base.c index 55e07995fe..c159351be3 100644 --- a/hw/display/virtio-gpu-base.c +++ b/hw/display/virtio-gpu-base.c @@ -203,7 +203,7 @@ virtio_gpu_base_set_features(VirtIODevice *vdev, uint64= _t features) } =20 static void -virtio_gpu_base_device_unrealize(DeviceState *qdev, Error **errp) +virtio_gpu_base_device_unrealize(DeviceState *qdev) { VirtIOGPUBase *g =3D VIRTIO_GPU_BASE(qdev); =20 diff --git a/hw/dma/rc4030.c b/hw/dma/rc4030.c index 7434d274aa..eefbabd758 100644 --- a/hw/dma/rc4030.c +++ b/hw/dma/rc4030.c @@ -690,7 +690,7 @@ static void rc4030_realize(DeviceState *dev, Error **er= rp) address_space_init(&s->dma_as, MEMORY_REGION(&s->dma_mr), "rc4030-dma"= ); } =20 -static void rc4030_unrealize(DeviceState *dev, Error **errp) +static void rc4030_unrealize(DeviceState *dev) { rc4030State *s =3D RC4030(dev); =20 diff --git a/hw/i386/kvm/apic.c b/hw/i386/kvm/apic.c index 91fb622d63..4eb2d77b87 100644 --- a/hw/i386/kvm/apic.c +++ b/hw/i386/kvm/apic.c @@ -230,7 +230,7 @@ static void kvm_apic_realize(DeviceState *dev, Error **= errp) } } =20 -static void kvm_apic_unrealize(DeviceState *dev, Error **errp) +static void kvm_apic_unrealize(DeviceState *dev) { } =20 diff --git a/hw/i386/pc.c b/hw/i386/pc.c index da78589b37..ad82b3446c 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1382,7 +1382,7 @@ static void pc_memory_unplug(HotplugHandler *hotplug_= dev, } =20 pc_dimm_unplug(PC_DIMM(dev), MACHINE(pcms)); - object_property_set_bool(OBJECT(dev), false, "realized", NULL); + object_property_set_bool(OBJECT(dev), false, "realized", &error_abort); out: error_propagate(errp, local_err); } @@ -1490,7 +1490,7 @@ static void pc_cpu_unplug_cb(HotplugHandler *hotplug_= dev, =20 found_cpu =3D pc_find_cpu_slot(MACHINE(pcms), cpu->apic_id, NULL); found_cpu->cpu =3D NULL; - object_property_set_bool(OBJECT(dev), false, "realized", NULL); + object_property_set_bool(OBJECT(dev), false, "realized", &error_abort); =20 /* decrement the number of CPUs */ x86ms->boot_cpus--; diff --git a/hw/ide/qdev.c b/hw/ide/qdev.c index 4909b14b91..06b11583f5 100644 --- a/hw/ide/qdev.c +++ b/hw/ide/qdev.c @@ -36,7 +36,7 @@ /* --------------------------------- */ =20 static char *idebus_get_fw_dev_path(DeviceState *dev); -static void idebus_unrealize(BusState *qdev, Error **errp); +static void idebus_unrealize(BusState *qdev); =20 static Property ide_props[] =3D { DEFINE_PROP_UINT32("unit", IDEDevice, unit, -1), @@ -51,7 +51,7 @@ static void ide_bus_class_init(ObjectClass *klass, void *= data) k->unrealize =3D idebus_unrealize; } =20 -static void idebus_unrealize(BusState *bus, Error **errp) +static void idebus_unrealize(BusState *bus) { IDEBus *ibus =3D IDE_BUS(bus); =20 diff --git a/hw/input/virtio-input-hid.c b/hw/input/virtio-input-hid.c index e8ae6c148a..09cf260985 100644 --- a/hw/input/virtio-input-hid.c +++ b/hw/input/virtio-input-hid.c @@ -165,7 +165,7 @@ static void virtio_input_hid_realize(DeviceState *dev, = Error **errp) } } =20 -static void virtio_input_hid_unrealize(DeviceState *dev, Error **errp) +static void virtio_input_hid_unrealize(DeviceState *dev) { VirtIOInputHID *vhid =3D VIRTIO_INPUT_HID(dev); qemu_input_handler_unregister(vhid->hs); diff --git a/hw/input/virtio-input-host.c b/hw/input/virtio-input-host.c index f2ab6df676..85daf73f1a 100644 --- a/hw/input/virtio-input-host.c +++ b/hw/input/virtio-input-host.c @@ -178,7 +178,7 @@ err_close: return; } =20 -static void virtio_input_host_unrealize(DeviceState *dev, Error **errp) +static void virtio_input_host_unrealize(DeviceState *dev) { VirtIOInputHost *vih =3D VIRTIO_INPUT_HOST(dev); =20 diff --git a/hw/input/virtio-input.c b/hw/input/virtio-input.c index 4d49790f50..54bcb46c74 100644 --- a/hw/input/virtio-input.c +++ b/hw/input/virtio-input.c @@ -276,19 +276,14 @@ static void virtio_input_finalize(Object *obj) g_free(vinput->queue); } =20 -static void virtio_input_device_unrealize(DeviceState *dev, Error **errp) +static void virtio_input_device_unrealize(DeviceState *dev) { VirtIOInputClass *vic =3D VIRTIO_INPUT_GET_CLASS(dev); VirtIODevice *vdev =3D VIRTIO_DEVICE(dev); VirtIOInput *vinput =3D VIRTIO_INPUT(dev); - Error *local_err =3D NULL; =20 if (vic->unrealize) { - vic->unrealize(dev, &local_err); - if (local_err) { - error_propagate(errp, local_err); - return; - } + vic->unrealize(dev); } virtio_delete_queue(vinput->evt); virtio_delete_queue(vinput->sts); diff --git a/hw/intc/apic.c b/hw/intc/apic.c index bd40467965..6b46839ef4 100644 --- a/hw/intc/apic.c +++ b/hw/intc/apic.c @@ -900,7 +900,7 @@ static void apic_realize(DeviceState *dev, Error **errp) msi_nonbroken =3D true; } =20 -static void apic_unrealize(DeviceState *dev, Error **errp) +static void apic_unrealize(DeviceState *dev) { APICCommonState *s =3D APIC(dev); =20 diff --git a/hw/intc/apic_common.c b/hw/intc/apic_common.c index 243bb69430..7da2862b3d 100644 --- a/hw/intc/apic_common.c +++ b/hw/intc/apic_common.c @@ -293,13 +293,13 @@ static void apic_common_realize(DeviceState *dev, Err= or **errp) s, -1, 0, NULL); } =20 -static void apic_common_unrealize(DeviceState *dev, Error **errp) +static void apic_common_unrealize(DeviceState *dev) { APICCommonState *s =3D APIC_COMMON(dev); APICCommonClass *info =3D APIC_COMMON_GET_CLASS(s); =20 vmstate_unregister(NULL, &vmstate_apic_common, s); - info->unrealize(dev, errp); + info->unrealize(dev); =20 if (apic_report_tpr_access && info->enable_tpr_reporting) { info->enable_tpr_reporting(s, false); diff --git a/hw/intc/ioapic.c b/hw/intc/ioapic.c index 15747fe2c2..ffe30dc457 100644 --- a/hw/intc/ioapic.c +++ b/hw/intc/ioapic.c @@ -451,7 +451,7 @@ static void ioapic_realize(DeviceState *dev, Error **er= rp) qemu_add_machine_init_done_notifier(&s->machine_done); } =20 -static void ioapic_unrealize(DeviceState *dev, Error **errp) +static void ioapic_unrealize(DeviceState *dev) { IOAPICCommonState *s =3D IOAPIC_COMMON(dev); =20 diff --git a/hw/intc/xics.c b/hw/intc/xics.c index e56d578841..d5032c8f8a 100644 --- a/hw/intc/xics.c +++ b/hw/intc/xics.c @@ -338,7 +338,7 @@ static void icp_realize(DeviceState *dev, Error **errp) vmstate_register(NULL, icp->cs->cpu_index, &vmstate_icp_server, icp); } =20 -static void icp_unrealize(DeviceState *dev, Error **errp) +static void icp_unrealize(DeviceState *dev) { ICPState *icp =3D ICP(dev); =20 diff --git a/hw/ipack/ipack.c b/hw/ipack/ipack.c index 49787a13bc..f19ecaeb1c 100644 --- a/hw/ipack/ipack.c +++ b/hw/ipack/ipack.c @@ -60,15 +60,13 @@ static void ipack_device_realize(DeviceState *dev, Erro= r **errp) k->realize(dev, errp); } =20 -static void ipack_device_unrealize(DeviceState *dev, Error **errp) +static void ipack_device_unrealize(DeviceState *dev) { IPackDevice *idev =3D IPACK_DEVICE(dev); IPackDeviceClass *k =3D IPACK_DEVICE_GET_CLASS(dev); - Error *err =3D NULL; =20 if (k->unrealize) { - k->unrealize(dev, &err); - error_propagate(errp, err); + k->unrealize(dev); return; } =20 diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c index ab6d1b41b2..60cd5b96fb 100644 --- a/hw/mem/pc-dimm.c +++ b/hw/mem/pc-dimm.c @@ -199,7 +199,7 @@ static void pc_dimm_realize(DeviceState *dev, Error **e= rrp) host_memory_backend_set_mapped(dimm->hostmem, true); } =20 -static void pc_dimm_unrealize(DeviceState *dev, Error **errp) +static void pc_dimm_unrealize(DeviceState *dev) { PCDIMMDevice *dimm =3D PC_DIMM(dev); =20 diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index b43fd7d608..b7f3d1b2eb 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -3077,7 +3077,7 @@ static void virtio_net_device_realize(DeviceState *de= v, Error **errp) n->qdev =3D dev; } =20 -static void virtio_net_device_unrealize(DeviceState *dev, Error **errp) +static void virtio_net_device_unrealize(DeviceState *dev) { VirtIODevice *vdev =3D VIRTIO_DEVICE(dev); VirtIONet *n =3D VIRTIO_NET(dev); diff --git a/hw/nvram/mac_nvram.c b/hw/nvram/mac_nvram.c index 2e8a1e3812..ff5db03e6b 100644 --- a/hw/nvram/mac_nvram.c +++ b/hw/nvram/mac_nvram.c @@ -107,7 +107,7 @@ static void macio_nvram_realizefn(DeviceState *dev, Err= or **errp) sysbus_init_mmio(d, &s->mem); } =20 -static void macio_nvram_unrealizefn(DeviceState *dev, Error **errp) +static void macio_nvram_unrealizefn(DeviceState *dev) { MacIONVRAMState *s =3D MACIO_NVRAM(dev); =20 diff --git a/hw/pci/pci.c b/hw/pci/pci.c index b5bc842fac..70c66965f5 100644 --- a/hw/pci/pci.c +++ b/hw/pci/pci.c @@ -146,7 +146,7 @@ static void pcie_bus_realize(BusState *qbus, Error **er= rp) } } =20 -static void pci_bus_unrealize(BusState *qbus, Error **errp) +static void pci_bus_unrealize(BusState *qbus) { PCIBus *bus =3D PCI_BUS(qbus); =20 @@ -456,7 +456,7 @@ void pci_root_bus_cleanup(PCIBus *bus) { pci_bus_uninit(bus); /* the caller of the unplug hotplug handler will delete this device */ - object_property_set_bool(OBJECT(bus), false, "realized", NULL); + object_property_set_bool(OBJECT(bus), false, "realized", &error_abort); } =20 void pci_bus_irqs(PCIBus *bus, pci_set_irq_fn set_irq, pci_map_irq_fn map_= irq, @@ -1118,7 +1118,7 @@ static void pci_unregister_io_regions(PCIDevice *pci_= dev) pci_unregister_vga(pci_dev); } =20 -static void pci_qdev_unrealize(DeviceState *dev, Error **errp) +static void pci_qdev_unrealize(DeviceState *dev) { PCIDevice *pci_dev =3D PCI_DEVICE(dev); PCIDeviceClass *pc =3D PCI_DEVICE_GET_CLASS(pci_dev); @@ -2108,7 +2108,7 @@ static void pci_qdev_realize(DeviceState *qdev, Error= **errp) error_setg(errp, "failover primary device must be on " "PCIExpress bus"); error_propagate(errp, local_err); - pci_qdev_unrealize(DEVICE(pci_dev), NULL); + pci_qdev_unrealize(DEVICE(pci_dev)); return; } class_id =3D pci_get_word(pci_dev->config + PCI_CLASS_DEVICE); @@ -2116,7 +2116,7 @@ static void pci_qdev_realize(DeviceState *qdev, Error= **errp) error_setg(errp, "failover primary device is not an " "Ethernet device"); error_propagate(errp, local_err); - pci_qdev_unrealize(DEVICE(pci_dev), NULL); + pci_qdev_unrealize(DEVICE(pci_dev)); return; } if (!(pci_dev->cap_present & QEMU_PCI_CAP_MULTIFUNCTION) @@ -2126,7 +2126,7 @@ static void pci_qdev_realize(DeviceState *qdev, Error= **errp) error_setg(errp, "failover: primary device must be in its own " "PCI slot"); error_propagate(errp, local_err); - pci_qdev_unrealize(DEVICE(pci_dev), NULL); + pci_qdev_unrealize(DEVICE(pci_dev)); return; } qdev->allow_unplug_during_migration =3D true; @@ -2142,7 +2142,7 @@ static void pci_qdev_realize(DeviceState *qdev, Error= **errp) pci_add_option_rom(pci_dev, is_default_rom, &local_err); if (local_err) { error_propagate(errp, local_err); - pci_qdev_unrealize(DEVICE(pci_dev), NULL); + pci_qdev_unrealize(DEVICE(pci_dev)); return; } } diff --git a/hw/pci/pcie.c b/hw/pci/pcie.c index abc99b6eff..f50e10b8fb 100644 --- a/hw/pci/pcie.c +++ b/hw/pci/pcie.c @@ -457,7 +457,7 @@ void pcie_cap_slot_plug_cb(HotplugHandler *hotplug_dev,= DeviceState *dev, void pcie_cap_slot_unplug_cb(HotplugHandler *hotplug_dev, DeviceState *dev, Error **errp) { - object_property_set_bool(OBJECT(dev), false, "realized", NULL); + object_property_set_bool(OBJECT(dev), false, "realized", &error_abort); } =20 static void pcie_unplug_device(PCIBus *bus, PCIDevice *dev, void *opaque) diff --git a/hw/pci/shpc.c b/hw/pci/shpc.c index 7f0aa28e44..b76d3d2c9a 100644 --- a/hw/pci/shpc.c +++ b/hw/pci/shpc.c @@ -547,7 +547,7 @@ void shpc_device_plug_cb(HotplugHandler *hotplug_dev, D= eviceState *dev, void shpc_device_unplug_cb(HotplugHandler *hotplug_dev, DeviceState *dev, Error **errp) { - object_property_set_bool(OBJECT(dev), false, "realized", NULL); + object_property_set_bool(OBJECT(dev), false, "realized", &error_abort); } =20 void shpc_device_unplug_request_cb(HotplugHandler *hotplug_dev, diff --git a/hw/ppc/pnv_core.c b/hw/ppc/pnv_core.c index 7033104676..96a446f001 100644 --- a/hw/ppc/pnv_core.c +++ b/hw/ppc/pnv_core.c @@ -275,7 +275,7 @@ static void pnv_core_cpu_unrealize(PnvCore *pc, PowerPC= CPU *cpu) object_unparent(OBJECT(cpu)); } =20 -static void pnv_core_unrealize(DeviceState *dev, Error **errp) +static void pnv_core_unrealize(DeviceState *dev) { PnvCore *pc =3D PNV_CORE(dev); CPUCore *cc =3D CPU_CORE(dev); diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index b67e4389fb..a32ee4cb09 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -3677,7 +3677,7 @@ static void spapr_memory_unplug(HotplugHandler *hotpl= ug_dev, DeviceState *dev) SpaprDimmState *ds =3D spapr_pending_dimm_unplugs_find(spapr, PC_DIMM(= dev)); =20 pc_dimm_unplug(PC_DIMM(dev), MACHINE(hotplug_dev)); - object_property_set_bool(OBJECT(dev), false, "realized", NULL); + object_property_set_bool(OBJECT(dev), false, "realized", &error_abort); spapr_pending_dimm_unplugs_remove(spapr, ds); } =20 @@ -3770,7 +3770,7 @@ static void spapr_core_unplug(HotplugHandler *hotplug= _dev, DeviceState *dev) =20 assert(core_slot); core_slot->cpu =3D NULL; - object_property_set_bool(OBJECT(dev), false, "realized", NULL); + object_property_set_bool(OBJECT(dev), false, "realized", &error_abort); } =20 static @@ -4043,7 +4043,7 @@ void spapr_phb_release(DeviceState *dev) =20 static void spapr_phb_unplug(HotplugHandler *hotplug_dev, DeviceState *dev) { - object_property_set_bool(OBJECT(dev), false, "realized", NULL); + object_property_set_bool(OBJECT(dev), false, "realized", &error_abort); } =20 static void spapr_phb_unplug_request(HotplugHandler *hotplug_dev, @@ -4079,7 +4079,7 @@ static void spapr_tpm_proxy_unplug(HotplugHandler *ho= tplug_dev, DeviceState *dev { SpaprMachineState *spapr =3D SPAPR_MACHINE(OBJECT(hotplug_dev)); =20 - object_property_set_bool(OBJECT(dev), false, "realized", NULL); + object_property_set_bool(OBJECT(dev), false, "realized", &error_abort); object_unparent(OBJECT(dev)); spapr->tpm_proxy =3D NULL; } diff --git a/hw/ppc/spapr_cpu_core.c b/hw/ppc/spapr_cpu_core.c index df5c7742ca..e1f76c74f3 100644 --- a/hw/ppc/spapr_cpu_core.c +++ b/hw/ppc/spapr_cpu_core.c @@ -218,7 +218,7 @@ static void spapr_cpu_core_reset_handler(void *opaque) spapr_cpu_core_reset(opaque); } =20 -static void spapr_cpu_core_unrealize(DeviceState *dev, Error **errp) +static void spapr_cpu_core_unrealize(DeviceState *dev) { SpaprCpuCore *sc =3D SPAPR_CPU_CORE(OBJECT(dev)); CPUCore *cc =3D CPU_CORE(dev); diff --git a/hw/ppc/spapr_drc.c b/hw/ppc/spapr_drc.c index 728307a992..8b2171f698 100644 --- a/hw/ppc/spapr_drc.c +++ b/hw/ppc/spapr_drc.c @@ -541,7 +541,7 @@ static void realize(DeviceState *d, Error **errp) trace_spapr_drc_realize_complete(spapr_drc_index(drc)); } =20 -static void unrealize(DeviceState *d, Error **errp) +static void unrealize(DeviceState *d) { SpaprDrc *drc =3D SPAPR_DR_CONNECTOR(d); Object *root_container; @@ -551,7 +551,7 @@ static void unrealize(DeviceState *d, Error **errp) vmstate_unregister(VMSTATE_IF(drc), &vmstate_spapr_drc, drc); root_container =3D container_get(object_get_root(), DRC_CONTAINER_PATH= ); name =3D g_strdup_printf("%x", spapr_drc_index(drc)); - object_property_del(root_container, name, errp); + object_property_del(root_container, name, &error_abort); g_free(name); } =20 @@ -650,17 +650,11 @@ static void realize_physical(DeviceState *d, Error **= errp) qemu_register_reset(drc_physical_reset, drcp); } =20 -static void unrealize_physical(DeviceState *d, Error **errp) +static void unrealize_physical(DeviceState *d) { SpaprDrcPhysical *drcp =3D SPAPR_DRC_PHYSICAL(d); - Error *local_err =3D NULL; - - unrealize(d, &local_err); - if (local_err) { - error_propagate(errp, local_err); - return; - } =20 + unrealize(d); vmstate_unregister(VMSTATE_IF(drcp), &vmstate_spapr_drc_physical, drcp= ); qemu_unregister_reset(drc_physical_reset, drcp); } diff --git a/hw/ppc/spapr_iommu.c b/hw/ppc/spapr_iommu.c index 601b896214..7e1d6d59ac 100644 --- a/hw/ppc/spapr_iommu.c +++ b/hw/ppc/spapr_iommu.c @@ -416,7 +416,7 @@ void spapr_tce_table_disable(SpaprTceTable *tcet) tcet->nb_table =3D 0; } =20 -static void spapr_tce_table_unrealize(DeviceState *dev, Error **errp) +static void spapr_tce_table_unrealize(DeviceState *dev) { SpaprTceTable *tcet =3D SPAPR_TCE_TABLE(dev); =20 diff --git a/hw/ppc/spapr_pci.c b/hw/ppc/spapr_pci.c index 55ca9dee1e..1d73d05a0a 100644 --- a/hw/ppc/spapr_pci.c +++ b/hw/ppc/spapr_pci.c @@ -1627,7 +1627,8 @@ static void spapr_pci_unplug(HotplugHandler *plug_han= dler, return; } =20 - object_property_set_bool(OBJECT(plugged_dev), false, "realized", NULL); + object_property_set_bool(OBJECT(plugged_dev), false, "realized", + &error_abort); } =20 static void spapr_pci_unplug_request(HotplugHandler *plug_handler, @@ -1711,7 +1712,7 @@ static void spapr_phb_finalizefn(Object *obj) sphb->dtbusname =3D NULL; } =20 -static void spapr_phb_unrealize(DeviceState *dev, Error **errp) +static void spapr_phb_unrealize(DeviceState *dev) { SpaprMachineState *spapr =3D SPAPR_MACHINE(qdev_get_machine()); SysBusDevice *s =3D SYS_BUS_DEVICE(dev); @@ -1720,7 +1721,6 @@ static void spapr_phb_unrealize(DeviceState *dev, Err= or **errp) SpaprTceTable *tcet; int i; const unsigned windows_supported =3D spapr_phb_windows_supported(sphb); - Error *local_err =3D NULL; =20 spapr_phb_nvgpu_free(sphb); =20 @@ -1741,11 +1741,7 @@ static void spapr_phb_unrealize(DeviceState *dev, Er= ror **errp) } } =20 - remove_drcs(sphb, phb->bus, &local_err); - if (local_err) { - error_propagate(errp, local_err); - return; - } + remove_drcs(sphb, phb->bus, &error_abort); =20 for (i =3D PCI_NUM_PINS - 1; i >=3D 0; i--) { if (sphb->lsi_table[i].irq) { @@ -2007,7 +2003,7 @@ static void spapr_phb_realize(DeviceState *dev, Error= **errp) return; =20 unrealize: - spapr_phb_unrealize(dev, NULL); + spapr_phb_unrealize(dev); } =20 static int spapr_phb_children_reset(Object *child, void *opaque) diff --git a/hw/ppc/spapr_tpm_proxy.c b/hw/ppc/spapr_tpm_proxy.c index 991615d77a..a01f81f9e0 100644 --- a/hw/ppc/spapr_tpm_proxy.c +++ b/hw/ppc/spapr_tpm_proxy.c @@ -140,7 +140,7 @@ static void spapr_tpm_proxy_realize(DeviceState *d, Err= or **errp) qemu_register_reset(spapr_tpm_proxy_reset, tpm_proxy); } =20 -static void spapr_tpm_proxy_unrealize(DeviceState *d, Error **errp) +static void spapr_tpm_proxy_unrealize(DeviceState *d) { SpaprTpmProxy *tpm_proxy =3D SPAPR_TPM_PROXY(d); =20 diff --git a/hw/s390x/css-bridge.c b/hw/s390x/css-bridge.c index 5d5286bc6e..3f6aec6b6a 100644 --- a/hw/s390x/css-bridge.c +++ b/hw/s390x/css-bridge.c @@ -54,7 +54,7 @@ static void ccw_device_unplug(HotplugHandler *hotplug_dev, =20 css_generate_sch_crws(sch->cssid, sch->ssid, sch->schid, 1, 0); =20 - object_property_set_bool(OBJECT(dev), false, "realized", NULL); + object_property_set_bool(OBJECT(dev), false, "realized", &error_abort); } =20 static void virtual_css_bus_reset(BusState *qbus) diff --git a/hw/s390x/s390-ccw.c b/hw/s390x/s390-ccw.c index 569020dae4..c48510f9e5 100644 --- a/hw/s390x/s390-ccw.c +++ b/hw/s390x/s390-ccw.c @@ -132,7 +132,7 @@ out_err_propagate: error_propagate(errp, err); } =20 -static void s390_ccw_unrealize(S390CCWDevice *cdev, Error **errp) +static void s390_ccw_unrealize(S390CCWDevice *cdev) { CcwDevice *ccw_dev =3D CCW_DEVICE(cdev); SubchDev *sch =3D ccw_dev->sch; diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c index ed8be124da..c4a4259f0c 100644 --- a/hw/s390x/s390-pci-bus.c +++ b/hw/s390x/s390-pci-bus.c @@ -1003,7 +1003,7 @@ static void s390_pcihost_unplug(HotplugHandler *hotpl= ug_dev, DeviceState *dev, pbdev->fh, pbdev->fid); bus =3D pci_get_bus(pci_dev); devfn =3D pci_dev->devfn; - object_property_set_bool(OBJECT(dev), false, "realized", NULL); + object_property_set_bool(OBJECT(dev), false, "realized", &error_ab= ort); =20 s390_pci_msix_free(pbdev); s390_pci_iommu_free(s, bus, devfn); @@ -1014,7 +1014,7 @@ static void s390_pcihost_unplug(HotplugHandler *hotpl= ug_dev, DeviceState *dev, pbdev->fid =3D 0; QTAILQ_REMOVE(&s->zpci_devs, pbdev, link); g_hash_table_remove(s->zpci_table, &pbdev->idx); - object_property_set_bool(OBJECT(dev), false, "realized", NULL); + object_property_set_bool(OBJECT(dev), false, "realized", &error_ab= ort); } } =20 diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c index 64f928fc7d..c1f4bb1d33 100644 --- a/hw/s390x/virtio-ccw.c +++ b/hw/s390x/virtio-ccw.c @@ -752,14 +752,14 @@ out_err: g_free(sch); } =20 -static void virtio_ccw_device_unrealize(VirtioCcwDevice *dev, Error **errp) +static void virtio_ccw_device_unrealize(VirtioCcwDevice *dev) { VirtIOCCWDeviceClass *dc =3D VIRTIO_CCW_DEVICE_GET_CLASS(dev); CcwDevice *ccw_dev =3D CCW_DEVICE(dev); SubchDev *sch =3D ccw_dev->sch; =20 if (dc->unrealize) { - dc->unrealize(dev, errp); + dc->unrealize(dev); } =20 if (sch) { @@ -1155,11 +1155,11 @@ static void virtio_ccw_busdev_realize(DeviceState *= dev, Error **errp) virtio_ccw_device_realize(_dev, errp); } =20 -static void virtio_ccw_busdev_unrealize(DeviceState *dev, Error **errp) +static void virtio_ccw_busdev_unrealize(DeviceState *dev) { VirtioCcwDevice *_dev =3D (VirtioCcwDevice *)dev; =20 - virtio_ccw_device_unrealize(_dev, errp); + virtio_ccw_device_unrealize(_dev); } =20 static void virtio_ccw_busdev_unplug(HotplugHandler *hotplug_dev, diff --git a/hw/scsi/lsi53c895a.c b/hw/scsi/lsi53c895a.c index ec53b14f7f..63ff4181de 100644 --- a/hw/scsi/lsi53c895a.c +++ b/hw/scsi/lsi53c895a.c @@ -2312,7 +2312,7 @@ static void lsi_scsi_realize(PCIDevice *dev, Error **= errp) scsi_bus_new(&s->bus, sizeof(s->bus), d, &lsi_scsi_info, NULL); } =20 -static void lsi_scsi_unrealize(DeviceState *dev, Error **errp) +static void lsi_scsi_unrealize(DeviceState *dev) { LSIState *s =3D LSI53C895A(dev); =20 diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c index 1733307407..2836f807a0 100644 --- a/hw/scsi/scsi-bus.c +++ b/hw/scsi/scsi-bus.c @@ -59,11 +59,11 @@ static void scsi_device_realize(SCSIDevice *s, Error **= errp) } } =20 -static void scsi_device_unrealize(SCSIDevice *s, Error **errp) +static void scsi_device_unrealize(SCSIDevice *s) { SCSIDeviceClass *sc =3D SCSI_DEVICE_GET_CLASS(s); if (sc->unrealize) { - sc->unrealize(s, errp); + sc->unrealize(s); } } =20 @@ -222,10 +222,9 @@ static void scsi_qdev_realize(DeviceState *qdev, Error= **errp) scsi_dma_restart_cb, dev); } =20 -static void scsi_qdev_unrealize(DeviceState *qdev, Error **errp) +static void scsi_qdev_unrealize(DeviceState *qdev) { SCSIDevice *dev =3D SCSI_DEVICE(qdev); - Error *local_err =3D NULL; =20 if (dev->vmsentry) { qemu_del_vm_change_state_handler(dev->vmsentry); @@ -233,11 +232,7 @@ static void scsi_qdev_unrealize(DeviceState *qdev, Err= or **errp) =20 scsi_device_purge_requests(dev, SENSE_CODE(NO_SENSE)); =20 - scsi_device_unrealize(dev, &local_err); - if (local_err) { - error_propagate(errp, local_err); - return; - } + scsi_device_unrealize(dev); =20 blockdev_mark_auto_del(dev->conf.blk); } diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c index e5bcd0baf8..387503e11b 100644 --- a/hw/scsi/scsi-disk.c +++ b/hw/scsi/scsi-disk.c @@ -2421,7 +2421,7 @@ static void scsi_realize(SCSIDevice *dev, Error **err= p) dev->conf.lsecs); } =20 -static void scsi_unrealize(SCSIDevice *dev, Error **errp) +static void scsi_unrealize(SCSIDevice *dev) { del_boot_device_lchs(&dev->qdev, NULL); } diff --git a/hw/scsi/vhost-scsi.c b/hw/scsi/vhost-scsi.c index ffa667171d..c1b012aea4 100644 --- a/hw/scsi/vhost-scsi.c +++ b/hw/scsi/vhost-scsi.c @@ -248,7 +248,7 @@ static void vhost_scsi_realize(DeviceState *dev, Error = **errp) return; } =20 -static void vhost_scsi_unrealize(DeviceState *dev, Error **errp) +static void vhost_scsi_unrealize(DeviceState *dev) { VirtIODevice *vdev =3D VIRTIO_DEVICE(dev); VHostSCSICommon *vsc =3D VHOST_SCSI_COMMON(dev); diff --git a/hw/scsi/vhost-user-scsi.c b/hw/scsi/vhost-user-scsi.c index ae380b63b4..cbb5d97599 100644 --- a/hw/scsi/vhost-user-scsi.c +++ b/hw/scsi/vhost-user-scsi.c @@ -143,7 +143,7 @@ free_virtio: virtio_scsi_common_unrealize(dev); } =20 -static void vhost_user_scsi_unrealize(DeviceState *dev, Error **errp) +static void vhost_user_scsi_unrealize(DeviceState *dev) { VirtIODevice *vdev =3D VIRTIO_DEVICE(dev); VHostUserSCSI *s =3D VHOST_USER_SCSI(dev); diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c index 472bbd233b..9b72094a61 100644 --- a/hw/scsi/virtio-scsi.c +++ b/hw/scsi/virtio-scsi.c @@ -954,7 +954,7 @@ void virtio_scsi_common_unrealize(DeviceState *dev) virtio_cleanup(vdev); } =20 -static void virtio_scsi_device_unrealize(DeviceState *dev, Error **errp) +static void virtio_scsi_device_unrealize(DeviceState *dev) { VirtIOSCSI *s =3D VIRTIO_SCSI(dev); =20 diff --git a/hw/sd/sdhci-pci.c b/hw/sd/sdhci-pci.c index 19fa8bd8ed..4f5977d487 100644 --- a/hw/sd/sdhci-pci.c +++ b/hw/sd/sdhci-pci.c @@ -50,7 +50,7 @@ static void sdhci_pci_exit(PCIDevice *dev) { SDHCIState *s =3D PCI_SDHCI(dev); =20 - sdhci_common_unrealize(s, &error_abort); + sdhci_common_unrealize(s); sdhci_uninitfn(s); } =20 diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 70531ad360..1b75d7bab9 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1346,7 +1346,7 @@ void sdhci_common_realize(SDHCIState *s, Error **errp) SDHC_REGISTERS_MAP_SIZE); } =20 -void sdhci_common_unrealize(SDHCIState *s, Error **errp) +void sdhci_common_unrealize(SDHCIState *s) { /* This function is expected to be called only once for each class: * - SysBus: via DeviceClass->unrealize(), @@ -1479,11 +1479,11 @@ static void sdhci_sysbus_realize(DeviceState *dev, = Error **errp) sysbus_init_mmio(sbd, &s->iomem); } =20 -static void sdhci_sysbus_unrealize(DeviceState *dev, Error **errp) +static void sdhci_sysbus_unrealize(DeviceState *dev) { SDHCIState *s =3D SYSBUS_SDHCI(dev); =20 - sdhci_common_unrealize(s, &error_abort); + sdhci_common_unrealize(s); =20 if (s->dma_mr) { address_space_destroy(s->dma_as); diff --git a/hw/usb/bus.c b/hw/usb/bus.c index 686f492112..fa07df98a2 100644 --- a/hw/usb/bus.c +++ b/hw/usb/bus.c @@ -14,7 +14,7 @@ static void usb_bus_dev_print(Monitor *mon, DeviceState *= qdev, int indent); =20 static char *usb_get_dev_path(DeviceState *dev); static char *usb_get_fw_dev_path(DeviceState *qdev); -static void usb_qdev_unrealize(DeviceState *qdev, Error **errp); +static void usb_qdev_unrealize(DeviceState *qdev); =20 static Property usb_props[] =3D { DEFINE_PROP_STRING("port", USBDevice, port_path), @@ -130,12 +130,12 @@ USBDevice *usb_device_find_device(USBDevice *dev, uin= t8_t addr) return NULL; } =20 -static void usb_device_unrealize(USBDevice *dev, Error **errp) +static void usb_device_unrealize(USBDevice *dev) { USBDeviceClass *klass =3D USB_DEVICE_GET_CLASS(dev); =20 if (klass->unrealize) { - klass->unrealize(dev, errp); + klass->unrealize(dev); } } =20 @@ -265,14 +265,14 @@ static void usb_qdev_realize(DeviceState *qdev, Error= **errp) if (dev->auto_attach) { usb_device_attach(dev, &local_err); if (local_err) { - usb_qdev_unrealize(qdev, NULL); + usb_qdev_unrealize(qdev); error_propagate(errp, local_err); return; } } } =20 -static void usb_qdev_unrealize(DeviceState *qdev, Error **errp) +static void usb_qdev_unrealize(DeviceState *qdev) { USBDevice *dev =3D USB_DEVICE(qdev); USBDescString *s, *next; @@ -286,7 +286,7 @@ static void usb_qdev_unrealize(DeviceState *qdev, Error= **errp) if (dev->attached) { usb_device_detach(dev); } - usb_device_unrealize(dev, errp); + usb_device_unrealize(dev); if (dev->port) { usb_release_port(dev); } diff --git a/hw/usb/ccid-card-emulated.c b/hw/usb/ccid-card-emulated.c index 3083124556..7d6105ef34 100644 --- a/hw/usb/ccid-card-emulated.c +++ b/hw/usb/ccid-card-emulated.c @@ -562,7 +562,7 @@ out1: qemu_mutex_destroy(&card->event_list_mutex); } =20 -static void emulated_unrealize(CCIDCardState *base, Error **errp) +static void emulated_unrealize(CCIDCardState *base) { EmulatedState *card =3D EMULATED_CCID_CARD(base); VEvent *vevent =3D vevent_new(VEVENT_LAST, NULL, NULL); diff --git a/hw/usb/dev-audio.c b/hw/usb/dev-audio.c index 6fa213fad5..1371c44f48 100644 --- a/hw/usb/dev-audio.c +++ b/hw/usb/dev-audio.c @@ -923,7 +923,7 @@ static void usb_audio_handle_data(USBDevice *dev, USBPa= cket *p) } } =20 -static void usb_audio_unrealize(USBDevice *dev, Error **errp) +static void usb_audio_unrealize(USBDevice *dev) { USBAudioState *s =3D USB_AUDIO(dev); =20 diff --git a/hw/usb/dev-hid.c b/hw/usb/dev-hid.c index 67ec8b69ec..89f63b698b 100644 --- a/hw/usb/dev-hid.c +++ b/hw/usb/dev-hid.c @@ -699,7 +699,7 @@ static void usb_hid_handle_data(USBDevice *dev, USBPack= et *p) } } =20 -static void usb_hid_unrealize(USBDevice *dev, Error **errp) +static void usb_hid_unrealize(USBDevice *dev) { USBHIDState *us =3D USB_HID(dev); =20 diff --git a/hw/usb/dev-hub.c b/hw/usb/dev-hub.c index 49a573b346..5f19dd9fb5 100644 --- a/hw/usb/dev-hub.c +++ b/hw/usb/dev-hub.c @@ -565,7 +565,7 @@ static void usb_hub_handle_data(USBDevice *dev, USBPack= et *p) } } =20 -static void usb_hub_unrealize(USBDevice *dev, Error **errp) +static void usb_hub_unrealize(USBDevice *dev) { USBHubState *s =3D (USBHubState *)dev; int i; diff --git a/hw/usb/dev-network.c b/hw/usb/dev-network.c index 720744488b..c69756709b 100644 --- a/hw/usb/dev-network.c +++ b/hw/usb/dev-network.c @@ -1326,7 +1326,7 @@ static void usbnet_cleanup(NetClientState *nc) s->nic =3D NULL; } =20 -static void usb_net_unrealize(USBDevice *dev, Error **errp) +static void usb_net_unrealize(USBDevice *dev) { USBNetState *s =3D (USBNetState *) dev; =20 diff --git a/hw/usb/dev-smartcard-reader.c b/hw/usb/dev-smartcard-reader.c index ef72738ced..ada18c1983 100644 --- a/hw/usb/dev-smartcard-reader.c +++ b/hw/usb/dev-smartcard-reader.c @@ -1146,7 +1146,7 @@ static void ccid_handle_data(USBDevice *dev, USBPacke= t *p) } } =20 -static void ccid_unrealize(USBDevice *dev, Error **errp) +static void ccid_unrealize(USBDevice *dev) { USBCCIDState *s =3D USB_CCID_DEV(dev); =20 @@ -1269,23 +1269,18 @@ void ccid_card_card_inserted(CCIDCardState *card) ccid_on_slot_change(s, true); } =20 -static void ccid_card_unrealize(DeviceState *qdev, Error **errp) +static void ccid_card_unrealize(DeviceState *qdev) { CCIDCardState *card =3D CCID_CARD(qdev); CCIDCardClass *cc =3D CCID_CARD_GET_CLASS(card); USBDevice *dev =3D USB_DEVICE(qdev->parent_bus->parent); USBCCIDState *s =3D USB_CCID_DEV(dev); - Error *local_err =3D NULL; =20 if (ccid_card_inserted(s)) { ccid_card_card_removed(card); } if (cc->unrealize) { - cc->unrealize(card, &local_err); - if (local_err !=3D NULL) { - error_propagate(errp, local_err); - return; - } + cc->unrealize(card); } s->card =3D NULL; } diff --git a/hw/usb/dev-uas.c b/hw/usb/dev-uas.c index 11a8684cc2..a3a4d41c07 100644 --- a/hw/usb/dev-uas.c +++ b/hw/usb/dev-uas.c @@ -894,7 +894,7 @@ static void usb_uas_handle_data(USBDevice *dev, USBPack= et *p) } } =20 -static void usb_uas_unrealize(USBDevice *dev, Error **errp) +static void usb_uas_unrealize(USBDevice *dev) { UASDevice *uas =3D USB_UAS(dev); =20 diff --git a/hw/usb/dev-wacom.c b/hw/usb/dev-wacom.c index 8ed57b3b44..8aba44b8bc 100644 --- a/hw/usb/dev-wacom.c +++ b/hw/usb/dev-wacom.c @@ -331,7 +331,7 @@ static void usb_wacom_handle_data(USBDevice *dev, USBPa= cket *p) } } =20 -static void usb_wacom_unrealize(USBDevice *dev, Error **errp) +static void usb_wacom_unrealize(USBDevice *dev) { USBWacomState *s =3D (USBWacomState *) dev; =20 diff --git a/hw/usb/hcd-ehci-pci.c b/hw/usb/hcd-ehci-pci.c index fc73a054c6..4c37c8e227 100644 --- a/hw/usb/hcd-ehci-pci.c +++ b/hw/usb/hcd-ehci-pci.c @@ -105,7 +105,7 @@ static void usb_ehci_pci_exit(PCIDevice *dev) EHCIPCIState *i =3D PCI_EHCI(dev); EHCIState *s =3D &i->ehci; =20 - usb_ehci_unrealize(s, DEVICE(dev), NULL); + usb_ehci_unrealize(s, DEVICE(dev)); =20 g_free(s->irq); s->irq =3D NULL; diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c index 29d49c2d7e..1495e8f7fa 100644 --- a/hw/usb/hcd-ehci.c +++ b/hw/usb/hcd-ehci.c @@ -2522,7 +2522,7 @@ void usb_ehci_realize(EHCIState *s, DeviceState *dev,= Error **errp) s->vmstate =3D qemu_add_vm_change_state_handler(usb_ehci_vm_state_chan= ge, s); } =20 -void usb_ehci_unrealize(EHCIState *s, DeviceState *dev, Error **errp) +void usb_ehci_unrealize(EHCIState *s, DeviceState *dev) { trace_usb_ehci_unrealize(); =20 diff --git a/hw/usb/host-libusb.c b/hw/usb/host-libusb.c index 78a5c2ba55..e28441379d 100644 --- a/hw/usb/host-libusb.c +++ b/hw/usb/host-libusb.c @@ -1104,7 +1104,7 @@ static void usb_host_instance_init(Object *obj) &udev->qdev); } =20 -static void usb_host_unrealize(USBDevice *udev, Error **errp) +static void usb_host_unrealize(USBDevice *udev) { USBHostDevice *s =3D USB_HOST_DEVICE(udev); =20 diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c index e9a97feaed..417a60a2e6 100644 --- a/hw/usb/redirect.c +++ b/hw/usb/redirect.c @@ -1468,7 +1468,7 @@ static void usbredir_cleanup_device_queues(USBRedirDe= vice *dev) } } =20 -static void usbredir_unrealize(USBDevice *udev, Error **errp) +static void usbredir_unrealize(USBDevice *udev) { USBRedirDevice *dev =3D USB_REDIRECT(udev); =20 diff --git a/hw/vfio/ap.c b/hw/vfio/ap.c index 8649ac15f9..95564c17ed 100644 --- a/hw/vfio/ap.c +++ b/hw/vfio/ap.c @@ -124,7 +124,7 @@ out_get_dev_err: vfio_put_group(vfio_group); } =20 -static void vfio_ap_unrealize(DeviceState *dev, Error **errp) +static void vfio_ap_unrealize(DeviceState *dev) { APDevice *apdev =3D AP_DEVICE(dev); VFIOAPDevice *vapdev =3D VFIO_AP_DEVICE(apdev); diff --git a/hw/vfio/ccw.c b/hw/vfio/ccw.c index 50cc2ec75c..c8624943c1 100644 --- a/hw/vfio/ccw.c +++ b/hw/vfio/ccw.c @@ -521,13 +521,13 @@ out_device_err: vfio_put_group(group); out_group_err: if (cdc->unrealize) { - cdc->unrealize(cdev, NULL); + cdc->unrealize(cdev); } out_err_propagate: error_propagate(errp, err); } =20 -static void vfio_ccw_unrealize(DeviceState *dev, Error **errp) +static void vfio_ccw_unrealize(DeviceState *dev) { CcwDevice *ccw_dev =3D DO_UPCAST(CcwDevice, parent_obj, dev); S390CCWDevice *cdev =3D DO_UPCAST(S390CCWDevice, parent_obj, ccw_dev); @@ -541,7 +541,7 @@ static void vfio_ccw_unrealize(DeviceState *dev, Error = **errp) vfio_put_group(group); =20 if (cdc->unrealize) { - cdc->unrealize(cdev, errp); + cdc->unrealize(cdev); } } =20 diff --git a/hw/virtio/vhost-user-fs.c b/hw/virtio/vhost-user-fs.c index 6136768875..1bc5d03a00 100644 --- a/hw/virtio/vhost-user-fs.c +++ b/hw/virtio/vhost-user-fs.c @@ -241,7 +241,7 @@ err_virtio: return; } =20 -static void vuf_device_unrealize(DeviceState *dev, Error **errp) +static void vuf_device_unrealize(DeviceState *dev) { VirtIODevice *vdev =3D VIRTIO_DEVICE(dev); VHostUserFS *fs =3D VHOST_USER_FS(dev); diff --git a/hw/virtio/vhost-vsock.c b/hw/virtio/vhost-vsock.c index 09b6b07f94..4a228f5168 100644 --- a/hw/virtio/vhost-vsock.c +++ b/hw/virtio/vhost-vsock.c @@ -377,7 +377,7 @@ err_virtio: return; } =20 -static void vhost_vsock_device_unrealize(DeviceState *dev, Error **errp) +static void vhost_vsock_device_unrealize(DeviceState *dev) { VirtIODevice *vdev =3D VIRTIO_DEVICE(dev); VHostVSock *vsock =3D VHOST_VSOCK(dev); diff --git a/hw/virtio/virtio-balloon.c b/hw/virtio/virtio-balloon.c index 6d3ddf6449..065cd450f1 100644 --- a/hw/virtio/virtio-balloon.c +++ b/hw/virtio/virtio-balloon.c @@ -819,7 +819,7 @@ static void virtio_balloon_device_realize(DeviceState *= dev, Error **errp) reset_stats(s); } =20 -static void virtio_balloon_device_unrealize(DeviceState *dev, Error **errp) +static void virtio_balloon_device_unrealize(DeviceState *dev) { VirtIODevice *vdev =3D VIRTIO_DEVICE(dev); VirtIOBalloon *s =3D VIRTIO_BALLOON(dev); diff --git a/hw/virtio/virtio-crypto.c b/hw/virtio/virtio-crypto.c index 4c65114de5..bd9165c565 100644 --- a/hw/virtio/virtio-crypto.c +++ b/hw/virtio/virtio-crypto.c @@ -822,7 +822,7 @@ static void virtio_crypto_device_realize(DeviceState *d= ev, Error **errp) cryptodev_backend_set_used(vcrypto->cryptodev, true); } =20 -static void virtio_crypto_device_unrealize(DeviceState *dev, Error **errp) +static void virtio_crypto_device_unrealize(DeviceState *dev) { VirtIODevice *vdev =3D VIRTIO_DEVICE(dev); VirtIOCrypto *vcrypto =3D VIRTIO_CRYPTO(dev); diff --git a/hw/virtio/virtio-iommu.c b/hw/virtio/virtio-iommu.c index 22ba8848c2..483883ec1d 100644 --- a/hw/virtio/virtio-iommu.c +++ b/hw/virtio/virtio-iommu.c @@ -688,7 +688,7 @@ static void virtio_iommu_device_realize(DeviceState *de= v, Error **errp) } } =20 -static void virtio_iommu_device_unrealize(DeviceState *dev, Error **errp) +static void virtio_iommu_device_unrealize(DeviceState *dev) { VirtIODevice *vdev =3D VIRTIO_DEVICE(dev); VirtIOIOMMU *s =3D VIRTIO_IOMMU(dev); diff --git a/hw/virtio/virtio-pmem.c b/hw/virtio/virtio-pmem.c index 43399522f5..c3374b2f3f 100644 --- a/hw/virtio/virtio-pmem.c +++ b/hw/virtio/virtio-pmem.c @@ -124,7 +124,7 @@ static void virtio_pmem_realize(DeviceState *dev, Error= **errp) pmem->rq_vq =3D virtio_add_queue(vdev, 128, virtio_pmem_flush); } =20 -static void virtio_pmem_unrealize(DeviceState *dev, Error **errp) +static void virtio_pmem_unrealize(DeviceState *dev) { VirtIODevice *vdev =3D VIRTIO_DEVICE(dev); VirtIOPMEM *pmem =3D VIRTIO_PMEM(dev); diff --git a/hw/virtio/virtio-rng.c b/hw/virtio/virtio-rng.c index 672619c780..a8df41b11b 100644 --- a/hw/virtio/virtio-rng.c +++ b/hw/virtio/virtio-rng.c @@ -230,7 +230,7 @@ static void virtio_rng_device_realize(DeviceState *dev,= Error **errp) vrng); } =20 -static void virtio_rng_device_unrealize(DeviceState *dev, Error **errp) +static void virtio_rng_device_unrealize(DeviceState *dev) { VirtIODevice *vdev =3D VIRTIO_DEVICE(dev); VirtIORNG *vrng =3D VIRTIO_RNG(dev); diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c index b6c8ef5bc0..850fcce5e7 100644 --- a/hw/virtio/virtio.c +++ b/hw/virtio/virtio.c @@ -3622,7 +3622,7 @@ static void virtio_device_realize(DeviceState *dev, E= rror **errp) virtio_bus_device_plugged(vdev, &err); if (err !=3D NULL) { error_propagate(errp, err); - vdc->unrealize(dev, NULL); + vdc->unrealize(dev); return; } =20 @@ -3630,20 +3630,15 @@ static void virtio_device_realize(DeviceState *dev,= Error **errp) memory_listener_register(&vdev->listener, vdev->dma_as); } =20 -static void virtio_device_unrealize(DeviceState *dev, Error **errp) +static void virtio_device_unrealize(DeviceState *dev) { VirtIODevice *vdev =3D VIRTIO_DEVICE(dev); VirtioDeviceClass *vdc =3D VIRTIO_DEVICE_GET_CLASS(dev); - Error *err =3D NULL; =20 virtio_bus_device_unplugged(vdev); =20 if (vdc->unrealize !=3D NULL) { - vdc->unrealize(dev, &err); - if (err !=3D NULL) { - error_propagate(errp, err); - return; - } + vdc->unrealize(dev); } =20 g_free(vdev->bus_name); diff --git a/hw/watchdog/wdt_diag288.c b/hw/watchdog/wdt_diag288.c index 5b6eb2b09f..71a945f0bd 100644 --- a/hw/watchdog/wdt_diag288.c +++ b/hw/watchdog/wdt_diag288.c @@ -108,7 +108,7 @@ static void wdt_diag288_realize(DeviceState *dev, Error= **errp) dev); } =20 -static void wdt_diag288_unrealize(DeviceState *dev, Error **errp) +static void wdt_diag288_unrealize(DeviceState *dev) { DIAG288State *diag288 =3D DIAG288(dev); =20 diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c index 18237b34ea..32dd4461be 100644 --- a/hw/xen/xen-bus.c +++ b/hw/xen/xen-bus.c @@ -428,7 +428,7 @@ static void xen_bus_backend_changed(void *opaque) xen_bus_cleanup(xenbus); } =20 -static void xen_bus_unrealize(BusState *bus, Error **errp) +static void xen_bus_unrealize(BusState *bus) { XenBus *xenbus =3D XEN_BUS(bus); =20 @@ -486,7 +486,7 @@ static void xen_bus_realize(BusState *bus, Error **errp) return; =20 fail: - xen_bus_unrealize(bus, &error_abort); + xen_bus_unrealize(bus); } =20 static void xen_bus_unplug_request(HotplugHandler *hotplug, @@ -1189,7 +1189,7 @@ void xen_device_unbind_event_channel(XenDevice *xende= v, g_free(channel); } =20 -static void xen_device_unrealize(DeviceState *dev, Error **errp) +static void xen_device_unrealize(DeviceState *dev) { XenDevice *xendev =3D XEN_DEVICE(dev); XenDeviceClass *xendev_class =3D XEN_DEVICE_GET_CLASS(xendev); @@ -1208,7 +1208,7 @@ static void xen_device_unrealize(DeviceState *dev, Er= ror **errp) } =20 if (xendev_class->unrealize) { - xendev_class->unrealize(xendev, errp); + xendev_class->unrealize(xendev); } =20 /* Make sure all event channels are cleaned up */ @@ -1242,7 +1242,7 @@ static void xen_device_exit(Notifier *n, void *data) { XenDevice *xendev =3D container_of(n, XenDevice, exit); =20 - xen_device_unrealize(DEVICE(xendev), &error_abort); + xen_device_unrealize(DEVICE(xendev)); } =20 static void xen_device_realize(DeviceState *dev, Error **errp) @@ -1336,7 +1336,7 @@ static void xen_device_realize(DeviceState *dev, Erro= r **errp) return; =20 unrealize: - xen_device_unrealize(dev, &error_abort); + xen_device_unrealize(dev); } =20 static Property xen_device_props[] =3D { diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 6a64d2a5cd..7a4a8e3847 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -6722,11 +6722,10 @@ out: } } =20 -static void x86_cpu_unrealizefn(DeviceState *dev, Error **errp) +static void x86_cpu_unrealizefn(DeviceState *dev) { X86CPU *cpu =3D X86_CPU(dev); X86CPUClass *xcc =3D X86_CPU_GET_CLASS(dev); - Error *local_err =3D NULL; =20 #ifndef CONFIG_USER_ONLY cpu_remove_sync(CPU(dev)); @@ -6738,11 +6737,7 @@ static void x86_cpu_unrealizefn(DeviceState *dev, Er= ror **errp) cpu->apic_state =3D NULL; } =20 - xcc->parent_unrealize(dev, &local_err); - if (local_err !=3D NULL) { - error_propagate(errp, local_err); - return; - } + xcc->parent_unrealize(dev); } =20 typedef struct BitProperty { diff --git a/target/ppc/translate_init.inc.c b/target/ppc/translate_init.in= c.c index fd763e588e..ab2edbf24a 100644 --- a/target/ppc/translate_init.inc.c +++ b/target/ppc/translate_init.inc.c @@ -10293,19 +10293,14 @@ unrealize: cpu_exec_unrealizefn(cs); } =20 -static void ppc_cpu_unrealize(DeviceState *dev, Error **errp) +static void ppc_cpu_unrealize(DeviceState *dev) { PowerPCCPU *cpu =3D POWERPC_CPU(dev); PowerPCCPUClass *pcc =3D POWERPC_CPU_GET_CLASS(cpu); - Error *local_err =3D NULL; opc_handler_t **table, **table_2; int i, j, k; =20 - pcc->parent_unrealize(dev, &local_err); - if (local_err !=3D NULL) { - error_propagate(errp, local_err); - return; - } + pcc->parent_unrealize(dev); =20 for (i =3D 0; i < PPC_CPU_OPCODES_LEN; i++) { if (cpu->opcodes[i] =3D=3D &invalid_handler) { --=20 2.21.1 From nobody Sat May 18 00:40:21 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1588693142; cv=none; d=zohomail.com; s=zohoarc; b=KCrMqtjLuNeir9Sv/BMrxSC9pFR3WFB9roBEb+odZtc73Epy1m3Pb01V4sHSxQW0+ExSfE5hDErDVS705MyVcLFouB9HrV4vQRmx4NMXPjyZGPXw2HshFNLZauHWV6XncXGbPYIdUVqY+KW04UUC8+T6eJVhuC3kroxoI721EZE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1588693142; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=nz1SI3/ZdTVo+MFVAGFDXfoG9wpFPAq5P2VGKLfiQd4=; b=mA8uX9mXVqPVMmbLrmWBsNXKIB1ts4V2CSm7FAXsoS1DBBcG1vvxiea1jXUX38nZciyO9B99zUDG+XO4okt91E/acsxeyFZzpcPv6kPsb1aaZegAhUs2Xs15lop8eQZNoe4aceFb5C6x1FZavmiczO6qs5dqxHOIxW+AREEQ+z4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1588693142201760.310267647825; Tue, 5 May 2020 08:39:02 -0700 (PDT) Received: from localhost ([::1]:38042 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jVzeu-0004qj-Tt for importer@patchew.org; Tue, 05 May 2020 11:39:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46026) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jVzVt-0003SS-O6 for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:41 -0400 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:56513 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jVzVo-0007UR-QY for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:41 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-259-0mlh4XlUOweLSrCELBKPSA-1; Tue, 05 May 2020 11:29:34 -0400 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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 7FC3E1005510; Tue, 5 May 2020 15:29:31 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-113-6.ams2.redhat.com [10.36.113.6]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 0911C19C4F; Tue, 5 May 2020 15:29:30 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 6A6FA11358CE; Tue, 5 May 2020 17:29:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1588692575; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=nz1SI3/ZdTVo+MFVAGFDXfoG9wpFPAq5P2VGKLfiQd4=; b=ZkKVun9AG77O6VGWczPLRp+kkiBLLeDqJbEVR5TDXGA9dKWM7TF1UuaShnjKSMx4w7OCGE 1mNeR2Lry1QWJ13PPjOJnR5TPLN3LH+6tF/PIJPcqr88NddyJJXrHJxXLiq4DtZrJmdkfJ a+KjsW+NoBvpsH3KZ/5ke7Yf8aR6Auk= X-MC-Unique: 0mlh4XlUOweLSrCELBKPSA-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH v2 17/18] spapr_pci: Drop some dead error handling Date: Tue, 5 May 2020 17:29:25 +0200 Message-Id: <20200505152926.18877-18-armbru@redhat.com> In-Reply-To: <20200505152926.18877-1-armbru@redhat.com> References: <20200505152926.18877-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.81; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/05 00:37:19 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: berrange@redhat.com, ehabkost@redhat.com, philmd@redhat.com, Greg Kurz , qemu-ppc@nongnu.org, pbonzini@redhat.com, David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" chassis_from_bus() uses object_property_get_uint() to get property "chassis_nr" of the bridge device. Failure would be a programming error. Pass &error_abort, and simplify its callers. Cc: David Gibson Cc: qemu-ppc@nongnu.org Signed-off-by: Markus Armbruster Acked-by: David Gibson Reviewed-by: Greg Kurz Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Paolo Bonzini --- hw/ppc/spapr_pci.c | 86 ++++++++++------------------------------------ 1 file changed, 18 insertions(+), 68 deletions(-) diff --git a/hw/ppc/spapr_pci.c b/hw/ppc/spapr_pci.c index 1d73d05a0a..b6036be51c 100644 --- a/hw/ppc/spapr_pci.c +++ b/hw/ppc/spapr_pci.c @@ -1203,46 +1203,36 @@ static SpaprDrc *drc_from_devfn(SpaprPhbState *phb, drc_id_from_devfn(phb, chassis, devfn)); } =20 -static uint8_t chassis_from_bus(PCIBus *bus, Error **errp) +static uint8_t chassis_from_bus(PCIBus *bus) { if (pci_bus_is_root(bus)) { return 0; } else { PCIDevice *bridge =3D pci_bridge_get_device(bus); =20 - return object_property_get_uint(OBJECT(bridge), "chassis_nr", errp= ); + return object_property_get_uint(OBJECT(bridge), "chassis_nr", + &error_abort); } } =20 static SpaprDrc *drc_from_dev(SpaprPhbState *phb, PCIDevice *dev) { - Error *local_err =3D NULL; - uint8_t chassis =3D chassis_from_bus(pci_get_bus(dev), &local_err); - - if (local_err) { - error_report_err(local_err); - return NULL; - } + uint8_t chassis =3D chassis_from_bus(pci_get_bus(dev)); =20 return drc_from_devfn(phb, chassis, dev->devfn); } =20 -static void add_drcs(SpaprPhbState *phb, PCIBus *bus, Error **errp) +static void add_drcs(SpaprPhbState *phb, PCIBus *bus) { Object *owner; int i; uint8_t chassis; - Error *local_err =3D NULL; =20 if (!phb->dr_enabled) { return; } =20 - chassis =3D chassis_from_bus(bus, &local_err); - if (local_err) { - error_propagate(errp, local_err); - return; - } + chassis =3D chassis_from_bus(bus); =20 if (pci_bus_is_root(bus)) { owner =3D OBJECT(phb); @@ -1256,21 +1246,16 @@ static void add_drcs(SpaprPhbState *phb, PCIBus *bu= s, Error **errp) } } =20 -static void remove_drcs(SpaprPhbState *phb, PCIBus *bus, Error **errp) +static void remove_drcs(SpaprPhbState *phb, PCIBus *bus) { int i; uint8_t chassis; - Error *local_err =3D NULL; =20 if (!phb->dr_enabled) { return; } =20 - chassis =3D chassis_from_bus(bus, &local_err); - if (local_err) { - error_propagate(errp, local_err); - return; - } + chassis =3D chassis_from_bus(bus); =20 for (i =3D PCI_SLOT_MAX * PCI_FUNC_MAX - 1; i >=3D 0; i--) { SpaprDrc *drc =3D drc_from_devfn(phb, chassis, i); @@ -1488,17 +1473,11 @@ int spapr_pci_dt_populate(SpaprDrc *drc, SpaprMachi= neState *spapr, } =20 static void spapr_pci_bridge_plug(SpaprPhbState *phb, - PCIBridge *bridge, - Error **errp) + PCIBridge *bridge) { - Error *local_err =3D NULL; PCIBus *bus =3D pci_bridge_get_sec_bus(bridge); =20 - add_drcs(phb, bus, &local_err); - if (local_err) { - error_propagate(errp, local_err); - return; - } + add_drcs(phb, bus); } =20 static void spapr_pci_plug(HotplugHandler *plug_handler, @@ -1529,11 +1508,7 @@ static void spapr_pci_plug(HotplugHandler *plug_hand= ler, g_assert(drc); =20 if (pc->is_bridge) { - spapr_pci_bridge_plug(phb, PCI_BRIDGE(plugged_dev), &local_err); - if (local_err) { - error_propagate(errp, local_err); - return; - } + spapr_pci_bridge_plug(phb, PCI_BRIDGE(plugged_dev)); } =20 /* Following the QEMU convention used for PCIe multifunction @@ -1560,12 +1535,7 @@ static void spapr_pci_plug(HotplugHandler *plug_hand= ler, spapr_drc_reset(drc); } else if (PCI_FUNC(pdev->devfn) =3D=3D 0) { int i; - uint8_t chassis =3D chassis_from_bus(pci_get_bus(pdev), &local_err= ); - - if (local_err) { - error_propagate(errp, local_err); - return; - } + uint8_t chassis =3D chassis_from_bus(pci_get_bus(pdev)); =20 for (i =3D 0; i < 8; i++) { SpaprDrc *func_drc; @@ -1587,17 +1557,11 @@ out: } =20 static void spapr_pci_bridge_unplug(SpaprPhbState *phb, - PCIBridge *bridge, - Error **errp) + PCIBridge *bridge) { - Error *local_err =3D NULL; PCIBus *bus =3D pci_bridge_get_sec_bus(bridge); =20 - remove_drcs(phb, bus, &local_err); - if (local_err) { - error_propagate(errp, local_err); - return; - } + remove_drcs(phb, bus); } =20 static void spapr_pci_unplug(HotplugHandler *plug_handler, @@ -1619,11 +1583,7 @@ static void spapr_pci_unplug(HotplugHandler *plug_ha= ndler, pci_device_reset(PCI_DEVICE(plugged_dev)); =20 if (pc->is_bridge) { - Error *local_err =3D NULL; - spapr_pci_bridge_unplug(phb, PCI_BRIDGE(plugged_dev), &local_err); - if (local_err) { - error_propagate(errp, local_err); - } + spapr_pci_bridge_unplug(phb, PCI_BRIDGE(plugged_dev)); return; } =20 @@ -1654,13 +1614,7 @@ static void spapr_pci_unplug_request(HotplugHandler = *plug_handler, SpaprDrcClass *func_drck; SpaprDREntitySense state; int i; - Error *local_err =3D NULL; - uint8_t chassis =3D chassis_from_bus(pci_get_bus(pdev), &local_err= ); - - if (local_err) { - error_propagate(errp, local_err); - return; - } + uint8_t chassis =3D chassis_from_bus(pci_get_bus(pdev)); =20 if (pc->is_bridge) { error_setg(errp, "PCI: Hot unplug of PCI bridges not supported= "); @@ -1741,7 +1695,7 @@ static void spapr_phb_unrealize(DeviceState *dev) } } =20 - remove_drcs(sphb, phb->bus, &error_abort); + remove_drcs(sphb, phb->bus); =20 for (i =3D PCI_NUM_PINS - 1; i >=3D 0; i--) { if (sphb->lsi_table[i].irq) { @@ -1980,11 +1934,7 @@ static void spapr_phb_realize(DeviceState *dev, Erro= r **errp) } =20 /* allocate connectors for child PCI devices */ - add_drcs(sphb, phb->bus, &local_err); - if (local_err) { - error_propagate(errp, local_err); - goto unrealize; - } + add_drcs(sphb, phb->bus); =20 /* DMA setup */ for (i =3D 0; i < windows_supported; ++i) { --=20 2.21.1 From nobody Sat May 18 00:40:21 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1588693114; cv=none; d=zohomail.com; s=zohoarc; b=BIvmrqK9Z/AYehbdAO61crAyFkBog54BtWr/7MIYYNQRfmlOfP+PGl+a509N3TOcaQcPKF3Ex3xbZtX7LXX89xt9Vd/eHPESxtKSQpcb51M+6Rk3puCz709BGIRLMKSkjJ1G4ztwA6virdGq1/ZkAYYCHwPQmYuz/5sJzhx0Pu8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1588693114; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=kBtM3zIW9dthrt5vgz9AzzxJghrxgkviKsCOyjI5V38=; b=mb6259tDzD8TG9Q+63G3d3Q/pV5wFI2nCIRTx4WmVAIVILnhdTtYAn6QiHkvQDwXAJ/ukbonlJqCePT7b51mkEoPMAZ921dZQB4B5orL3DZZulRxmXOfbhvIMLXG/SPfMgYo6nfAJspnE4IIq4qWLJGNe/6oiCkF54xNkv0xryA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 158869311471795.62235734044896; Tue, 5 May 2020 08:38:34 -0700 (PDT) Received: from localhost ([::1]:36730 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jVzeT-0004Iu-8R for importer@patchew.org; Tue, 05 May 2020 11:38:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46002) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jVzVr-0003OU-73 for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:39 -0400 Received: from us-smtp-1.mimecast.com ([205.139.110.61]:41519) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jVzVn-0007RR-A5 for qemu-devel@nongnu.org; Tue, 05 May 2020 11:29:38 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-16-xP_tXZ4EPKiGpGrF9mtcVg-1; Tue, 05 May 2020 11:29:32 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 2ED33800D24 for ; Tue, 5 May 2020 15:29:31 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-113-6.ams2.redhat.com [10.36.113.6]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C906E6061C; Tue, 5 May 2020 15:29:30 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 6DAC111358CF; Tue, 5 May 2020 17:29:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1588692573; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=kBtM3zIW9dthrt5vgz9AzzxJghrxgkviKsCOyjI5V38=; b=XEw8Ri4BSWu/O1xXenFITYaexg0YCJ15dNr9ycG34RvmAIAF/SnOgXMLFk0aO3Bcq7GfWo dRwz5HyiZHEUHGRoF6v1NkvIn/PlRYjsERnZw3Cb49pvrkSK7ID5c/rD1KMwElLpbjKNIn mJb6PTAM5dQMsqQjsL0crdkMcFaI51o= X-MC-Unique: xP_tXZ4EPKiGpGrF9mtcVg-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH v2 18/18] qom: Drop @errp parameter of object_property_del() Date: Tue, 5 May 2020 17:29:26 +0200 Message-Id: <20200505152926.18877-19-armbru@redhat.com> In-Reply-To: <20200505152926.18877-1-armbru@redhat.com> References: <20200505152926.18877-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.61; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/05 00:37:40 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: pbonzini@redhat.com, berrange@redhat.com, ehabkost@redhat.com, philmd@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Same story as for object_property_add(): the only way object_property_del() can fail is when the property with this name does not exist. Since our property names are all hardcoded, failure is a programming error, and the appropriate way to handle it is passing &error_abort. Most callers do that, the commit before previous fixed one that didn't (and got the error handling wrong), and the two remaining exceptions ignore errors. Drop the @errp parameter. Signed-off-by: Markus Armbruster Reviewed-by: Paolo Bonzini Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- include/qom/object.h | 2 +- hw/core/qdev.c | 2 +- hw/i386/pc_sysfw.c | 2 +- hw/ppc/spapr_drc.c | 4 ++-- qom/object.c | 7 +------ qom/object_interfaces.c | 3 +-- tests/check-qom-proplist.c | 2 +- 7 files changed, 8 insertions(+), 14 deletions(-) diff --git a/include/qom/object.h b/include/qom/object.h index 990e28e408..fd453dc8d6 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -1047,7 +1047,7 @@ ObjectProperty *object_property_add(Object *obj, cons= t char *name, ObjectPropertyRelease *release, void *opaque); =20 -void object_property_del(Object *obj, const char *name, Error **errp); +void object_property_del(Object *obj, const char *name); =20 ObjectProperty *object_class_property_add(ObjectClass *klass, const char *= name, const char *type, diff --git a/hw/core/qdev.c b/hw/core/qdev.c index b9c7a2f904..9e5538aeae 100644 --- a/hw/core/qdev.c +++ b/hw/core/qdev.c @@ -65,7 +65,7 @@ static void bus_remove_child(BusState *bus, DeviceState *= child) bus->num_children--; =20 /* This gives back ownership of kid->child back to us. */ - object_property_del(OBJECT(bus), name, NULL); + object_property_del(OBJECT(bus), name); object_unref(OBJECT(kid->child)); g_free(kid); return; diff --git a/hw/i386/pc_sysfw.c b/hw/i386/pc_sysfw.c index 002133a2d8..2abab3a27c 100644 --- a/hw/i386/pc_sysfw.c +++ b/hw/i386/pc_sysfw.c @@ -120,7 +120,7 @@ static void pc_system_flash_cleanup_unused(PCMachineSta= te *pcms) dev_obj =3D OBJECT(pcms->flash[i]); if (!object_property_get_bool(dev_obj, "realized", &error_abort)) { prop_name =3D g_strdup_printf("pflash%d", i); - object_property_del(OBJECT(pcms), prop_name, &error_abort); + object_property_del(OBJECT(pcms), prop_name); g_free(prop_name); object_unparent(dev_obj); pcms->flash[i] =3D NULL; diff --git a/hw/ppc/spapr_drc.c b/hw/ppc/spapr_drc.c index 8b2171f698..b958f8acb5 100644 --- a/hw/ppc/spapr_drc.c +++ b/hw/ppc/spapr_drc.c @@ -405,7 +405,7 @@ static void spapr_drc_release(SpaprDrc *drc) g_free(drc->fdt); drc->fdt =3D NULL; drc->fdt_start_offset =3D 0; - object_property_del(OBJECT(drc), "device", &error_abort); + object_property_del(OBJECT(drc), "device"); drc->dev =3D NULL; } =20 @@ -551,7 +551,7 @@ static void unrealize(DeviceState *d) vmstate_unregister(VMSTATE_IF(drc), &vmstate_spapr_drc, drc); root_container =3D container_get(object_get_root(), DRC_CONTAINER_PATH= ); name =3D g_strdup_printf("%x", spapr_drc_index(drc)); - object_property_del(root_container, name, &error_abort); + object_property_del(root_container, name); g_free(name); } =20 diff --git a/qom/object.c b/qom/object.c index 23f481ca46..e89ffbe3d1 100644 --- a/qom/object.c +++ b/qom/object.c @@ -1280,15 +1280,10 @@ ObjectProperty *object_class_property_find(ObjectCl= ass *klass, const char *name, return prop; } =20 -void object_property_del(Object *obj, const char *name, Error **errp) +void object_property_del(Object *obj, const char *name) { ObjectProperty *prop =3D g_hash_table_lookup(obj->properties, name); =20 - if (!prop) { - error_setg(errp, "Property '.%s' not found", name); - return; - } - if (prop->release) { prop->release(obj, name, prop->opaque); } diff --git a/qom/object_interfaces.c b/qom/object_interfaces.c index 054e75043d..7e26f86fa6 100644 --- a/qom/object_interfaces.c +++ b/qom/object_interfaces.c @@ -89,8 +89,7 @@ Object *user_creatable_add_type(const char *type, const c= har *id, user_creatable_complete(USER_CREATABLE(obj), &local_err); if (local_err) { if (id !=3D NULL) { - object_property_del(object_get_objects_root(), - id, &error_abort); + object_property_del(object_get_objects_root(), id); } goto out; } diff --git a/tests/check-qom-proplist.c b/tests/check-qom-proplist.c index 84f48fe592..13a824cfae 100644 --- a/tests/check-qom-proplist.c +++ b/tests/check-qom-proplist.c @@ -280,7 +280,7 @@ static void dummy_bus_init(Object *obj) static void dummy_bus_unparent(Object *obj) { DummyBus *bus =3D DUMMY_BUS(obj); - object_property_del(obj->parent, "backend", NULL); + object_property_del(obj->parent, "backend"); object_unparent(OBJECT(bus->backend)); } =20 --=20 2.21.1