[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 16/18] hw/isa/piix: Batch register QOM types using DEFINE_TYPE
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH v3 16/18] hw/isa/piix: Batch register QOM types using DEFINE_TYPES() macro |
Date: |
Thu, 2 Mar 2023 23:40:56 +0100 |
See rationale in commit 38b5d79b2e ("qom: add helper
macro DEFINE_TYPES()").
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
hw/isa/piix3.c | 53 +++++++++++++++++++++-----------------------------
1 file changed, 22 insertions(+), 31 deletions(-)
diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c
index a9cb39bf21..0ee94a2313 100644
--- a/hw/isa/piix3.c
+++ b/hw/isa/piix3.c
@@ -346,19 +346,6 @@ static void pci_piix3_class_init(ObjectClass *klass, void
*data)
adevc->build_dev_aml = build_pci_isa_aml;
}
-static const TypeInfo piix3_pci_type_info = {
- .name = TYPE_PIIX3_PCI_DEVICE,
- .parent = TYPE_PCI_DEVICE,
- .instance_size = sizeof(PIIX3State),
- .abstract = true,
- .class_init = pci_piix3_class_init,
- .interfaces = (InterfaceInfo[]) {
- { INTERFACE_CONVENTIONAL_PCI_DEVICE },
- { TYPE_ACPI_DEV_AML_IF },
- { },
- },
-};
-
static void piix3_realize(PCIDevice *dev, Error **errp)
{
ERRP_GUARD();
@@ -382,12 +369,6 @@ static void piix3_class_init(ObjectClass *klass, void
*data)
k->realize = piix3_realize;
}
-static const TypeInfo piix3_info = {
- .name = TYPE_PIIX3_DEVICE,
- .parent = TYPE_PIIX3_PCI_DEVICE,
- .class_init = piix3_class_init,
-};
-
static void piix3_xen_realize(PCIDevice *dev, Error **errp)
{
ERRP_GUARD();
@@ -416,17 +397,27 @@ static void piix3_xen_class_init(ObjectClass *klass, void
*data)
k->realize = piix3_xen_realize;
}
-static const TypeInfo piix3_xen_info = {
- .name = TYPE_PIIX3_XEN_DEVICE,
- .parent = TYPE_PIIX3_PCI_DEVICE,
- .class_init = piix3_xen_class_init,
+static const TypeInfo piix_isa_types[] = {
+ {
+ .name = TYPE_PIIX3_PCI_DEVICE,
+ .parent = TYPE_PCI_DEVICE,
+ .instance_size = sizeof(PIIX3State),
+ .class_init = pci_piix3_class_init,
+ .abstract = true,
+ .interfaces = (InterfaceInfo[]) {
+ { INTERFACE_CONVENTIONAL_PCI_DEVICE },
+ { TYPE_ACPI_DEV_AML_IF },
+ { },
+ },
+ }, {
+ .name = TYPE_PIIX3_DEVICE,
+ .parent = TYPE_PIIX3_PCI_DEVICE,
+ .class_init = piix3_class_init,
+ }, {
+ .name = TYPE_PIIX3_XEN_DEVICE,
+ .parent = TYPE_PIIX3_PCI_DEVICE,
+ .class_init = piix3_xen_class_init,
+ }
};
-static void piix3_register_types(void)
-{
- type_register_static(&piix3_pci_type_info);
- type_register_static(&piix3_info);
- type_register_static(&piix3_xen_info);
-}
-
-type_init(piix3_register_types)
+DEFINE_TYPES(piix_isa_types)
--
2.38.1
- [PATCH v3 06/18] hw/ide/piix: Ensure IDE output IRQs are wired at realization, (continued)
- [PATCH v3 06/18] hw/ide/piix: Ensure IDE output IRQs are wired at realization, Philippe Mathieu-Daudé, 2023/03/02
- [PATCH v3 07/18] hw/isa: Deprecate isa_get_irq() in favor of isa_bus_get_irq(), Philippe Mathieu-Daudé, 2023/03/02
- [PATCH v3 08/18] hw/ide: Introduce generic ide_init_ioport(), Philippe Mathieu-Daudé, 2023/03/02
- [PATCH v3 09/18] hw/ide/piix: Use generic ide_bus_init_ioport(), Philippe Mathieu-Daudé, 2023/03/02
- [PATCH v3 10/18] hw/isa: Ensure isa_register_portio_list() do not get NULL ISA device, Philippe Mathieu-Daudé, 2023/03/02
- [PATCH v3 11/18] hw/isa: Simplify isa_address_space[_io](), Philippe Mathieu-Daudé, 2023/03/02
- [PATCH v3 12/18] hw/isa: Reduce 'isabus' singleton scope to isa_bus_new(), Philippe Mathieu-Daudé, 2023/03/02
- [PATCH v3 13/18] exec/ioport: Factor portio_list_register_flush_coalesced() out, Philippe Mathieu-Daudé, 2023/03/02
- [PATCH v3 14/18] exec/ioport: Factor portio_list_register() out, Philippe Mathieu-Daudé, 2023/03/02
- [PATCH v3 15/18] hw/southbridge/piix: Use OBJECT_DECLARE_SIMPLE_TYPE() macro, Philippe Mathieu-Daudé, 2023/03/02
- [PATCH v3 16/18] hw/isa/piix: Batch register QOM types using DEFINE_TYPES() macro,
Philippe Mathieu-Daudé <=
- [PATCH v3 17/18] hw/isa/piix: Unify QOM type name of PIIX ISA function, Philippe Mathieu-Daudé, 2023/03/02
- [PATCH v3 18/18] hw/isa/piix: Unify PIIX-ISA QOM type names using qdev aliases, Philippe Mathieu-Daudé, 2023/03/02
- Re: [PATCH v3 00/18] hw/ide: Untangle ISA/PCI abuses of ide_init_ioport(), Michael S. Tsirkin, 2023/03/02
- Re: [PATCH v3 00/18] hw/ide: Untangle ISA/PCI abuses of ide_init_ioport(), David Woodhouse, 2023/03/03
- Re: [PATCH v3 00/18] hw/ide: Untangle ISA/PCI abuses of ide_init_ioport(), BALATON Zoltan, 2023/03/03
- Re: [PATCH v3 00/18] hw/ide: Untangle ISA/PCI abuses of ide_init_ioport(), BALATON Zoltan, 2023/03/03