hw/pci-host: Set DEVICE_CATEGORY_BRIDGE once in parent class_init()
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é <philmd@linaro.org> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Message-ID: <20251027112306.57634-1-philmd@linaro.org> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Message-Id: <20251027112306.57634-1-philmd@linaro.org>
This commit is contained in:
committed by
Michael S. Tsirkin
parent
6d8dd5ec08
commit
c6caeed118
@@ -200,7 +200,6 @@ static void articia_class_init(ObjectClass *klass, const void *data)
|
||||
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||
|
||||
dc->realize = articia_realize;
|
||||
set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
|
||||
}
|
||||
|
||||
/* TYPE_ARTICIA_PCI_HOST */
|
||||
|
||||
@@ -350,7 +350,6 @@ static void aspeed_pcie_rc_class_init(ObjectClass *klass, const void *data)
|
||||
dc->desc = "ASPEED PCIe RC";
|
||||
dc->realize = aspeed_pcie_rc_realize;
|
||||
dc->fw_name = "pci";
|
||||
set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
|
||||
|
||||
hc->root_bus_path = aspeed_pcie_rc_root_bus_path;
|
||||
device_class_set_props(dc, aspeed_pcie_rc_props);
|
||||
|
||||
@@ -593,8 +593,6 @@ static void designware_pcie_root_class_init(ObjectClass *klass,
|
||||
PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
|
||||
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||
|
||||
set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
|
||||
|
||||
k->vendor_id = PCI_VENDOR_ID_SYNOPSYS;
|
||||
k->device_id = 0xABCD;
|
||||
k->revision = 0;
|
||||
@@ -736,7 +734,6 @@ static void designware_pcie_host_class_init(ObjectClass *klass,
|
||||
|
||||
hc->root_bus_path = designware_pcie_host_root_bus_path;
|
||||
dc->realize = designware_pcie_host_realize;
|
||||
set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
|
||||
dc->fw_name = "pci";
|
||||
dc->vmsd = &vmstate_designware_pcie_host;
|
||||
}
|
||||
|
||||
@@ -200,7 +200,6 @@ static void gpex_host_class_init(ObjectClass *klass, const void *data)
|
||||
hc->root_bus_path = gpex_host_root_bus_path;
|
||||
dc->realize = gpex_host_realize;
|
||||
dc->unrealize = gpex_host_unrealize;
|
||||
set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
|
||||
dc->fw_name = "pci";
|
||||
device_class_set_props(dc, gpex_host_properties);
|
||||
}
|
||||
@@ -242,7 +241,6 @@ static void gpex_root_class_init(ObjectClass *klass, const void *data)
|
||||
PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
|
||||
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||
|
||||
set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
|
||||
dc->desc = "QEMU generic PCIe host bridge";
|
||||
dc->vmsd = &vmstate_gpex_root;
|
||||
k->vendor_id = PCI_VENDOR_ID_REDHAT;
|
||||
|
||||
@@ -140,7 +140,6 @@ static void grackle_class_init(ObjectClass *klass, const void *data)
|
||||
|
||||
dc->realize = grackle_realize;
|
||||
device_class_set_props(dc, grackle_properties);
|
||||
set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
|
||||
dc->fw_name = "pci";
|
||||
sbc->explicit_ofw_unit_address = grackle_ofw_unit_address;
|
||||
}
|
||||
|
||||
@@ -1298,7 +1298,6 @@ static void gt64120_class_init(ObjectClass *klass, const void *data)
|
||||
{
|
||||
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||
|
||||
set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
|
||||
device_class_set_props(dc, gt64120_properties);
|
||||
dc->realize = gt64120_realize;
|
||||
device_class_set_legacy_reset(dc, gt64120_reset);
|
||||
|
||||
@@ -108,7 +108,6 @@ static void mv64361_pcihost_class_init(ObjectClass *klass, const void *data)
|
||||
|
||||
dc->realize = mv64361_pcihost_realize;
|
||||
device_class_set_props(dc, mv64361_pcihost_props);
|
||||
set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
|
||||
}
|
||||
|
||||
static const TypeInfo mv64361_pcihost_info = {
|
||||
|
||||
@@ -202,7 +202,6 @@ static void pnv_phb_class_init(ObjectClass *klass, const void *data)
|
||||
hc->root_bus_path = pnv_phb_root_bus_path;
|
||||
dc->realize = pnv_phb_realize;
|
||||
device_class_set_props(dc, pnv_phb_properties);
|
||||
set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
|
||||
dc->user_creatable = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -516,7 +516,6 @@ static void e500_pcihost_class_init(ObjectClass *klass, const void *data)
|
||||
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||
|
||||
dc->realize = e500_pcihost_realize;
|
||||
set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
|
||||
device_class_set_props(dc, pcihost_properties);
|
||||
dc->vmsd = &vmstate_ppce500_pci;
|
||||
}
|
||||
|
||||
@@ -194,7 +194,6 @@ static void q35_host_class_init(ObjectClass *klass, const void *data)
|
||||
device_class_set_props(dc, q35_host_props);
|
||||
/* Reason: needs to be wired up by pc_q35_init */
|
||||
dc->user_creatable = false;
|
||||
set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
|
||||
dc->fw_name = "pci";
|
||||
}
|
||||
|
||||
|
||||
@@ -296,7 +296,6 @@ static void raven_pcihost_class_init(ObjectClass *klass, const void *data)
|
||||
{
|
||||
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||
|
||||
set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
|
||||
dc->realize = raven_pcihost_realizefn;
|
||||
dc->fw_name = "pci";
|
||||
}
|
||||
|
||||
@@ -55,7 +55,6 @@ static void remote_pcihost_class_init(ObjectClass *klass, const void *data)
|
||||
dc->realize = remote_pcihost_realize;
|
||||
|
||||
dc->user_creatable = false;
|
||||
set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
|
||||
dc->fw_name = "pci";
|
||||
}
|
||||
|
||||
|
||||
@@ -505,7 +505,6 @@ static void sabre_class_init(ObjectClass *klass, const void *data)
|
||||
dc->realize = 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 = "pci";
|
||||
sbc->explicit_ofw_unit_address = sabre_ofw_unit_address;
|
||||
}
|
||||
|
||||
@@ -435,7 +435,6 @@ static void pci_unin_main_class_init(ObjectClass *klass, const void *data)
|
||||
|
||||
dc->realize = 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 = "pci";
|
||||
sbc->explicit_ofw_unit_address = pci_unin_main_ofw_unit_address;
|
||||
}
|
||||
@@ -453,7 +452,6 @@ static void pci_u3_agp_class_init(ObjectClass *klass, const void *data)
|
||||
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||
|
||||
dc->realize = pci_u3_agp_realize;
|
||||
set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
|
||||
}
|
||||
|
||||
static const TypeInfo pci_u3_agp_info = {
|
||||
@@ -469,7 +467,6 @@ static void pci_unin_agp_class_init(ObjectClass *klass, const void *data)
|
||||
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||
|
||||
dc->realize = pci_unin_agp_realize;
|
||||
set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
|
||||
}
|
||||
|
||||
static const TypeInfo pci_unin_agp_info = {
|
||||
@@ -485,7 +482,6 @@ static void pci_unin_internal_class_init(ObjectClass *klass, const void *data)
|
||||
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||
|
||||
dc->realize = pci_unin_internal_realize;
|
||||
set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
|
||||
}
|
||||
|
||||
static const TypeInfo pci_unin_internal_info = {
|
||||
|
||||
@@ -172,7 +172,6 @@ static void xilinx_pcie_host_class_init(ObjectClass *klass, const void *data)
|
||||
|
||||
hc->root_bus_path = xilinx_pcie_host_root_bus_path;
|
||||
dc->realize = xilinx_pcie_host_realize;
|
||||
set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
|
||||
dc->fw_name = "pci";
|
||||
device_class_set_props(dc, xilinx_pcie_host_props);
|
||||
}
|
||||
@@ -291,7 +290,6 @@ static void xilinx_pcie_root_class_init(ObjectClass *klass, const void *data)
|
||||
PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
|
||||
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||
|
||||
set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
|
||||
dc->desc = "Xilinx AXI-PCIe Host Bridge";
|
||||
k->vendor_id = PCI_VENDOR_ID_XILINX;
|
||||
k->device_id = 0x7021;
|
||||
|
||||
@@ -245,6 +245,7 @@ static void pci_host_class_init(ObjectClass *klass, const void *data)
|
||||
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||
device_class_set_props(dc, pci_host_properties_common);
|
||||
dc->vmsd = &vmstate_pcihost;
|
||||
set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
|
||||
}
|
||||
|
||||
static const TypeInfo pci_host_type_info = {
|
||||
|
||||
Reference in New Issue
Block a user