From nobody Tue Nov 18 07:28:12 2025 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=1608064142; cv=none; d=zohomail.com; s=zohoarc; b=eV/SZhXxjcLATZC5dZ0CWABfJsB3mfzVV7UY+MW2F86NxQW8ndT86AM4spoxVxbtSr06xex2yNzHJ22+p2qwe3U0S6tSyBdrdHPtieAexKN4Vq9laUOkQnDu9OKkAPS/qudHvPXZSPfIkyP/A+UKw2rqZ0DGvqkWdr19W17DF3U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1608064142; 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=eFVFi7F1PESwlB4WpC+K5GnfNgTIu6D/zvXGf1Dfckg=; b=Kuc/deNDCvPL7EEuhHrRwRoovM4aEtdBYZH+y+zKgYFzwesoUqAVCdbm6IcGFLWrcXPveo6TFXtNKK/HddODvqCTdpRr+zZ1ShgU6F6TPCg0/2XeS2Tw+W+31yffVpV81urGj/Z9r9mA7aa9eJrpRA3mlhlHMJrBAgUfSgcVxNE= 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 1608064142824505.26599231356306; Tue, 15 Dec 2020 12:29:02 -0800 (PST) Received: from localhost ([::1]:54918 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kpCNa-0005O8-Rs for importer@patchew.org; Tue, 15 Dec 2020 10:36:46 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:51464) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpC94-0008VP-6w for qemu-devel@nongnu.org; Tue, 15 Dec 2020 10:21:46 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:35631) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kpC8z-0002Rz-5J for qemu-devel@nongnu.org; Tue, 15 Dec 2020 10:21:45 -0500 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-589-W1QLrAnENTiuVoJLmQ4SOA-1; Tue, 15 Dec 2020 10:21:33 -0500 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id C89B7A0C23; Tue, 15 Dec 2020 15:20:29 +0000 (UTC) Received: from localhost (ovpn-115-226.rdu2.redhat.com [10.10.115.226]) by smtp.corp.redhat.com (Postfix) with ESMTP id 50C4819C44; Tue, 15 Dec 2020 15:20:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1608045698; 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=eFVFi7F1PESwlB4WpC+K5GnfNgTIu6D/zvXGf1Dfckg=; b=hZ90c1FZRsg2Z8eO7ZgsWfyGGXl3csB+3fMIPJgSWbDsKludZb5Qb7PUc692WxGvLPVdqB srx3t+rfeQYMNN4Hu3sY1oKBBKdUy1ymTcdpkQCyFMgA9qXfNk2tzcLCsouMYQI/7eRhGv T/bnPdZtUVw3l0FTTXa9yZE/pTDP6xU= X-MC-Unique: W1QLrAnENTiuVoJLmQ4SOA-1 From: Eduardo Habkost To: qemu-devel@nongnu.org, Peter Maydell Subject: [PULL 19/25] qdev: Make qdev_get_prop_ptr() get Object* arg Date: Tue, 15 Dec 2020 10:19:36 -0500 Message-Id: <20201215151942.3125089-20-ehabkost@redhat.com> In-Reply-To: <20201215151942.3125089-1-ehabkost@redhat.com> References: <20201215151942.3125089-1-ehabkost@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ehabkost@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" 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=216.205.24.124; envelope-from=ehabkost@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no 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: Paul Durrant , Paolo Bonzini , Cornelia Huck , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Make the code more generic and not specific to TYPE_DEVICE. Signed-off-by: Eduardo Habkost Reviewed-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Cornelia Huck #s390 parts Acked-by: Paul Durrant Message-Id: <20201211220529.2290218-10-ehabkost@redhat.com> Signed-off-by: Eduardo Habkost --- hw/core/qdev-properties-system.c | 57 +++++++++------------- hw/core/qdev-properties.c | 82 +++++++++++++------------------- include/hw/qdev-properties.h | 2 +- backends/tpm/tpm_util.c | 8 ++-- hw/block/xen-block.c | 5 +- hw/s390x/css.c | 5 +- hw/s390x/s390-pci-bus.c | 4 +- hw/vfio/pci-quirks.c | 5 +- 8 files changed, 68 insertions(+), 100 deletions(-) diff --git a/hw/core/qdev-properties-system.c b/hw/core/qdev-properties-sys= tem.c index 77b31eb9dc..9ac9b95852 100644 --- a/hw/core/qdev-properties-system.c +++ b/hw/core/qdev-properties-system.c @@ -59,9 +59,8 @@ static bool check_prop_still_unset(DeviceState *dev, cons= t char *name, static void get_drive(Object *obj, Visitor *v, const char *name, void *opa= que, Error **errp) { - DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - void **ptr =3D qdev_get_prop_ptr(dev, prop); + void **ptr =3D qdev_get_prop_ptr(obj, prop); const char *value; char *p; =20 @@ -87,7 +86,7 @@ static void set_drive_helper(Object *obj, Visitor *v, con= st char *name, { DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - void **ptr =3D qdev_get_prop_ptr(dev, prop); + void **ptr =3D qdev_get_prop_ptr(obj, prop); char *str; BlockBackend *blk; bool blk_created =3D false; @@ -185,7 +184,7 @@ static void release_drive(Object *obj, const char *name= , void *opaque) { DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - BlockBackend **ptr =3D qdev_get_prop_ptr(dev, prop); + BlockBackend **ptr =3D qdev_get_prop_ptr(obj, prop); =20 if (*ptr) { AioContext *ctx =3D blk_get_aio_context(*ptr); @@ -218,8 +217,7 @@ const PropertyInfo qdev_prop_drive_iothread =3D { static void get_chr(Object *obj, Visitor *v, const char *name, void *opaqu= e, Error **errp) { - DeviceState *dev =3D DEVICE(obj); - CharBackend *be =3D qdev_get_prop_ptr(dev, opaque); + CharBackend *be =3D qdev_get_prop_ptr(obj, opaque); char *p; =20 p =3D g_strdup(be->chr && be->chr->label ? be->chr->label : ""); @@ -232,7 +230,7 @@ static void set_chr(Object *obj, Visitor *v, const char= *name, void *opaque, { DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - CharBackend *be =3D qdev_get_prop_ptr(dev, prop); + CharBackend *be =3D qdev_get_prop_ptr(obj, prop); Chardev *s; char *str; =20 @@ -272,9 +270,8 @@ static void set_chr(Object *obj, Visitor *v, const char= *name, void *opaque, =20 static void release_chr(Object *obj, const char *name, void *opaque) { - DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - CharBackend *be =3D qdev_get_prop_ptr(dev, prop); + CharBackend *be =3D qdev_get_prop_ptr(obj, prop); =20 qemu_chr_fe_deinit(be, false); } @@ -297,9 +294,8 @@ const PropertyInfo qdev_prop_chr =3D { static void get_mac(Object *obj, Visitor *v, const char *name, void *opaqu= e, Error **errp) { - DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - MACAddr *mac =3D qdev_get_prop_ptr(dev, prop); + MACAddr *mac =3D qdev_get_prop_ptr(obj, prop); char buffer[2 * 6 + 5 + 1]; char *p =3D buffer; =20 @@ -315,7 +311,7 @@ static void set_mac(Object *obj, Visitor *v, const char= *name, void *opaque, { DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - MACAddr *mac =3D qdev_get_prop_ptr(dev, prop); + MACAddr *mac =3D qdev_get_prop_ptr(obj, prop); int i, pos; char *str; const char *p; @@ -381,9 +377,8 @@ void qdev_prop_set_macaddr(DeviceState *dev, const char= *name, static void get_netdev(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { - DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - NICPeers *peers_ptr =3D qdev_get_prop_ptr(dev, prop); + NICPeers *peers_ptr =3D qdev_get_prop_ptr(obj, prop); char *p =3D g_strdup(peers_ptr->ncs[0] ? peers_ptr->ncs[0]->name : ""); =20 visit_type_str(v, name, &p, errp); @@ -395,7 +390,7 @@ static void set_netdev(Object *obj, Visitor *v, const c= har *name, { DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - NICPeers *peers_ptr =3D qdev_get_prop_ptr(dev, prop); + NICPeers *peers_ptr =3D qdev_get_prop_ptr(obj, prop); NetClientState **ncs =3D peers_ptr->ncs; NetClientState *peers[MAX_QUEUE_NUM]; int queues, err =3D 0, i =3D 0; @@ -461,9 +456,8 @@ const PropertyInfo qdev_prop_netdev =3D { static void get_audiodev(Object *obj, Visitor *v, const char* name, void *opaque, Error **errp) { - DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - QEMUSoundCard *card =3D qdev_get_prop_ptr(dev, prop); + QEMUSoundCard *card =3D qdev_get_prop_ptr(obj, prop); char *p =3D g_strdup(audio_get_id(card)); =20 visit_type_str(v, name, &p, errp); @@ -475,7 +469,7 @@ static void set_audiodev(Object *obj, Visitor *v, const= char* name, { DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - QEMUSoundCard *card =3D qdev_get_prop_ptr(dev, prop); + QEMUSoundCard *card =3D qdev_get_prop_ptr(obj, prop); AudioState *state; int err =3D 0; char *str; @@ -582,7 +576,7 @@ static void set_blocksize(Object *obj, Visitor *v, cons= t char *name, { DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - uint32_t *ptr =3D qdev_get_prop_ptr(dev, prop); + uint32_t *ptr =3D qdev_get_prop_ptr(obj, prop); uint64_t value; Error *local_err =3D NULL; =20 @@ -674,9 +668,8 @@ const PropertyInfo qdev_prop_multifd_compression =3D { static void get_reserved_region(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { - DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - ReservedRegion *rr =3D qdev_get_prop_ptr(dev, prop); + ReservedRegion *rr =3D qdev_get_prop_ptr(obj, prop); char buffer[64]; char *p =3D buffer; int rc; @@ -693,7 +686,7 @@ static void set_reserved_region(Object *obj, Visitor *v= , const char *name, { DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - ReservedRegion *rr =3D qdev_get_prop_ptr(dev, prop); + ReservedRegion *rr =3D qdev_get_prop_ptr(obj, prop); Error *local_err =3D NULL; const char *endptr; char *str; @@ -761,7 +754,7 @@ static void set_pci_devfn(Object *obj, Visitor *v, cons= t char *name, { DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - int32_t value, *ptr =3D qdev_get_prop_ptr(dev, prop); + int32_t value, *ptr =3D qdev_get_prop_ptr(obj, prop); unsigned int slot, fn, n; char *str; =20 @@ -804,8 +797,7 @@ invalid: static int print_pci_devfn(Object *obj, Property *prop, char *dest, size_t len) { - DeviceState *dev =3D DEVICE(obj); - int32_t *ptr =3D qdev_get_prop_ptr(dev, prop); + int32_t *ptr =3D qdev_get_prop_ptr(obj, prop); =20 if (*ptr =3D=3D -1) { return snprintf(dest, len, ""); @@ -828,9 +820,8 @@ const PropertyInfo qdev_prop_pci_devfn =3D { static void get_pci_host_devaddr(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { - DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - PCIHostDeviceAddress *addr =3D qdev_get_prop_ptr(dev, prop); + PCIHostDeviceAddress *addr =3D qdev_get_prop_ptr(obj, prop); char buffer[] =3D "ffff:ff:ff.f"; char *p =3D buffer; int rc =3D 0; @@ -857,7 +848,7 @@ static void set_pci_host_devaddr(Object *obj, Visitor *= v, const char *name, { DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - PCIHostDeviceAddress *addr =3D qdev_get_prop_ptr(dev, prop); + PCIHostDeviceAddress *addr =3D qdev_get_prop_ptr(obj, prop); char *str, *p; char *e; unsigned long val; @@ -951,9 +942,8 @@ const PropertyInfo qdev_prop_off_auto_pcibar =3D { static void get_prop_pcielinkspeed(Object *obj, Visitor *v, const char *na= me, void *opaque, Error **errp) { - DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - PCIExpLinkSpeed *p =3D qdev_get_prop_ptr(dev, prop); + PCIExpLinkSpeed *p =3D qdev_get_prop_ptr(obj, prop); int speed; =20 switch (*p) { @@ -982,7 +972,7 @@ static void set_prop_pcielinkspeed(Object *obj, Visitor= *v, const char *name, { DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - PCIExpLinkSpeed *p =3D qdev_get_prop_ptr(dev, prop); + PCIExpLinkSpeed *p =3D qdev_get_prop_ptr(obj, prop); int speed; =20 if (dev->realized) { @@ -1028,9 +1018,8 @@ const PropertyInfo qdev_prop_pcie_link_speed =3D { static void get_prop_pcielinkwidth(Object *obj, Visitor *v, const char *na= me, void *opaque, Error **errp) { - DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - PCIExpLinkWidth *p =3D qdev_get_prop_ptr(dev, prop); + PCIExpLinkWidth *p =3D qdev_get_prop_ptr(obj, prop); int width; =20 switch (*p) { @@ -1068,7 +1057,7 @@ static void set_prop_pcielinkwidth(Object *obj, Visit= or *v, const char *name, { DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - PCIExpLinkWidth *p =3D qdev_get_prop_ptr(dev, prop); + PCIExpLinkWidth *p =3D qdev_get_prop_ptr(obj, prop); int width; =20 if (dev->realized) { diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c index 3a4638f4de..0a54a922c8 100644 --- a/hw/core/qdev-properties.c +++ b/hw/core/qdev-properties.c @@ -38,9 +38,9 @@ void qdev_prop_allow_set_link_before_realize(const Object= *obj, } } =20 -void *qdev_get_prop_ptr(DeviceState *dev, Property *prop) +void *qdev_get_prop_ptr(Object *obj, Property *prop) { - void *ptr =3D dev; + void *ptr =3D obj; ptr +=3D prop->offset; return ptr; } @@ -48,9 +48,8 @@ void *qdev_get_prop_ptr(DeviceState *dev, Property *prop) void qdev_propinfo_get_enum(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { - DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - int *ptr =3D qdev_get_prop_ptr(dev, prop); + int *ptr =3D qdev_get_prop_ptr(obj, prop); =20 visit_type_enum(v, prop->name, ptr, prop->info->enum_table, errp); } @@ -60,7 +59,7 @@ void qdev_propinfo_set_enum(Object *obj, Visitor *v, cons= t char *name, { DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - int *ptr =3D qdev_get_prop_ptr(dev, prop); + int *ptr =3D qdev_get_prop_ptr(obj, prop); =20 if (dev->realized) { qdev_prop_set_after_realize(dev, name, errp); @@ -94,8 +93,7 @@ static uint32_t qdev_get_prop_mask(Property *prop) =20 static void bit_prop_set(Object *obj, Property *props, bool val) { - DeviceState *dev =3D DEVICE(obj); - uint32_t *p =3D qdev_get_prop_ptr(dev, props); + uint32_t *p =3D qdev_get_prop_ptr(obj, props); uint32_t mask =3D qdev_get_prop_mask(props); if (val) { *p |=3D mask; @@ -107,9 +105,8 @@ static void bit_prop_set(Object *obj, Property *props, = bool val) static void prop_get_bit(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { - DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - uint32_t *p =3D qdev_get_prop_ptr(dev, prop); + uint32_t *p =3D qdev_get_prop_ptr(obj, prop); bool value =3D (*p & qdev_get_prop_mask(prop)) !=3D 0; =20 visit_type_bool(v, name, &value, errp); @@ -156,8 +153,7 @@ static uint64_t qdev_get_prop_mask64(Property *prop) =20 static void bit64_prop_set(Object *obj, Property *props, bool val) { - DeviceState *dev =3D DEVICE(obj); - uint64_t *p =3D qdev_get_prop_ptr(dev, props); + uint64_t *p =3D qdev_get_prop_ptr(obj, props); uint64_t mask =3D qdev_get_prop_mask64(props); if (val) { *p |=3D mask; @@ -169,9 +165,8 @@ static void bit64_prop_set(Object *obj, Property *props= , bool val) static void prop_get_bit64(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { - DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - uint64_t *p =3D qdev_get_prop_ptr(dev, prop); + uint64_t *p =3D qdev_get_prop_ptr(obj, prop); bool value =3D (*p & qdev_get_prop_mask64(prop)) !=3D 0; =20 visit_type_bool(v, name, &value, errp); @@ -208,9 +203,8 @@ const PropertyInfo qdev_prop_bit64 =3D { static void get_bool(Object *obj, Visitor *v, const char *name, void *opaq= ue, Error **errp) { - DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - bool *ptr =3D qdev_get_prop_ptr(dev, prop); + bool *ptr =3D qdev_get_prop_ptr(obj, prop); =20 visit_type_bool(v, name, ptr, errp); } @@ -220,7 +214,7 @@ static void set_bool(Object *obj, Visitor *v, const cha= r *name, void *opaque, { DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - bool *ptr =3D qdev_get_prop_ptr(dev, prop); + bool *ptr =3D qdev_get_prop_ptr(obj, prop); =20 if (dev->realized) { qdev_prop_set_after_realize(dev, name, errp); @@ -242,9 +236,8 @@ const PropertyInfo qdev_prop_bool =3D { static void get_uint8(Object *obj, Visitor *v, const char *name, void *opa= que, Error **errp) { - DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - uint8_t *ptr =3D qdev_get_prop_ptr(dev, prop); + uint8_t *ptr =3D qdev_get_prop_ptr(obj, prop); =20 visit_type_uint8(v, name, ptr, errp); } @@ -254,7 +247,7 @@ static void set_uint8(Object *obj, Visitor *v, const ch= ar *name, void *opaque, { DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - uint8_t *ptr =3D qdev_get_prop_ptr(dev, prop); + uint8_t *ptr =3D qdev_get_prop_ptr(obj, prop); =20 if (dev->realized) { qdev_prop_set_after_realize(dev, name, errp); @@ -288,9 +281,8 @@ const PropertyInfo qdev_prop_uint8 =3D { void qdev_propinfo_get_uint16(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { - DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - uint16_t *ptr =3D qdev_get_prop_ptr(dev, prop); + uint16_t *ptr =3D qdev_get_prop_ptr(obj, prop); =20 visit_type_uint16(v, name, ptr, errp); } @@ -300,7 +292,7 @@ static void set_uint16(Object *obj, Visitor *v, const c= har *name, { DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - uint16_t *ptr =3D qdev_get_prop_ptr(dev, prop); + uint16_t *ptr =3D qdev_get_prop_ptr(obj, prop); =20 if (dev->realized) { qdev_prop_set_after_realize(dev, name, errp); @@ -322,9 +314,8 @@ const PropertyInfo qdev_prop_uint16 =3D { static void get_uint32(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { - DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - uint32_t *ptr =3D qdev_get_prop_ptr(dev, prop); + uint32_t *ptr =3D qdev_get_prop_ptr(obj, prop); =20 visit_type_uint32(v, name, ptr, errp); } @@ -334,7 +325,7 @@ static void set_uint32(Object *obj, Visitor *v, const c= har *name, { DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - uint32_t *ptr =3D qdev_get_prop_ptr(dev, prop); + uint32_t *ptr =3D qdev_get_prop_ptr(obj, prop); =20 if (dev->realized) { qdev_prop_set_after_realize(dev, name, errp); @@ -347,9 +338,8 @@ static void set_uint32(Object *obj, Visitor *v, const c= har *name, void qdev_propinfo_get_int32(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { - DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - int32_t *ptr =3D qdev_get_prop_ptr(dev, prop); + int32_t *ptr =3D qdev_get_prop_ptr(obj, prop); =20 visit_type_int32(v, name, ptr, errp); } @@ -359,7 +349,7 @@ static void set_int32(Object *obj, Visitor *v, const ch= ar *name, void *opaque, { DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - int32_t *ptr =3D qdev_get_prop_ptr(dev, prop); + int32_t *ptr =3D qdev_get_prop_ptr(obj, prop); =20 if (dev->realized) { qdev_prop_set_after_realize(dev, name, errp); @@ -388,9 +378,8 @@ const PropertyInfo qdev_prop_int32 =3D { static void get_uint64(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { - DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - uint64_t *ptr =3D qdev_get_prop_ptr(dev, prop); + uint64_t *ptr =3D qdev_get_prop_ptr(obj, prop); =20 visit_type_uint64(v, name, ptr, errp); } @@ -400,7 +389,7 @@ static void set_uint64(Object *obj, Visitor *v, const c= har *name, { DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - uint64_t *ptr =3D qdev_get_prop_ptr(dev, prop); + uint64_t *ptr =3D qdev_get_prop_ptr(obj, prop); =20 if (dev->realized) { qdev_prop_set_after_realize(dev, name, errp); @@ -413,9 +402,8 @@ static void set_uint64(Object *obj, Visitor *v, const c= har *name, static void get_int64(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { - DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - int64_t *ptr =3D qdev_get_prop_ptr(dev, prop); + int64_t *ptr =3D qdev_get_prop_ptr(obj, prop); =20 visit_type_int64(v, name, ptr, errp); } @@ -425,7 +413,7 @@ static void set_int64(Object *obj, Visitor *v, const ch= ar *name, { DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - int64_t *ptr =3D qdev_get_prop_ptr(dev, prop); + int64_t *ptr =3D qdev_get_prop_ptr(obj, prop); =20 if (dev->realized) { qdev_prop_set_after_realize(dev, name, errp); @@ -454,15 +442,14 @@ const PropertyInfo qdev_prop_int64 =3D { static void release_string(Object *obj, const char *name, void *opaque) { Property *prop =3D opaque; - g_free(*(char **)qdev_get_prop_ptr(DEVICE(obj), prop)); + g_free(*(char **)qdev_get_prop_ptr(obj, prop)); } =20 static void get_string(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { - DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - char **ptr =3D qdev_get_prop_ptr(dev, prop); + char **ptr =3D qdev_get_prop_ptr(obj, prop); =20 if (!*ptr) { char *str =3D (char *)""; @@ -477,7 +464,7 @@ static void set_string(Object *obj, Visitor *v, const c= har *name, { DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - char **ptr =3D qdev_get_prop_ptr(dev, prop); + char **ptr =3D qdev_get_prop_ptr(obj, prop); char *str; =20 if (dev->realized) { @@ -515,9 +502,8 @@ const PropertyInfo qdev_prop_on_off_auto =3D { void qdev_propinfo_get_size32(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { - DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - uint32_t *ptr =3D qdev_get_prop_ptr(dev, prop); + uint32_t *ptr =3D qdev_get_prop_ptr(obj, prop); uint64_t value =3D *ptr; =20 visit_type_size(v, name, &value, errp); @@ -528,7 +514,7 @@ static void set_size32(Object *obj, Visitor *v, const c= har *name, void *opaque, { DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - uint32_t *ptr =3D qdev_get_prop_ptr(dev, prop); + uint32_t *ptr =3D qdev_get_prop_ptr(obj, prop); uint64_t value; =20 if (dev->realized) { @@ -563,9 +549,8 @@ const PropertyInfo qdev_prop_size32 =3D { static void get_uuid(Object *obj, Visitor *v, const char *name, void *opaq= ue, Error **errp) { - DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - QemuUUID *uuid =3D qdev_get_prop_ptr(dev, prop); + QemuUUID *uuid =3D qdev_get_prop_ptr(obj, prop); char buffer[UUID_FMT_LEN + 1]; char *p =3D buffer; =20 @@ -581,7 +566,7 @@ static void set_uuid(Object *obj, Visitor *v, const cha= r *name, void *opaque, { DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - QemuUUID *uuid =3D qdev_get_prop_ptr(dev, prop); + QemuUUID *uuid =3D qdev_get_prop_ptr(obj, prop); char *str; =20 if (dev->realized) { @@ -653,7 +638,7 @@ static void set_prop_arraylen(Object *obj, Visitor *v, = const char *name, */ DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - uint32_t *alenptr =3D qdev_get_prop_ptr(dev, prop); + uint32_t *alenptr =3D qdev_get_prop_ptr(obj, prop); void **arrayptr =3D (void *)dev + prop->arrayoffset; void *eltptr; const char *arrayname; @@ -699,7 +684,7 @@ static void set_prop_arraylen(Object *obj, Visitor *v, = const char *name, * being inside the device struct. */ arrayprop->prop.offset =3D eltptr - (void *)dev; - assert(qdev_get_prop_ptr(dev, &arrayprop->prop) =3D=3D eltptr); + assert(qdev_get_prop_ptr(obj, &arrayprop->prop) =3D=3D eltptr); object_property_add(obj, propname, arrayprop->prop.info->name, arrayprop->prop.info->get, @@ -893,9 +878,8 @@ void qdev_prop_set_globals(DeviceState *dev) static void get_size(Object *obj, Visitor *v, const char *name, void *opaq= ue, Error **errp) { - DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - uint64_t *ptr =3D qdev_get_prop_ptr(dev, prop); + uint64_t *ptr =3D qdev_get_prop_ptr(obj, prop); =20 visit_type_size(v, name, ptr, errp); } @@ -905,7 +889,7 @@ static void set_size(Object *obj, Visitor *v, const cha= r *name, void *opaque, { DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - uint64_t *ptr =3D qdev_get_prop_ptr(dev, prop); + uint64_t *ptr =3D qdev_get_prop_ptr(obj, prop); =20 if (dev->realized) { qdev_prop_set_after_realize(dev, name, errp); diff --git a/include/hw/qdev-properties.h b/include/hw/qdev-properties.h index 0ea822e6a7..0b92cfc761 100644 --- a/include/hw/qdev-properties.h +++ b/include/hw/qdev-properties.h @@ -302,7 +302,7 @@ void qdev_prop_set_macaddr(DeviceState *dev, const char= *name, const uint8_t *value); void qdev_prop_set_enum(DeviceState *dev, const char *name, int value); =20 -void *qdev_get_prop_ptr(DeviceState *dev, Property *prop); +void *qdev_get_prop_ptr(Object *obj, Property *prop); =20 void qdev_prop_register_global(GlobalProperty *prop); const GlobalProperty *qdev_find_global_prop(DeviceState *dev, diff --git a/backends/tpm/tpm_util.c b/backends/tpm/tpm_util.c index e6aeb63587..3973105658 100644 --- a/backends/tpm/tpm_util.c +++ b/backends/tpm/tpm_util.c @@ -35,8 +35,7 @@ static void get_tpm(Object *obj, Visitor *v, const char *name, void *opaqu= e, Error **errp) { - DeviceState *dev =3D DEVICE(obj); - TPMBackend **be =3D qdev_get_prop_ptr(dev, opaque); + TPMBackend **be =3D qdev_get_prop_ptr(obj, opaque); char *p; =20 p =3D g_strdup(*be ? (*be)->id : ""); @@ -49,7 +48,7 @@ static void set_tpm(Object *obj, Visitor *v, const char *= name, void *opaque, { DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - TPMBackend *s, **be =3D qdev_get_prop_ptr(dev, prop); + TPMBackend *s, **be =3D qdev_get_prop_ptr(obj, prop); char *str; =20 if (dev->realized) { @@ -73,9 +72,8 @@ static void set_tpm(Object *obj, Visitor *v, const char *= name, void *opaque, =20 static void release_tpm(Object *obj, const char *name, void *opaque) { - DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - TPMBackend **be =3D qdev_get_prop_ptr(dev, prop); + TPMBackend **be =3D qdev_get_prop_ptr(obj, prop); =20 if (*be) { tpm_backend_reset(*be); diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c index 8a7a3f5452..905e4acd97 100644 --- a/hw/block/xen-block.c +++ b/hw/block/xen-block.c @@ -335,9 +335,8 @@ static char *disk_to_vbd_name(unsigned int disk) static void xen_block_get_vdev(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { - DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - XenBlockVdev *vdev =3D qdev_get_prop_ptr(dev, prop); + XenBlockVdev *vdev =3D qdev_get_prop_ptr(obj, prop); char *str; =20 switch (vdev->type) { @@ -398,7 +397,7 @@ static void xen_block_set_vdev(Object *obj, Visitor *v,= const char *name, { DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - XenBlockVdev *vdev =3D qdev_get_prop_ptr(dev, prop); + XenBlockVdev *vdev =3D qdev_get_prop_ptr(obj, prop); char *str, *p; const char *end; =20 diff --git a/hw/s390x/css.c b/hw/s390x/css.c index 9961cfe7bf..2b8f33fec2 100644 --- a/hw/s390x/css.c +++ b/hw/s390x/css.c @@ -2343,9 +2343,8 @@ void css_reset(void) static void get_css_devid(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { - DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - CssDevId *dev_id =3D qdev_get_prop_ptr(dev, prop); + CssDevId *dev_id =3D qdev_get_prop_ptr(obj, prop); char buffer[] =3D "xx.x.xxxx"; char *p =3D buffer; int r; @@ -2375,7 +2374,7 @@ static void set_css_devid(Object *obj, Visitor *v, co= nst char *name, { DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - CssDevId *dev_id =3D qdev_get_prop_ptr(dev, prop); + CssDevId *dev_id =3D qdev_get_prop_ptr(obj, prop); char *str; int num, n1, n2; unsigned int cssid, ssid, devid; diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c index 05f7460aec..8b6be1197b 100644 --- a/hw/s390x/s390-pci-bus.c +++ b/hw/s390x/s390-pci-bus.c @@ -1330,7 +1330,7 @@ static void s390_pci_get_fid(Object *obj, Visitor *v,= const char *name, void *opaque, Error **errp) { Property *prop =3D opaque; - uint32_t *ptr =3D qdev_get_prop_ptr(DEVICE(obj), prop); + uint32_t *ptr =3D qdev_get_prop_ptr(obj, prop); =20 visit_type_uint32(v, name, ptr, errp); } @@ -1341,7 +1341,7 @@ static void s390_pci_set_fid(Object *obj, Visitor *v,= const char *name, DeviceState *dev =3D DEVICE(obj); S390PCIBusDevice *zpci =3D S390_PCI_DEVICE(obj); Property *prop =3D opaque; - uint32_t *ptr =3D qdev_get_prop_ptr(dev, prop); + uint32_t *ptr =3D qdev_get_prop_ptr(obj, prop); =20 if (dev->realized) { qdev_prop_set_after_realize(dev, name, errp); diff --git a/hw/vfio/pci-quirks.c b/hw/vfio/pci-quirks.c index 57150913b7..53569925a2 100644 --- a/hw/vfio/pci-quirks.c +++ b/hw/vfio/pci-quirks.c @@ -1488,9 +1488,8 @@ static void get_nv_gpudirect_clique_id(Object *obj, V= isitor *v, const char *name, void *opaque, Error **errp) { - DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - uint8_t *ptr =3D qdev_get_prop_ptr(dev, prop); + uint8_t *ptr =3D qdev_get_prop_ptr(obj, prop); =20 visit_type_uint8(v, name, ptr, errp); } @@ -1501,7 +1500,7 @@ static void set_nv_gpudirect_clique_id(Object *obj, V= isitor *v, { DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - uint8_t value, *ptr =3D qdev_get_prop_ptr(dev, prop); + uint8_t value, *ptr =3D qdev_get_prop_ptr(obj, prop); =20 if (dev->realized) { qdev_prop_set_after_realize(dev, name, errp); --=20 2.28.0