Introduce type constant and avoid DO_UPCAST(). Cc: Kevin Wolf <kw...@redhat.com> Cc: Paolo Bonzini <pbonz...@redhat.com> Cc: Jason Baron <jba...@redhat.com> Cc: Anthony Liguori <aligu...@us.ibm.com> Cc: "Andreas Färber" <afaer...@suse.de> Signed-off-by: Hu Tao <hu...@cn.fujitsu.com> --- hw/ide/ahci.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c index c2e4b8c..d37c094 100644 --- a/hw/ide/ahci.c +++ b/hw/ide/ahci.c @@ -1274,6 +1274,9 @@ const VMStateDescription vmstate_ahci = { }, }; +#define TYPE_SYSBUS_AHCI "sysbus-ahci" +#define SYSBUS_AHCI(obj) OBJECT_CHECK(SysbusAHCIState, (obj), TYPE_SYSBUS_AHCI) + typedef struct SysbusAHCIState { SysBusDevice busdev; AHCIState ahci; @@ -1281,7 +1284,7 @@ typedef struct SysbusAHCIState { } SysbusAHCIState; static const VMStateDescription vmstate_sysbus_ahci = { - .name = "sysbus-ahci", + .name = TYPE_SYSBUS_AHCI, .unmigratable = 1, /* Still buggy under I/O load */ .fields = (VMStateField []) { VMSTATE_AHCI(ahci, AHCIPCIState), @@ -1291,14 +1294,14 @@ static const VMStateDescription vmstate_sysbus_ahci = { static void sysbus_ahci_reset(DeviceState *dev) { - SysbusAHCIState *s = DO_UPCAST(SysbusAHCIState, busdev.qdev, dev); + SysbusAHCIState *s = SYSBUS_AHCI(dev); ahci_reset(&s->ahci); } static void sysbus_ahci_realize(DeviceState *dev, Error **errp) { - SysbusAHCIState *s = DO_UPCAST(SysbusAHCIState, busdev.qdev, dev); + SysbusAHCIState *s = SYSBUS_AHCI(dev); ahci_init(&s->ahci, dev, NULL, s->num_ports); sysbus_init_mmio(SYS_BUS_DEVICE(dev), &s->ahci.mem); @@ -1321,7 +1324,7 @@ static void sysbus_ahci_class_init(ObjectClass *klass, void *data) } static const TypeInfo sysbus_ahci_info = { - .name = "sysbus-ahci", + .name = TYPE_SYSBUS_AHCI, .parent = TYPE_SYS_BUS_DEVICE, .instance_size = sizeof(SysbusAHCIState), .class_init = sysbus_ahci_class_init, -- 1.8.3.1