qdev/prop: convert etraxfs_pic.c to helper macros.
authorGerd Hoffmann <kraxel@redhat.com>
Mon, 3 Aug 2009 15:35:24 +0000 (17:35 +0200)
committerAnthony Liguori <aliguori@us.ibm.com>
Mon, 10 Aug 2009 18:05:51 +0000 (13:05 -0500)
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Message-Id:

hw/etraxfs_pic.c

index e627218..4527d98 100644 (file)
@@ -39,7 +39,7 @@
 struct etrax_pic
 {
     SysBusDevice busdev;
-    uint32_t *interrupt_vector;
+    void *interrupt_vector;
     qemu_irq parent_irq;
     qemu_irq parent_nmi;
     uint32_t regs[R_MAX];
@@ -71,7 +71,8 @@ static void pic_update(struct etrax_pic *fs)
     }
 
     if (fs->interrupt_vector) {
-        *fs->interrupt_vector = vector;
+        /* hack alert: ptr property */
+        *(uint32_t*)(fs->interrupt_vector) = vector;
     }
     qemu_set_irq(fs->parent_irq, !!vector);
 }
@@ -153,12 +154,8 @@ static SysBusDeviceInfo etraxfs_pic_info = {
     .qdev.name  = "etraxfs,pic",
     .qdev.size  = sizeof(struct etrax_pic),
     .qdev.props = (Property[]) {
-        {
-            .name   = "interrupt_vector",
-            .info   = &qdev_prop_ptr,
-            .offset = offsetof(struct etrax_pic, interrupt_vector),
-        },
-        {/* end of list */}
+        DEFINE_PROP_PTR("interrupt_vector", struct etrax_pic, interrupt_vector),
+        DEFINE_PROP_END_OF_LIST(),
     }
 };