Re: [Qemu-devel] [PATCH 5/6] xen_pt: QOMify

2015-05-13 Thread Stefano Stabellini
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
 
 



[Qemu-devel] [PATCH 5/6] xen_pt: QOMify

2015-05-12 Thread arei.gonglei
From: Gonglei arei.gong...@huawei.com

Cc: Stefano Stabellini stefano.stabell...@eu.citrix.com
Signed-off-by: Gonglei arei.gong...@huawei.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