From cd6c4cf28b529aaee0367256d37f349e3b125818 Mon Sep 17 00:00:00 2001 From: Anthony Liguori Date: Fri, 16 Dec 2011 13:36:39 -0600 Subject: ssi: convert to QEMU Object Model Signed-off-by: Anthony Liguori --- hw/ssi.h | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'hw/ssi.h') diff --git a/hw/ssi.h b/hw/ssi.h index 24610a80cb..97aefa73c0 100644 --- a/hw/ssi.h +++ b/hw/ssi.h @@ -15,22 +15,30 @@ typedef struct SSISlave SSISlave; +#define TYPE_SSI_SLAVE "ssi-slave" +#define SSI_SLAVE(obj) \ + OBJECT_CHECK(SSISlave, (obj), TYPE_SSI_SLAVE) +#define SSI_SLAVE_CLASS(klass) \ + OBJECT_CLASS_CHECK(SSISlaveClass, (klass), TYPE_SSI_SLAVE) +#define SSI_SLAVE_GET_CLASS(obj) \ + OBJECT_GET_CLASS(SSISlaveClass, (obj), TYPE_SSI_SLAVE) + /* Slave devices. */ -typedef struct { - DeviceInfo qdev; +typedef struct SSISlaveClass { + DeviceClass parent_class; + int (*init)(SSISlave *dev); uint32_t (*transfer)(SSISlave *dev, uint32_t val); -} SSISlaveInfo; +} SSISlaveClass; struct SSISlave { DeviceState qdev; - SSISlaveInfo *info; }; #define SSI_SLAVE_FROM_QDEV(dev) DO_UPCAST(SSISlave, qdev, dev) #define FROM_SSI_SLAVE(type, dev) DO_UPCAST(type, ssidev, dev) -void ssi_register_slave(SSISlaveInfo *info); +void ssi_register_slave(DeviceInfo *info); DeviceState *ssi_create_slave(SSIBus *bus, const char *name); -- cgit v1.2.3