The QOM types of AcpiGenericInitiator and AcpiGenericPort are declared by OBJECT_DECLARE_SIMPLE_TYPE, which means they don't need the class!
Therefore, use OBJECT_DEFINE_SIMPLE_TYPE_WITH_INTERFACES to implement the type, then there's no need for class definition. Cc: "Michael S. Tsirkin" <m...@redhat.com> Cc: Igor Mammedov <imamm...@redhat.com> Cc: Ani Sinha <anisi...@redhat.com> Signed-off-by: Zhao Liu <zhao1....@intel.com> --- hw/acpi/pci.c | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/hw/acpi/pci.c b/hw/acpi/pci.c index d511a8502954..acac6744525e 100644 --- a/hw/acpi/pci.c +++ b/hw/acpi/pci.c @@ -75,16 +75,12 @@ typedef struct AcpiGenericInitiator { uint32_t node; } AcpiGenericInitiator; -typedef struct AcpiGenericInitiatorClass { - ObjectClass parent_class; -} AcpiGenericInitiatorClass; - #define TYPE_ACPI_GENERIC_INITIATOR "acpi-generic-initiator" -OBJECT_DEFINE_TYPE_WITH_INTERFACES(AcpiGenericInitiator, acpi_generic_initiator, - ACPI_GENERIC_INITIATOR, OBJECT, - { TYPE_USER_CREATABLE }, - { NULL }) +OBJECT_DEFINE_SIMPLE_TYPE_WITH_INTERFACES(AcpiGenericInitiator, acpi_generic_initiator, + ACPI_GENERIC_INITIATOR, OBJECT, + { TYPE_USER_CREATABLE }, + { NULL }) OBJECT_DECLARE_SIMPLE_TYPE(AcpiGenericInitiator, ACPI_GENERIC_INITIATOR) @@ -191,16 +187,12 @@ typedef struct AcpiGenericPort { uint32_t node; } AcpiGenericPort; -typedef struct AcpiGenericPortClass { - ObjectClass parent_class; -} AcpiGenericPortClass; - #define TYPE_ACPI_GENERIC_PORT "acpi-generic-port" -OBJECT_DEFINE_TYPE_WITH_INTERFACES(AcpiGenericPort, acpi_generic_port, - ACPI_GENERIC_PORT, OBJECT, - { TYPE_USER_CREATABLE }, - { NULL }) +OBJECT_DEFINE_SIMPLE_TYPE_WITH_INTERFACES(AcpiGenericPort, acpi_generic_port, + ACPI_GENERIC_PORT, OBJECT, + { TYPE_USER_CREATABLE }, + { NULL }) OBJECT_DECLARE_SIMPLE_TYPE(AcpiGenericPort, ACPI_GENERIC_PORT) -- 2.34.1