From nobody Mon Feb 9 20:36:14 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1770231854; cv=none; d=zohomail.com; s=zohoarc; b=NJNHxwRrmaquDgpBhHyc0cCd0it2xeGbEA8i2xurHJbdAO7zdVvjfqESaCFz8NL4xOCv277B4ZIQcb2h/10awhrsPFBGthGVqivNbeOK2qV6drPSftOzHrxLmUHfKtDnVLm46oqNAZZIMw85DmnHeCrGDMBuKX3XAQCqYYiM9ys= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1770231854; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=o7oJwB+/MR7DB60Rv9oamUAujf6sHA9qp5RSISJ/HXw=; b=ZPxlNCY6/CgGdkeR4PW7wnyT717xcDGlihiFTB717jI90skqt3Hy8IlJkt8oIHf57nb3ljgksPvbegXWRBzNrS0rju+rD1dnAu4p7FjdKOKsSYmJGxcdXZ+ApZjlftQdMu7pNLI9B4THjjZE0KayVZSMf+gYIOUOP3rDnBl7y9M= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1770231854043561.641579826099; Wed, 4 Feb 2026 11:04:14 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vni9w-0006fJ-3l; Wed, 04 Feb 2026 14:03:28 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vni9s-0006LE-8X for qemu-devel@nongnu.org; Wed, 04 Feb 2026 14:03:24 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vni9q-0007kZ-9k for qemu-devel@nongnu.org; Wed, 04 Feb 2026 14:03:23 -0500 Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-423-jPoPeFwGPVqUplD-7tdZOQ-1; Wed, 04 Feb 2026 14:03:19 -0500 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-435ab9ed85dso133031f8f.1 for ; Wed, 04 Feb 2026 11:03:19 -0800 (PST) Received: from redhat.com (IGLD-80-230-34-155.inter.net.il. [80.230.34.155]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43617e25e8csm7558641f8f.1.2026.02.04.11.03.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Feb 2026 11:03:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1770231801; 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=o7oJwB+/MR7DB60Rv9oamUAujf6sHA9qp5RSISJ/HXw=; b=N4MhTRDzGMxytRl0+BmjvvmBPoSCNKUZsG4EGnfi89XvUa+UqsFGC2RdgPmdiFz6gbiSjj ud0DMcVzKxwtVYSP32VMSkG2FDgIxDLNzBdSwZT2GqspYk6F0Pv7LQda7Sml8mqLikHPBD rmEZERpqHxynRs6NepkyNfz1Ipp6OwQ= X-MC-Unique: jPoPeFwGPVqUplD-7tdZOQ-1 X-Mimecast-MFC-AGG-ID: jPoPeFwGPVqUplD-7tdZOQ_1770231798 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1770231798; x=1770836598; darn=nongnu.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=o7oJwB+/MR7DB60Rv9oamUAujf6sHA9qp5RSISJ/HXw=; b=VJRQVE/YPZcpjosM6qc8gYfG3Q/qMPnG2Eh2fL8p8kHL/+qk9mZ1wyIKAtCxW364bx L2wwE2msQywB9sb5FYFWANAOVmn+Pex8+LhHsvB4THYqv1l0+0S8G4l20NLvnikzh01N +Ooc8ymUVEnLOF4kVT7fXDyyoQdAWZuFu0ngVHiicE1Wc5Si/vcIkztd1Av5QW7yaT2i zZQHi9UxKP8zlXGolkzwzSYQA59OiqyBsoQXvYISD3n3x+HpbcIU7BwYA0jcMjeUjOXP 86GoY0IAne+JO4WBNBUneYueEdKFSwyPK9FKh2J95m/QFqmt+c/RbYQxdLm8y7X4mco0 JqMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770231798; x=1770836598; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=o7oJwB+/MR7DB60Rv9oamUAujf6sHA9qp5RSISJ/HXw=; b=M86wRkpM4pQ+9bhnKHe4HCjE1bxuKArjLaCBxi/L/ilzTNnoOJu7fsWXpM5AZLLIBH cmEysXygpgLeujAyYT4fkyEsuB/7zJJ0lCkJDuETjGz2VCfC7lvzTwWy27JtWu5/i8rf 2d4S6dipxBZg9IFuI9aTpAQgT0Q/ODIAfFm13CbOvSS8DP63mf11hKr4KX/6JkzUgFBi iwa3DZvC0AxeZsHQz3Cejxg6n59g69o406fOwH8cQbcfB8z7FiqYzWk50DHwWLlk7bsx 2/VmisUNF7T7np8tIXScS95tZY69EyRUXY8dpsnZKljFwRoTuAvFxPu6t/4q3f1qA1jZ rIZA== X-Gm-Message-State: AOJu0YwoFpRb4wkhvXbn9JYED8VSsv+qbagB3LbKXJnzt6JImkE/YzuC ERNrGVJ3SzgFb8F97gaNW2nkZLfghnFJi5IC6vEQLXhUbTeo4qpUDMR83bQ1RZQYgRQpqISNh4d Xs1MmN6TdMhHNoytwCZ6VZoNPktG24X5DNBxNl1yStteEdbfwA+T07qgGrW1MTwhBajoc/kuFOS knJaOnLKAWx9p7ApamKnpZgsAAol4XOtHEuA== X-Gm-Gg: AZuq6aJvRMDV13TWmIeLzpQpkkcLrAYoVjImILN9CxoT5PExxKd9mGVzhCCgE2CsWNS riaQYjNdeQmjavdvK5VEFJ5wKbG/51OGg39PDLhWaY0+xQ+fqkx0ezkBsqfMyfeoiVCaMwsVuSg exjbY7yS991D/u+1cqFOQFB4NZH+W5hBKNMfaSStikJLAJPO4/jGpIQhDerkLPXenOpdktAFDp2 /vspS9eBJiS6/erMKTQQDkUmE7vpxyFo/8sGkB9nluSy37L4hGyIMY64OuHut/uriCr2QW/xvan crcliGLYNz+ePDaQLcLQvAX4f46+QEVLjjbp5hZcor3ztrayEKxKkk4vzKWPbZTivUW9v34Qmv5 gV61GwxyxnVaigwaHH8+l60JnuW/uUJTLSg== X-Received: by 2002:a05:6000:2c08:b0:432:dfa8:e1b6 with SMTP id ffacd0b85a97d-43618053ae7mr5702188f8f.39.1770231797695; Wed, 04 Feb 2026 11:03:17 -0800 (PST) X-Received: by 2002:a05:6000:2c08:b0:432:dfa8:e1b6 with SMTP id ffacd0b85a97d-43618053ae7mr5702086f8f.39.1770231796962; Wed, 04 Feb 2026 11:03:16 -0800 (PST) Date: Wed, 4 Feb 2026 14:03:13 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= , =?utf-8?Q?Marc-Andr=C3=A9?= Lureau , BALATON Zoltan , =?utf-8?Q?C=C3=A9dric?= Le Goater , Steven Lee , Troy Lee , Jamin Lin , Andrew Jeffery , Joel Stanley , Andrey Smirnov , Mark Cave-Ayland , Aurelien Jarno , Nicholas Piggin , Aditya Gupta , Glenn Miles , Bernhard Beschow , Marcel Apfelbaum , =?utf-8?B?SGVydsOp?= Poussineau , Elena Ufimtseva , Jagannathan Raman , Paul Burton , Aleksandar Rikalo , qemu-ppc@nongnu.org, qemu-arm@nongnu.org Subject: [PULL 11/51] hw/pci-host: Set DEVICE_CATEGORY_BRIDGE once in parent class_init() Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@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_H2=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1770231856512154100 From: Philippe Mathieu-Daud=C3=A9 No need to set DEVICE_CATEGORY_BRIDGE for each device implementing TYPE_PCI_HOST_BRIDGE: set it once in the parent. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Michael S. Tsirkin Message-ID: <20251027112306.57634-1-philmd@linaro.org> Signed-off-by: Michael S. Tsirkin Message-Id: <20251027112306.57634-1-philmd@linaro.org> --- hw/pci-host/articia.c | 1 - hw/pci-host/aspeed_pcie.c | 1 - hw/pci-host/designware.c | 3 --- hw/pci-host/gpex.c | 2 -- hw/pci-host/grackle.c | 1 - hw/pci-host/gt64120.c | 1 - hw/pci-host/mv64361.c | 1 - hw/pci-host/pnv_phb.c | 1 - hw/pci-host/ppce500.c | 1 - hw/pci-host/q35.c | 1 - hw/pci-host/raven.c | 1 - hw/pci-host/remote.c | 1 - hw/pci-host/sabre.c | 1 - hw/pci-host/uninorth.c | 4 ---- hw/pci-host/xilinx-pcie.c | 2 -- hw/pci/pci_host.c | 1 + 16 files changed, 1 insertion(+), 22 deletions(-) diff --git a/hw/pci-host/articia.c b/hw/pci-host/articia.c index 1881e03d58..04623dfd84 100644 --- a/hw/pci-host/articia.c +++ b/hw/pci-host/articia.c @@ -200,7 +200,6 @@ static void articia_class_init(ObjectClass *klass, cons= t void *data) DeviceClass *dc =3D DEVICE_CLASS(klass); =20 dc->realize =3D articia_realize; - set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); } =20 /* TYPE_ARTICIA_PCI_HOST */ diff --git a/hw/pci-host/aspeed_pcie.c b/hw/pci-host/aspeed_pcie.c index 83a1c7075c..8eeba1f9f3 100644 --- a/hw/pci-host/aspeed_pcie.c +++ b/hw/pci-host/aspeed_pcie.c @@ -350,7 +350,6 @@ static void aspeed_pcie_rc_class_init(ObjectClass *klas= s, const void *data) dc->desc =3D "ASPEED PCIe RC"; dc->realize =3D aspeed_pcie_rc_realize; dc->fw_name =3D "pci"; - set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); =20 hc->root_bus_path =3D aspeed_pcie_rc_root_bus_path; device_class_set_props(dc, aspeed_pcie_rc_props); diff --git a/hw/pci-host/designware.c b/hw/pci-host/designware.c index 019e025382..00c9449c4d 100644 --- a/hw/pci-host/designware.c +++ b/hw/pci-host/designware.c @@ -593,8 +593,6 @@ static void designware_pcie_root_class_init(ObjectClass= *klass, PCIDeviceClass *k =3D PCI_DEVICE_CLASS(klass); DeviceClass *dc =3D DEVICE_CLASS(klass); =20 - set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); - k->vendor_id =3D PCI_VENDOR_ID_SYNOPSYS; k->device_id =3D 0xABCD; k->revision =3D 0; @@ -736,7 +734,6 @@ static void designware_pcie_host_class_init(ObjectClass= *klass, =20 hc->root_bus_path =3D designware_pcie_host_root_bus_path; dc->realize =3D designware_pcie_host_realize; - set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); dc->fw_name =3D "pci"; dc->vmsd =3D &vmstate_designware_pcie_host; } diff --git a/hw/pci-host/gpex.c b/hw/pci-host/gpex.c index b5074c05c0..e66784ce51 100644 --- a/hw/pci-host/gpex.c +++ b/hw/pci-host/gpex.c @@ -200,7 +200,6 @@ static void gpex_host_class_init(ObjectClass *klass, co= nst void *data) hc->root_bus_path =3D gpex_host_root_bus_path; dc->realize =3D gpex_host_realize; dc->unrealize =3D gpex_host_unrealize; - set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); dc->fw_name =3D "pci"; device_class_set_props(dc, gpex_host_properties); } @@ -242,7 +241,6 @@ static void gpex_root_class_init(ObjectClass *klass, co= nst void *data) PCIDeviceClass *k =3D PCI_DEVICE_CLASS(klass); DeviceClass *dc =3D DEVICE_CLASS(klass); =20 - set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); dc->desc =3D "QEMU generic PCIe host bridge"; dc->vmsd =3D &vmstate_gpex_root; k->vendor_id =3D PCI_VENDOR_ID_REDHAT; diff --git a/hw/pci-host/grackle.c b/hw/pci-host/grackle.c index 9a58f0e9b5..b0db7870b0 100644 --- a/hw/pci-host/grackle.c +++ b/hw/pci-host/grackle.c @@ -140,7 +140,6 @@ static void grackle_class_init(ObjectClass *klass, cons= t void *data) =20 dc->realize =3D grackle_realize; device_class_set_props(dc, grackle_properties); - set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); dc->fw_name =3D "pci"; sbc->explicit_ofw_unit_address =3D grackle_ofw_unit_address; } diff --git a/hw/pci-host/gt64120.c b/hw/pci-host/gt64120.c index d361c457ed..566f928304 100644 --- a/hw/pci-host/gt64120.c +++ b/hw/pci-host/gt64120.c @@ -1298,7 +1298,6 @@ static void gt64120_class_init(ObjectClass *klass, co= nst void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); =20 - set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); device_class_set_props(dc, gt64120_properties); dc->realize =3D gt64120_realize; device_class_set_legacy_reset(dc, gt64120_reset); diff --git a/hw/pci-host/mv64361.c b/hw/pci-host/mv64361.c index ef1c77563e..495a82befd 100644 --- a/hw/pci-host/mv64361.c +++ b/hw/pci-host/mv64361.c @@ -108,7 +108,6 @@ static void mv64361_pcihost_class_init(ObjectClass *kla= ss, const void *data) =20 dc->realize =3D mv64361_pcihost_realize; device_class_set_props(dc, mv64361_pcihost_props); - set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); } =20 static const TypeInfo mv64361_pcihost_info =3D { diff --git a/hw/pci-host/pnv_phb.c b/hw/pci-host/pnv_phb.c index 85fcc3b686..0b556d1bf5 100644 --- a/hw/pci-host/pnv_phb.c +++ b/hw/pci-host/pnv_phb.c @@ -202,7 +202,6 @@ static void pnv_phb_class_init(ObjectClass *klass, cons= t void *data) hc->root_bus_path =3D pnv_phb_root_bus_path; dc->realize =3D pnv_phb_realize; device_class_set_props(dc, pnv_phb_properties); - set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); dc->user_creatable =3D true; } =20 diff --git a/hw/pci-host/ppce500.c b/hw/pci-host/ppce500.c index 76623f78c4..67180ba5f0 100644 --- a/hw/pci-host/ppce500.c +++ b/hw/pci-host/ppce500.c @@ -516,7 +516,6 @@ static void e500_pcihost_class_init(ObjectClass *klass,= const void *data) DeviceClass *dc =3D DEVICE_CLASS(klass); =20 dc->realize =3D e500_pcihost_realize; - set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); device_class_set_props(dc, pcihost_properties); dc->vmsd =3D &vmstate_ppce500_pci; } diff --git a/hw/pci-host/q35.c b/hw/pci-host/q35.c index bf56229051..b353d3e1e6 100644 --- a/hw/pci-host/q35.c +++ b/hw/pci-host/q35.c @@ -194,7 +194,6 @@ static void q35_host_class_init(ObjectClass *klass, con= st void *data) device_class_set_props(dc, q35_host_props); /* Reason: needs to be wired up by pc_q35_init */ dc->user_creatable =3D false; - set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); dc->fw_name =3D "pci"; } =20 diff --git a/hw/pci-host/raven.c b/hw/pci-host/raven.c index c50061996c..b3c2678667 100644 --- a/hw/pci-host/raven.c +++ b/hw/pci-host/raven.c @@ -296,7 +296,6 @@ static void raven_pcihost_class_init(ObjectClass *klass= , const void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); =20 - set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); dc->realize =3D raven_pcihost_realizefn; dc->fw_name =3D "pci"; } diff --git a/hw/pci-host/remote.c b/hw/pci-host/remote.c index feaaa9adaa..9ea95fac6e 100644 --- a/hw/pci-host/remote.c +++ b/hw/pci-host/remote.c @@ -55,7 +55,6 @@ static void remote_pcihost_class_init(ObjectClass *klass,= const void *data) dc->realize =3D remote_pcihost_realize; =20 dc->user_creatable =3D false; - set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); dc->fw_name =3D "pci"; } =20 diff --git a/hw/pci-host/sabre.c b/hw/pci-host/sabre.c index b3f57dca7d..cd2328ad53 100644 --- a/hw/pci-host/sabre.c +++ b/hw/pci-host/sabre.c @@ -505,7 +505,6 @@ static void sabre_class_init(ObjectClass *klass, const = void *data) dc->realize =3D sabre_realize; device_class_set_legacy_reset(dc, sabre_reset); device_class_set_props(dc, sabre_properties); - set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); dc->fw_name =3D "pci"; sbc->explicit_ofw_unit_address =3D sabre_ofw_unit_address; } diff --git a/hw/pci-host/uninorth.c b/hw/pci-host/uninorth.c index d39546b6f4..10972de694 100644 --- a/hw/pci-host/uninorth.c +++ b/hw/pci-host/uninorth.c @@ -435,7 +435,6 @@ static void pci_unin_main_class_init(ObjectClass *klass= , const void *data) =20 dc->realize =3D pci_unin_main_realize; device_class_set_props(dc, pci_unin_main_pci_host_props); - set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); dc->fw_name =3D "pci"; sbc->explicit_ofw_unit_address =3D pci_unin_main_ofw_unit_address; } @@ -453,7 +452,6 @@ static void pci_u3_agp_class_init(ObjectClass *klass, c= onst void *data) DeviceClass *dc =3D DEVICE_CLASS(klass); =20 dc->realize =3D pci_u3_agp_realize; - set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); } =20 static const TypeInfo pci_u3_agp_info =3D { @@ -469,7 +467,6 @@ static void pci_unin_agp_class_init(ObjectClass *klass,= const void *data) DeviceClass *dc =3D DEVICE_CLASS(klass); =20 dc->realize =3D pci_unin_agp_realize; - set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); } =20 static const TypeInfo pci_unin_agp_info =3D { @@ -485,7 +482,6 @@ static void pci_unin_internal_class_init(ObjectClass *k= lass, const void *data) DeviceClass *dc =3D DEVICE_CLASS(klass); =20 dc->realize =3D pci_unin_internal_realize; - set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); } =20 static const TypeInfo pci_unin_internal_info =3D { diff --git a/hw/pci-host/xilinx-pcie.c b/hw/pci-host/xilinx-pcie.c index 86c20377d1..40f625b61d 100644 --- a/hw/pci-host/xilinx-pcie.c +++ b/hw/pci-host/xilinx-pcie.c @@ -172,7 +172,6 @@ static void xilinx_pcie_host_class_init(ObjectClass *kl= ass, const void *data) =20 hc->root_bus_path =3D xilinx_pcie_host_root_bus_path; dc->realize =3D xilinx_pcie_host_realize; - set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); dc->fw_name =3D "pci"; device_class_set_props(dc, xilinx_pcie_host_props); } @@ -291,7 +290,6 @@ static void xilinx_pcie_root_class_init(ObjectClass *kl= ass, const void *data) PCIDeviceClass *k =3D PCI_DEVICE_CLASS(klass); DeviceClass *dc =3D DEVICE_CLASS(klass); =20 - set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); dc->desc =3D "Xilinx AXI-PCIe Host Bridge"; k->vendor_id =3D PCI_VENDOR_ID_XILINX; k->device_id =3D 0x7021; diff --git a/hw/pci/pci_host.c b/hw/pci/pci_host.c index 05f1475dc7..91e3885c7f 100644 --- a/hw/pci/pci_host.c +++ b/hw/pci/pci_host.c @@ -245,6 +245,7 @@ static void pci_host_class_init(ObjectClass *klass, con= st void *data) DeviceClass *dc =3D DEVICE_CLASS(klass); device_class_set_props(dc, pci_host_properties_common); dc->vmsd =3D &vmstate_pcihost; + set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); } =20 static const TypeInfo pci_host_type_info =3D { --=20 MST