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


Reply via email to