On Wed, 13 May 2015, arei.gong...@huawei.com wrote:
From: Gonglei arei.gong...@huawei.com
Cc: Stefano Stabellini stefano.stabell...@eu.citrix.com
Signed-off-by: Gonglei arei.gong...@huawei.com
Tested-by: Stefano Stabellini stefano.stabell...@eu.citrix.com
hw/xen/xen_pt.c | 10 +-
hw/xen/xen_pt.h | 4
2 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/hw/xen/xen_pt.c b/hw/xen/xen_pt.c
index d095c08..6674974 100644
--- a/hw/xen/xen_pt.c
+++ b/hw/xen/xen_pt.c
@@ -125,7 +125,7 @@ int xen_pt_bar_offset_to_index(uint32_t offset)
static uint32_t xen_pt_pci_read_config(PCIDevice *d, uint32_t addr, int len)
{
-XenPCIPassthroughState *s = DO_UPCAST(XenPCIPassthroughState, dev, d);
+XenPCIPassthroughState *s = XEN_PT_DEVICE(d);
uint32_t val = 0;
XenPTRegGroup *reg_grp_entry = NULL;
XenPTReg *reg_entry = NULL;
@@ -230,7 +230,7 @@ exit:
static void xen_pt_pci_write_config(PCIDevice *d, uint32_t addr,
uint32_t val, int len)
{
-XenPCIPassthroughState *s = DO_UPCAST(XenPCIPassthroughState, dev, d);
+XenPCIPassthroughState *s = XEN_PT_DEVICE(d);
int index = 0;
XenPTRegGroup *reg_grp_entry = NULL;
int rc = 0;
@@ -637,7 +637,7 @@ static const MemoryListener xen_pt_io_listener = {
static int xen_pt_initfn(PCIDevice *d)
{
-XenPCIPassthroughState *s = DO_UPCAST(XenPCIPassthroughState, dev, d);
+XenPCIPassthroughState *s = XEN_PT_DEVICE(d);
int rc = 0;
uint8_t machine_irq = 0;
uint16_t cmd = 0;
@@ -755,7 +755,7 @@ out:
static void xen_pt_unregister_device(PCIDevice *d)
{
-XenPCIPassthroughState *s = DO_UPCAST(XenPCIPassthroughState, dev, d);
+XenPCIPassthroughState *s = XEN_PT_DEVICE(d);
uint8_t machine_irq = s-machine_irq;
uint8_t intx = xen_pt_pci_intx(s);
int rc;
@@ -825,7 +825,7 @@ static void xen_pci_passthrough_class_init(ObjectClass
*klass, void *data)
};
static const TypeInfo xen_pci_passthrough_info = {
-.name = xen-pci-passthrough,
+.name = TYPE_XEN_PT_DEVICE,
.parent = TYPE_PCI_DEVICE,
.instance_size = sizeof(XenPCIPassthroughState),
.class_init = xen_pci_passthrough_class_init,
diff --git a/hw/xen/xen_pt.h b/hw/xen/xen_pt.h
index 942dc60..e744a3c 100644
--- a/hw/xen/xen_pt.h
+++ b/hw/xen/xen_pt.h
@@ -36,6 +36,10 @@ typedef struct XenPTReg XenPTReg;
typedef struct XenPCIPassthroughState XenPCIPassthroughState;
+#define TYPE_XEN_PT_DEVICE xen-pci-passthrough
+#define XEN_PT_DEVICE(obj) \
+OBJECT_CHECK(XenPCIPassthroughState, (obj), TYPE_XEN_PT_DEVICE)
+
/* function type for config reg */
typedef int (*xen_pt_conf_reg_init)
(XenPCIPassthroughState *, XenPTRegInfo *, uint32_t real_offset,
--
1.7.12.4