Currently, the Typhoon has no additional class fields besides
its inheritance (PCIHostBridgeClass), so an explicit definition
of its class struct was unnecessary, and we simply used
OBJECT_DECLARE_SIMPLE_TYPE to declare its instance and class;
however, forthcoming changes will require additional Typhoon-specific
class fields.
This commit creates the Typhoon class definition, although it remains
a shell of its parent class for now.
Signed-off-by: Yodel Eldar <yodel.eldar@yodel.dev>
---
hw/alpha/alpha_sys.h | 8 +++++++-
hw/alpha/typhoon.c | 1 +
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/hw/alpha/alpha_sys.h b/hw/alpha/alpha_sys.h
index 8611881b55..794a47127d 100644
--- a/hw/alpha/alpha_sys.h
+++ b/hw/alpha/alpha_sys.h
@@ -5,11 +5,17 @@
#include "target/alpha/cpu-qom.h"
#include "hw/pci/pci.h"
+#include "hw/pci/pci_host.h"
#include "hw/core/boards.h"
#include "hw/intc/i8259.h"
#define TYPE_TYPHOON_PCI_HOST_BRIDGE "typhoon-pcihost"
-OBJECT_DECLARE_SIMPLE_TYPE(TyphoonState, TYPHOON_PCI_HOST_BRIDGE)
+
+typedef struct TyphoonClass {
+ PCIHostBridgeClass parent_class;
+} TyphoonClass;
+
+OBJECT_DECLARE_TYPE(TyphoonState, TyphoonClass, TYPHOON_PCI_HOST_BRIDGE)
PCIBus *typhoon_init(pci_map_irq_fn, uint8_t devfn_min, TyphoonState *);
diff --git a/hw/alpha/typhoon.c b/hw/alpha/typhoon.c
index 792ace5ce7..8745025319 100644
--- a/hw/alpha/typhoon.c
+++ b/hw/alpha/typhoon.c
@@ -976,6 +976,7 @@ static const TypeInfo typhoon_pcihost_info = {
.parent = TYPE_PCI_HOST_BRIDGE,
.instance_size = sizeof(TyphoonState),
.instance_init = typhoon_pcihost_init,
+ .class_size = sizeof(TyphoonClass),
.class_init = typhoon_pcihost_class_init,
};
--
2.53.0