All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH qom-next for-1.6 0/8] display: QOM cast cleanups
@ 2013-07-24 23:16 Andreas Färber
  2013-07-24 23:16 ` [Qemu-devel] [PATCH qom-next for-1.6 1/8] exynos4210_fimd: QOM cast cleanup Andreas Färber
                   ` (8 more replies)
  0 siblings, 9 replies; 13+ messages in thread
From: Andreas Färber @ 2013-07-24 23:16 UTC (permalink / raw)
  To: qemu-devel; +Cc: Hu Tao, Andreas Färber

Hello,

This series eliminates FROM_SYSBUS() in hw/display/.

Regards,
Andreas

Cc: Hu Tao <hutao@cn.fujitsu.com>

Andreas Färber (8):
  exynos4210_fimd: QOM cast cleanup
  g364fb: QOM cast cleanup
  jazz_led: QOM cast cleanups
  milkymist-tmu2: QOM cast cleanups
  milkymist-vgafb: QOM cast cleanups
  pl110: Rename pl110_state to PL110State
  pl110: QOM'ify pl110, pl110_versatile and pl111
  tcx: QOM cast cleanups

 hw/display/exynos4210_fimd.c |  18 ++++---
 hw/display/g364fb.c          |  25 +++++----
 hw/display/jazz_led.c        |  12 +++--
 hw/display/milkymist-tmu2.c  |  13 +++--
 hw/display/milkymist-vgafb.c |  17 ++++--
 hw/display/pl110.c           | 125 +++++++++++++++++++------------------------
 hw/display/tcx.c             |  12 +++--
 7 files changed, 121 insertions(+), 101 deletions(-)

-- 
1.8.1.4

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Qemu-devel] [PATCH qom-next for-1.6 1/8] exynos4210_fimd: QOM cast cleanup
  2013-07-24 23:16 [Qemu-devel] [PATCH qom-next for-1.6 0/8] display: QOM cast cleanups Andreas Färber
@ 2013-07-24 23:16 ` Andreas Färber
  2013-07-24 23:16 ` [Qemu-devel] [PATCH qom-next for-1.6 2/8] g364fb: " Andreas Färber
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 13+ messages in thread
From: Andreas Färber @ 2013-07-24 23:16 UTC (permalink / raw)
  To: qemu-devel
  Cc: Maksim Kozlov, Igor Mitsyanko, Andreas Färber,
	Evgeny Voevodin, Dmitry Solodkiy

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/display/exynos4210_fimd.c | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/hw/display/exynos4210_fimd.c b/hw/display/exynos4210_fimd.c
index eb168ea..65cca1d 100644
--- a/hw/display/exynos4210_fimd.c
+++ b/hw/display/exynos4210_fimd.c
@@ -292,8 +292,13 @@ struct Exynos4210fimdWindow {
     hwaddr fb_len;       /* Framebuffer length */
 };
 
+#define TYPE_EXYNOS4210_FIMD "exynos4210.fimd"
+#define EXYNOS4210_FIMD(obj) \
+    OBJECT_CHECK(Exynos4210fimdState, (obj), TYPE_EXYNOS4210_FIMD)
+
 typedef struct {
-    SysBusDevice busdev;
+    SysBusDevice parent_obj;
+
     MemoryRegion iomem;
     QemuConsole *console;
     qemu_irq irq[3];
@@ -1108,6 +1113,7 @@ static inline int fimd_get_buffer_id(Exynos4210fimdWindow *w)
  * VIDOSDA, VIDOSDB, VIDWADDx and SHADOWCON registers */
 static void fimd_update_memory_section(Exynos4210fimdState *s, unsigned win)
 {
+    SysBusDevice *sbd = SYS_BUS_DEVICE(s);
     Exynos4210fimdWindow *w = &s->window[win];
     hwaddr fb_start_addr, fb_mapped_len;
 
@@ -1131,8 +1137,8 @@ static void fimd_update_memory_section(Exynos4210fimdState *s, unsigned win)
      * does not support hot-unplug.
      */
     memory_region_unref(w->mem_section.mr);
-    w->mem_section = memory_region_find(sysbus_address_space(&s->busdev),
-            fb_start_addr, w->fb_len);
+    w->mem_section = memory_region_find(sysbus_address_space(sbd),
+                                        fb_start_addr, w->fb_len);
     assert(w->mem_section.mr);
     assert(w->mem_section.offset_within_address_space == fb_start_addr);
     DPRINT_TRACE("Window %u framebuffer changed: address=0x%08x, len=0x%x\n",
@@ -1328,7 +1334,7 @@ static void exynos4210_fimd_update(void *opaque)
 
 static void exynos4210_fimd_reset(DeviceState *d)
 {
-    Exynos4210fimdState *s = DO_UPCAST(Exynos4210fimdState, busdev.qdev, d);
+    Exynos4210fimdState *s = EXYNOS4210_FIMD(d);
     unsigned w;
 
     DPRINT_TRACE("Display controller reset\n");
@@ -1900,7 +1906,7 @@ static const GraphicHwOps exynos4210_fimd_ops = {
 
 static int exynos4210_fimd_init(SysBusDevice *dev)
 {
-    Exynos4210fimdState *s = FROM_SYSBUS(Exynos4210fimdState, dev);
+    Exynos4210fimdState *s = EXYNOS4210_FIMD(dev);
 
     s->ifb = NULL;
 
@@ -1927,7 +1933,7 @@ static void exynos4210_fimd_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo exynos4210_fimd_info = {
-    .name = "exynos4210.fimd",
+    .name = TYPE_EXYNOS4210_FIMD,
     .parent = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(Exynos4210fimdState),
     .class_init = exynos4210_fimd_class_init,
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Qemu-devel] [PATCH qom-next for-1.6 2/8] g364fb: QOM cast cleanup
  2013-07-24 23:16 [Qemu-devel] [PATCH qom-next for-1.6 0/8] display: QOM cast cleanups Andreas Färber
  2013-07-24 23:16 ` [Qemu-devel] [PATCH qom-next for-1.6 1/8] exynos4210_fimd: QOM cast cleanup Andreas Färber
@ 2013-07-24 23:16 ` Andreas Färber
  2013-07-24 23:16 ` [Qemu-devel] [PATCH qom-next for-1.6 3/8] jazz_led: QOM cast cleanups Andreas Färber
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 13+ messages in thread
From: Andreas Färber @ 2013-07-24 23:16 UTC (permalink / raw)
  To: qemu-devel; +Cc: Andreas Färber

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/display/g364fb.c | 25 ++++++++++++++++---------
 1 file changed, 16 insertions(+), 9 deletions(-)

diff --git a/hw/display/g364fb.c b/hw/display/g364fb.c
index 79a0a50..a24a882 100644
--- a/hw/display/g364fb.c
+++ b/hw/display/g364fb.c
@@ -493,26 +493,33 @@ static void g364fb_init(DeviceState *dev, G364State *s)
     memory_region_set_coalescing(&s->mem_vram);
 }
 
+#define TYPE_G364 "sysbus-g364"
+#define G364(obj) OBJECT_CHECK(G364SysBusState, (obj), TYPE_G364)
+
 typedef struct {
-    SysBusDevice busdev;
+    SysBusDevice parent_obj;
+
     G364State g364;
 } G364SysBusState;
 
-static int g364fb_sysbus_init(SysBusDevice *dev)
+static int g364fb_sysbus_init(SysBusDevice *sbd)
 {
-    G364State *s = &FROM_SYSBUS(G364SysBusState, dev)->g364;
+    DeviceState *dev = DEVICE(sbd);
+    G364SysBusState *sbs = G364(dev);
+    G364State *s = &sbs->g364;
 
-    g364fb_init(&dev->qdev, s);
-    sysbus_init_irq(dev, &s->irq);
-    sysbus_init_mmio(dev, &s->mem_ctrl);
-    sysbus_init_mmio(dev, &s->mem_vram);
+    g364fb_init(dev, s);
+    sysbus_init_irq(sbd, &s->irq);
+    sysbus_init_mmio(sbd, &s->mem_ctrl);
+    sysbus_init_mmio(sbd, &s->mem_vram);
 
     return 0;
 }
 
 static void g364fb_sysbus_reset(DeviceState *d)
 {
-    G364SysBusState *s = DO_UPCAST(G364SysBusState, busdev.qdev, d);
+    G364SysBusState *s = G364(d);
+
     g364fb_reset(&s->g364);
 }
 
@@ -535,7 +542,7 @@ static void g364fb_sysbus_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo g364fb_sysbus_info = {
-    .name          = "sysbus-g364",
+    .name          = TYPE_G364,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(G364SysBusState),
     .class_init    = g364fb_sysbus_class_init,
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Qemu-devel] [PATCH qom-next for-1.6 3/8] jazz_led: QOM cast cleanups
  2013-07-24 23:16 [Qemu-devel] [PATCH qom-next for-1.6 0/8] display: QOM cast cleanups Andreas Färber
  2013-07-24 23:16 ` [Qemu-devel] [PATCH qom-next for-1.6 1/8] exynos4210_fimd: QOM cast cleanup Andreas Färber
  2013-07-24 23:16 ` [Qemu-devel] [PATCH qom-next for-1.6 2/8] g364fb: " Andreas Färber
@ 2013-07-24 23:16 ` Andreas Färber
  2013-07-24 23:16 ` [Qemu-devel] [PATCH qom-next for-1.6 4/8] milkymist-tmu2: " Andreas Färber
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 13+ messages in thread
From: Andreas Färber @ 2013-07-24 23:16 UTC (permalink / raw)
  To: qemu-devel; +Cc: Andreas Färber

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/display/jazz_led.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/hw/display/jazz_led.c b/hw/display/jazz_led.c
index 7f82037..8407e6c 100644
--- a/hw/display/jazz_led.c
+++ b/hw/display/jazz_led.c
@@ -32,8 +32,12 @@ typedef enum {
     REDRAW_NONE = 0, REDRAW_SEGMENTS = 1, REDRAW_BACKGROUND = 2,
 } screen_state_t;
 
+#define TYPE_JAZZ_LED "jazz-led"
+#define JAZZ_LED(obj) OBJECT_CHECK(LedState, (obj), TYPE_JAZZ_LED)
+
 typedef struct LedState {
-    SysBusDevice busdev;
+    SysBusDevice parent_obj;
+
     MemoryRegion iomem;
     uint8_t segments;
     QemuConsole *con;
@@ -262,7 +266,7 @@ static const GraphicHwOps jazz_led_ops = {
 
 static int jazz_led_init(SysBusDevice *dev)
 {
-    LedState *s = FROM_SYSBUS(LedState, dev);
+    LedState *s = JAZZ_LED(dev);
 
     memory_region_init_io(&s->iomem, OBJECT(s), &led_ops, s, "led", 1);
     sysbus_init_mmio(dev, &s->iomem);
@@ -274,7 +278,7 @@ static int jazz_led_init(SysBusDevice *dev)
 
 static void jazz_led_reset(DeviceState *d)
 {
-    LedState *s = DO_UPCAST(LedState, busdev.qdev, d);
+    LedState *s = JAZZ_LED(d);
 
     s->segments = 0;
     s->state = REDRAW_SEGMENTS | REDRAW_BACKGROUND;
@@ -293,7 +297,7 @@ static void jazz_led_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo jazz_led_info = {
-    .name          = "jazz-led",
+    .name          = TYPE_JAZZ_LED,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(LedState),
     .class_init    = jazz_led_class_init,
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Qemu-devel] [PATCH qom-next for-1.6 4/8] milkymist-tmu2: QOM cast cleanups
  2013-07-24 23:16 [Qemu-devel] [PATCH qom-next for-1.6 0/8] display: QOM cast cleanups Andreas Färber
                   ` (2 preceding siblings ...)
  2013-07-24 23:16 ` [Qemu-devel] [PATCH qom-next for-1.6 3/8] jazz_led: QOM cast cleanups Andreas Färber
@ 2013-07-24 23:16 ` Andreas Färber
  2013-07-24 23:16 ` [Qemu-devel] [PATCH qom-next for-1.6 5/8] milkymist-vgafb: " Andreas Färber
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 13+ messages in thread
From: Andreas Färber @ 2013-07-24 23:16 UTC (permalink / raw)
  To: qemu-devel; +Cc: Andreas Färber

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/display/milkymist-tmu2.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/hw/display/milkymist-tmu2.c b/hw/display/milkymist-tmu2.c
index efda082..b2a5fba 100644
--- a/hw/display/milkymist-tmu2.c
+++ b/hw/display/milkymist-tmu2.c
@@ -75,8 +75,13 @@ struct vertex {
     int y;
 } QEMU_PACKED;
 
+#define TYPE_MILKYMIST_TMU2 "milkymist-tmu2"
+#define MILKYMIST_TMU2(obj) \
+    OBJECT_CHECK(MilkymistTMU2State, (obj), TYPE_MILKYMIST_TMU2)
+
 struct MilkymistTMU2State {
-    SysBusDevice busdev;
+    SysBusDevice parent_obj;
+
     MemoryRegion regs_region;
     CharDriverState *chr;
     qemu_irq irq;
@@ -429,7 +434,7 @@ static const MemoryRegionOps tmu2_mmio_ops = {
 
 static void milkymist_tmu2_reset(DeviceState *d)
 {
-    MilkymistTMU2State *s = container_of(d, MilkymistTMU2State, busdev.qdev);
+    MilkymistTMU2State *s = MILKYMIST_TMU2(d);
     int i;
 
     for (i = 0; i < R_MAX; i++) {
@@ -439,7 +444,7 @@ static void milkymist_tmu2_reset(DeviceState *d)
 
 static int milkymist_tmu2_init(SysBusDevice *dev)
 {
-    MilkymistTMU2State *s = FROM_SYSBUS(typeof(*s), dev);
+    MilkymistTMU2State *s = MILKYMIST_TMU2(dev);
 
     if (tmu2_glx_init(s)) {
         return 1;
@@ -476,7 +481,7 @@ static void milkymist_tmu2_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo milkymist_tmu2_info = {
-    .name          = "milkymist-tmu2",
+    .name          = TYPE_MILKYMIST_TMU2,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(MilkymistTMU2State),
     .class_init    = milkymist_tmu2_class_init,
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Qemu-devel] [PATCH qom-next for-1.6 5/8] milkymist-vgafb: QOM cast cleanups
  2013-07-24 23:16 [Qemu-devel] [PATCH qom-next for-1.6 0/8] display: QOM cast cleanups Andreas Färber
                   ` (3 preceding siblings ...)
  2013-07-24 23:16 ` [Qemu-devel] [PATCH qom-next for-1.6 4/8] milkymist-tmu2: " Andreas Färber
@ 2013-07-24 23:16 ` Andreas Färber
  2013-07-24 23:16 ` [Qemu-devel] [PATCH qom-next for-1.6 6/8] pl110: Rename pl110_state to PL110State Andreas Färber
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 13+ messages in thread
From: Andreas Färber @ 2013-07-24 23:16 UTC (permalink / raw)
  To: qemu-devel; +Cc: Andreas Färber

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/display/milkymist-vgafb.c | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/hw/display/milkymist-vgafb.c b/hw/display/milkymist-vgafb.c
index 870b339..5150cb4 100644
--- a/hw/display/milkymist-vgafb.c
+++ b/hw/display/milkymist-vgafb.c
@@ -63,8 +63,13 @@ enum {
     CTRL_RESET = (1<<0),
 };
 
+#define TYPE_MILKYMIST_VGAFB "milkymist-vgafb"
+#define MILKYMIST_VGAFB(obj) \
+    OBJECT_CHECK(MilkymistVgafbState, (obj), TYPE_MILKYMIST_VGAFB)
+
 struct MilkymistVgafbState {
-    SysBusDevice busdev;
+    SysBusDevice parent_obj;
+
     MemoryRegion regs_region;
     QemuConsole *con;
 
@@ -84,6 +89,7 @@ static int vgafb_enabled(MilkymistVgafbState *s)
 static void vgafb_update_display(void *opaque)
 {
     MilkymistVgafbState *s = opaque;
+    SysBusDevice *sbd;
     DisplaySurface *surface = qemu_console_surface(s->con);
     int first = 0;
     int last = 0;
@@ -93,6 +99,7 @@ static void vgafb_update_display(void *opaque)
         return;
     }
 
+    sbd = SYS_BUS_DEVICE(s);
     int dest_width = s->regs[R_HRES];
 
     switch (surface_bits_per_pixel(surface)) {
@@ -122,7 +129,7 @@ static void vgafb_update_display(void *opaque)
         break;
     }
 
-    framebuffer_update_display(surface, sysbus_address_space(&s->busdev),
+    framebuffer_update_display(surface, sysbus_address_space(sbd),
                                s->regs[R_BASEADDRESS] + s->fb_offset,
                                s->regs[R_HRES],
                                s->regs[R_VRES],
@@ -256,7 +263,7 @@ static const MemoryRegionOps vgafb_mmio_ops = {
 
 static void milkymist_vgafb_reset(DeviceState *d)
 {
-    MilkymistVgafbState *s = container_of(d, MilkymistVgafbState, busdev.qdev);
+    MilkymistVgafbState *s = MILKYMIST_VGAFB(d);
     int i;
 
     for (i = 0; i < R_MAX; i++) {
@@ -277,7 +284,7 @@ static const GraphicHwOps vgafb_ops = {
 
 static int milkymist_vgafb_init(SysBusDevice *dev)
 {
-    MilkymistVgafbState *s = FROM_SYSBUS(typeof(*s), dev);
+    MilkymistVgafbState *s = MILKYMIST_VGAFB(dev);
 
     memory_region_init_io(&s->regs_region, OBJECT(s), &vgafb_mmio_ops, s,
             "milkymist-vgafb", R_MAX * 4);
@@ -324,7 +331,7 @@ static void milkymist_vgafb_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo milkymist_vgafb_info = {
-    .name          = "milkymist-vgafb",
+    .name          = TYPE_MILKYMIST_VGAFB,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(MilkymistVgafbState),
     .class_init    = milkymist_vgafb_class_init,
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Qemu-devel] [PATCH qom-next for-1.6 6/8] pl110: Rename pl110_state to PL110State
  2013-07-24 23:16 [Qemu-devel] [PATCH qom-next for-1.6 0/8] display: QOM cast cleanups Andreas Färber
                   ` (4 preceding siblings ...)
  2013-07-24 23:16 ` [Qemu-devel] [PATCH qom-next for-1.6 5/8] milkymist-vgafb: " Andreas Färber
@ 2013-07-24 23:16 ` Andreas Färber
  2013-07-24 23:16 ` [Qemu-devel] [PATCH qom-next for-1.6 7/8] pl110: QOM'ify pl110, pl110_versatile and pl111 Andreas Färber
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 13+ messages in thread
From: Andreas Färber @ 2013-07-24 23:16 UTC (permalink / raw)
  To: qemu-devel; +Cc: Andreas Färber

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/display/pl110.c | 64 +++++++++++++++++++++++++++---------------------------
 1 file changed, 32 insertions(+), 32 deletions(-)

diff --git a/hw/display/pl110.c b/hw/display/pl110.c
index 60afcf3..7c2cd36 100644
--- a/hw/display/pl110.c
+++ b/hw/display/pl110.c
@@ -39,7 +39,7 @@ enum pl110_version
     PL111
 };
 
-typedef struct {
+typedef struct PL110State {
     SysBusDevice busdev;
     MemoryRegion iomem;
     QemuConsole *con;
@@ -59,7 +59,7 @@ typedef struct {
     uint32_t palette[256];
     uint32_t raw_palette[128];
     qemu_irq irq;
-} pl110_state;
+} PL110State;
 
 static int vmstate_pl110_post_load(void *opaque, int version_id);
 
@@ -69,20 +69,20 @@ static const VMStateDescription vmstate_pl110 = {
     .minimum_version_id = 1,
     .post_load = vmstate_pl110_post_load,
     .fields = (VMStateField[]) {
-        VMSTATE_INT32(version, pl110_state),
-        VMSTATE_UINT32_ARRAY(timing, pl110_state, 4),
-        VMSTATE_UINT32(cr, pl110_state),
-        VMSTATE_UINT32(upbase, pl110_state),
-        VMSTATE_UINT32(lpbase, pl110_state),
-        VMSTATE_UINT32(int_status, pl110_state),
-        VMSTATE_UINT32(int_mask, pl110_state),
-        VMSTATE_INT32(cols, pl110_state),
-        VMSTATE_INT32(rows, pl110_state),
-        VMSTATE_UINT32(bpp, pl110_state),
-        VMSTATE_INT32(invalidate, pl110_state),
-        VMSTATE_UINT32_ARRAY(palette, pl110_state, 256),
-        VMSTATE_UINT32_ARRAY(raw_palette, pl110_state, 128),
-        VMSTATE_UINT32_V(mux_ctrl, pl110_state, 2),
+        VMSTATE_INT32(version, PL110State),
+        VMSTATE_UINT32_ARRAY(timing, PL110State, 4),
+        VMSTATE_UINT32(cr, PL110State),
+        VMSTATE_UINT32(upbase, PL110State),
+        VMSTATE_UINT32(lpbase, PL110State),
+        VMSTATE_UINT32(int_status, PL110State),
+        VMSTATE_UINT32(int_mask, PL110State),
+        VMSTATE_INT32(cols, PL110State),
+        VMSTATE_INT32(rows, PL110State),
+        VMSTATE_UINT32(bpp, PL110State),
+        VMSTATE_INT32(invalidate, PL110State),
+        VMSTATE_UINT32_ARRAY(palette, PL110State, 256),
+        VMSTATE_UINT32_ARRAY(raw_palette, PL110State, 128),
+        VMSTATE_UINT32_V(mux_ctrl, PL110State, 2),
         VMSTATE_END_OF_LIST()
     }
 };
@@ -121,14 +121,14 @@ static const unsigned char *idregs[] = {
 #define BITS 32
 #include "pl110_template.h"
 
-static int pl110_enabled(pl110_state *s)
+static int pl110_enabled(PL110State *s)
 {
   return (s->cr & PL110_CR_EN) && (s->cr & PL110_CR_PWR);
 }
 
 static void pl110_update_display(void *opaque)
 {
-    pl110_state *s = (pl110_state *)opaque;
+    PL110State *s = (PL110State *)opaque;
     DisplaySurface *surface = qemu_console_surface(s->con);
     drawfn* fntable;
     drawfn fn;
@@ -246,14 +246,14 @@ static void pl110_update_display(void *opaque)
 
 static void pl110_invalidate_display(void * opaque)
 {
-    pl110_state *s = (pl110_state *)opaque;
+    PL110State *s = (PL110State *)opaque;
     s->invalidate = 1;
     if (pl110_enabled(s)) {
         qemu_console_resize(s->con, s->cols, s->rows);
     }
 }
 
-static void pl110_update_palette(pl110_state *s, int n)
+static void pl110_update_palette(PL110State *s, int n)
 {
     DisplaySurface *surface = qemu_console_surface(s->con);
     int i;
@@ -289,7 +289,7 @@ static void pl110_update_palette(pl110_state *s, int n)
     }
 }
 
-static void pl110_resize(pl110_state *s, int width, int height)
+static void pl110_resize(PL110State *s, int width, int height)
 {
     if (width != s->cols || height != s->rows) {
         if (pl110_enabled(s)) {
@@ -301,7 +301,7 @@ static void pl110_resize(pl110_state *s, int width, int height)
 }
 
 /* Update interrupts.  */
-static void pl110_update(pl110_state *s)
+static void pl110_update(PL110State *s)
 {
   /* TODO: Implement interrupts.  */
 }
@@ -309,7 +309,7 @@ static void pl110_update(pl110_state *s)
 static uint64_t pl110_read(void *opaque, hwaddr offset,
                            unsigned size)
 {
-    pl110_state *s = (pl110_state *)opaque;
+    PL110State *s = (PL110State *)opaque;
 
     if (offset >= 0xfe0 && offset < 0x1000) {
         return idregs[s->version][(offset - 0xfe0) >> 2];
@@ -359,7 +359,7 @@ static uint64_t pl110_read(void *opaque, hwaddr offset,
 static void pl110_write(void *opaque, hwaddr offset,
                         uint64_t val, unsigned size)
 {
-    pl110_state *s = (pl110_state *)opaque;
+    PL110State *s = (PL110State *)opaque;
     int n;
 
     /* For simplicity invalidate the display whenever a control register
@@ -432,13 +432,13 @@ static const MemoryRegionOps pl110_ops = {
 
 static void pl110_mux_ctrl_set(void *opaque, int line, int level)
 {
-    pl110_state *s = (pl110_state *)opaque;
+    PL110State *s = (PL110State *)opaque;
     s->mux_ctrl = level;
 }
 
 static int vmstate_pl110_post_load(void *opaque, int version_id)
 {
-    pl110_state *s = opaque;
+    PL110State *s = opaque;
     /* Make sure we redraw, and at the right size */
     pl110_invalidate_display(s);
     return 0;
@@ -451,7 +451,7 @@ static const GraphicHwOps pl110_gfx_ops = {
 
 static int pl110_init(SysBusDevice *dev)
 {
-    pl110_state *s = FROM_SYSBUS(pl110_state, dev);
+    PL110State *s = FROM_SYSBUS(PL110State, dev);
 
     memory_region_init_io(&s->iomem, OBJECT(s), &pl110_ops, s, "pl110", 0x1000);
     sysbus_init_mmio(dev, &s->iomem);
@@ -463,14 +463,14 @@ static int pl110_init(SysBusDevice *dev)
 
 static int pl110_versatile_init(SysBusDevice *dev)
 {
-    pl110_state *s = FROM_SYSBUS(pl110_state, dev);
+    PL110State *s = FROM_SYSBUS(PL110State, dev);
     s->version = PL110_VERSATILE;
     return pl110_init(dev);
 }
 
 static int pl111_init(SysBusDevice *dev)
 {
-    pl110_state *s = FROM_SYSBUS(pl110_state, dev);
+    PL110State *s = FROM_SYSBUS(PL110State, dev);
     s->version = PL111;
     return pl110_init(dev);
 }
@@ -488,7 +488,7 @@ static void pl110_class_init(ObjectClass *klass, void *data)
 static const TypeInfo pl110_info = {
     .name          = "pl110",
     .parent        = TYPE_SYS_BUS_DEVICE,
-    .instance_size = sizeof(pl110_state),
+    .instance_size = sizeof(PL110State),
     .class_init    = pl110_class_init,
 };
 
@@ -505,7 +505,7 @@ static void pl110_versatile_class_init(ObjectClass *klass, void *data)
 static const TypeInfo pl110_versatile_info = {
     .name          = "pl110_versatile",
     .parent        = TYPE_SYS_BUS_DEVICE,
-    .instance_size = sizeof(pl110_state),
+    .instance_size = sizeof(PL110State),
     .class_init    = pl110_versatile_class_init,
 };
 
@@ -522,7 +522,7 @@ static void pl111_class_init(ObjectClass *klass, void *data)
 static const TypeInfo pl111_info = {
     .name          = "pl111",
     .parent        = TYPE_SYS_BUS_DEVICE,
-    .instance_size = sizeof(pl110_state),
+    .instance_size = sizeof(PL110State),
     .class_init    = pl111_class_init,
 };
 
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Qemu-devel] [PATCH qom-next for-1.6 7/8] pl110: QOM'ify pl110, pl110_versatile and pl111
  2013-07-24 23:16 [Qemu-devel] [PATCH qom-next for-1.6 0/8] display: QOM cast cleanups Andreas Färber
                   ` (5 preceding siblings ...)
  2013-07-24 23:16 ` [Qemu-devel] [PATCH qom-next for-1.6 6/8] pl110: Rename pl110_state to PL110State Andreas Färber
@ 2013-07-24 23:16 ` Andreas Färber
  2013-07-26  2:58   ` Hu Tao
  2013-07-24 23:16 ` [Qemu-devel] [PATCH qom-next for-1.6 8/8] tcx: QOM cast cleanups Andreas Färber
  2013-07-26  3:05 ` [Qemu-devel] [PATCH qom-next for-1.6 0/8] display: " Hu Tao
  8 siblings, 1 reply; 13+ messages in thread
From: Andreas Färber @ 2013-07-24 23:16 UTC (permalink / raw)
  To: qemu-devel; +Cc: Andreas Färber

Let pl110_versatile and pl111 inherit from pl110 and use PL110() cast;
set their version index in an instance_init.

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/display/pl110.c | 71 ++++++++++++++++++++++--------------------------------
 1 file changed, 29 insertions(+), 42 deletions(-)

diff --git a/hw/display/pl110.c b/hw/display/pl110.c
index 7c2cd36..c774e46 100644
--- a/hw/display/pl110.c
+++ b/hw/display/pl110.c
@@ -39,8 +39,12 @@ enum pl110_version
     PL111
 };
 
+#define TYPE_PL110 "pl110"
+#define PL110(obj) OBJECT_CHECK(PL110State, (obj), TYPE_PL110)
+
 typedef struct PL110State {
-    SysBusDevice busdev;
+    SysBusDevice parent_obj;
+
     MemoryRegion iomem;
     QemuConsole *con;
 
@@ -129,6 +133,7 @@ static int pl110_enabled(PL110State *s)
 static void pl110_update_display(void *opaque)
 {
     PL110State *s = (PL110State *)opaque;
+    SysBusDevice *sbd;
     DisplaySurface *surface = qemu_console_surface(s->con);
     drawfn* fntable;
     drawfn fn;
@@ -138,8 +143,11 @@ static void pl110_update_display(void *opaque)
     int first;
     int last;
 
-    if (!pl110_enabled(s))
+    if (!pl110_enabled(s)) {
         return;
+    }
+
+    sbd = SYS_BUS_DEVICE(s);
 
     switch (surface_bits_per_pixel(surface)) {
     case 0:
@@ -232,7 +240,7 @@ static void pl110_update_display(void *opaque)
     }
     dest_width *= s->cols;
     first = 0;
-    framebuffer_update_display(surface, sysbus_address_space(&s->busdev),
+    framebuffer_update_display(surface, sysbus_address_space(sbd),
                                s->upbase, s->cols, s->rows,
                                src_width, dest_width, 0,
                                s->invalidate,
@@ -449,30 +457,31 @@ static const GraphicHwOps pl110_gfx_ops = {
     .gfx_update  = pl110_update_display,
 };
 
-static int pl110_init(SysBusDevice *dev)
+static int pl110_init(SysBusDevice *sbd)
 {
-    PL110State *s = FROM_SYSBUS(PL110State, dev);
+    DeviceState *dev = DEVICE(sbd);
+    PL110State *s = PL110(dev);
 
     memory_region_init_io(&s->iomem, OBJECT(s), &pl110_ops, s, "pl110", 0x1000);
-    sysbus_init_mmio(dev, &s->iomem);
-    sysbus_init_irq(dev, &s->irq);
-    qdev_init_gpio_in(&s->busdev.qdev, pl110_mux_ctrl_set, 1);
-    s->con = graphic_console_init(DEVICE(dev), &pl110_gfx_ops, s);
+    sysbus_init_mmio(sbd, &s->iomem);
+    sysbus_init_irq(sbd, &s->irq);
+    qdev_init_gpio_in(dev, pl110_mux_ctrl_set, 1);
+    s->con = graphic_console_init(dev, &pl110_gfx_ops, s);
     return 0;
 }
 
-static int pl110_versatile_init(SysBusDevice *dev)
+static void pl110_versatile_init(Object *obj)
 {
-    PL110State *s = FROM_SYSBUS(PL110State, dev);
+    PL110State *s = PL110(obj);
+
     s->version = PL110_VERSATILE;
-    return pl110_init(dev);
 }
 
-static int pl111_init(SysBusDevice *dev)
+static void pl111_init(Object *obj)
 {
-    PL110State *s = FROM_SYSBUS(PL110State, dev);
+    PL110State *s = PL110(obj);
+
     s->version = PL111;
-    return pl110_init(dev);
 }
 
 static void pl110_class_init(ObjectClass *klass, void *data)
@@ -486,44 +495,22 @@ static void pl110_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo pl110_info = {
-    .name          = "pl110",
+    .name          = TYPE_PL110,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(PL110State),
     .class_init    = pl110_class_init,
 };
 
-static void pl110_versatile_class_init(ObjectClass *klass, void *data)
-{
-    DeviceClass *dc = DEVICE_CLASS(klass);
-    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
-
-    k->init = pl110_versatile_init;
-    dc->no_user = 1;
-    dc->vmsd = &vmstate_pl110;
-}
-
 static const TypeInfo pl110_versatile_info = {
     .name          = "pl110_versatile",
-    .parent        = TYPE_SYS_BUS_DEVICE,
-    .instance_size = sizeof(PL110State),
-    .class_init    = pl110_versatile_class_init,
+    .parent        = TYPE_PL110,
+    .instance_init = pl110_versatile_init,
 };
 
-static void pl111_class_init(ObjectClass *klass, void *data)
-{
-    DeviceClass *dc = DEVICE_CLASS(klass);
-    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
-
-    k->init = pl111_init;
-    dc->no_user = 1;
-    dc->vmsd = &vmstate_pl110;
-}
-
 static const TypeInfo pl111_info = {
     .name          = "pl111",
-    .parent        = TYPE_SYS_BUS_DEVICE,
-    .instance_size = sizeof(PL110State),
-    .class_init    = pl111_class_init,
+    .parent        = TYPE_PL110,
+    .instance_init = pl111_init,
 };
 
 static void pl110_register_types(void)
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Qemu-devel] [PATCH qom-next for-1.6 8/8] tcx: QOM cast cleanups
  2013-07-24 23:16 [Qemu-devel] [PATCH qom-next for-1.6 0/8] display: QOM cast cleanups Andreas Färber
                   ` (6 preceding siblings ...)
  2013-07-24 23:16 ` [Qemu-devel] [PATCH qom-next for-1.6 7/8] pl110: QOM'ify pl110, pl110_versatile and pl111 Andreas Färber
@ 2013-07-24 23:16 ` Andreas Färber
  2013-07-26  3:05 ` [Qemu-devel] [PATCH qom-next for-1.6 0/8] display: " Hu Tao
  8 siblings, 0 replies; 13+ messages in thread
From: Andreas Färber @ 2013-07-24 23:16 UTC (permalink / raw)
  To: qemu-devel; +Cc: Andreas Färber

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/display/tcx.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/hw/display/tcx.c b/hw/display/tcx.c
index 9fd48b5..24876d3 100644
--- a/hw/display/tcx.c
+++ b/hw/display/tcx.c
@@ -34,8 +34,12 @@
 #define TCX_THC_NREGS_24 0x1000
 #define TCX_TEC_NREGS    0x1000
 
+#define TYPE_TCX "SUNW,tcx"
+#define TCX(obj) OBJECT_CHECK(TCXState, (obj), TYPE_TCX)
+
 typedef struct TCXState {
-    SysBusDevice busdev;
+    SysBusDevice parent_obj;
+
     QemuConsole *con;
     uint8_t *vram;
     uint32_t *vram24, *cplane;
@@ -423,7 +427,7 @@ static const VMStateDescription vmstate_tcx = {
 
 static void tcx_reset(DeviceState *d)
 {
-    TCXState *s = container_of(d, TCXState, busdev.qdev);
+    TCXState *s = TCX(d);
 
     /* Initialize palette */
     memset(s->r, 0, 256);
@@ -523,7 +527,7 @@ static const GraphicHwOps tcx24_ops = {
 
 static int tcx_init1(SysBusDevice *dev)
 {
-    TCXState *s = FROM_SYSBUS(TCXState, dev);
+    TCXState *s = TCX(dev);
     ram_addr_t vram_offset = 0;
     int size;
     uint8_t *vram_base;
@@ -609,7 +613,7 @@ static void tcx_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo tcx_info = {
-    .name          = "SUNW,tcx",
+    .name          = TYPE_TCX,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(TCXState),
     .class_init    = tcx_class_init,
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [Qemu-devel] [PATCH qom-next for-1.6 7/8] pl110: QOM'ify pl110, pl110_versatile and pl111
  2013-07-24 23:16 ` [Qemu-devel] [PATCH qom-next for-1.6 7/8] pl110: QOM'ify pl110, pl110_versatile and pl111 Andreas Färber
@ 2013-07-26  2:58   ` Hu Tao
  2013-07-26 12:40     ` Andreas Färber
  0 siblings, 1 reply; 13+ messages in thread
From: Hu Tao @ 2013-07-26  2:58 UTC (permalink / raw)
  To: Andreas Färber; +Cc: qemu-devel

On Thu, Jul 25, 2013 at 01:16:51AM +0200, Andreas Färber wrote:
> Let pl110_versatile and pl111 inherit from pl110 and use PL110() cast;
> set their version index in an instance_init.
> 
> Signed-off-by: Andreas Färber <afaerber@suse.de>
> ---
>  hw/display/pl110.c | 71 ++++++++++++++++++++++--------------------------------
>  1 file changed, 29 insertions(+), 42 deletions(-)
> 
  
<...>

> -static int pl110_init(SysBusDevice *dev)
> +static int pl110_init(SysBusDevice *sbd)
>  {
> -    PL110State *s = FROM_SYSBUS(PL110State, dev);
> +    DeviceState *dev = DEVICE(sbd);
> +    PL110State *s = PL110(dev);
>  
>      memory_region_init_io(&s->iomem, OBJECT(s), &pl110_ops, s, "pl110", 0x1000);
> -    sysbus_init_mmio(dev, &s->iomem);
> -    sysbus_init_irq(dev, &s->irq);
> -    qdev_init_gpio_in(&s->busdev.qdev, pl110_mux_ctrl_set, 1);
> -    s->con = graphic_console_init(DEVICE(dev), &pl110_gfx_ops, s);
> +    sysbus_init_mmio(sbd, &s->iomem);
> +    sysbus_init_irq(sbd, &s->irq);
> +    qdev_init_gpio_in(dev, pl110_mux_ctrl_set, 1);
> +    s->con = graphic_console_init(dev, &pl110_gfx_ops, s);
>      return 0;

Would it be better to explicitly set PL110 version? I know PL110 is 0,
but it's not like a normal variable which is always good to be
initialized to 0, assuming a version number is bad. (This is not a problem
of this patch)

>  }
>  
> -static int pl110_versatile_init(SysBusDevice *dev)
> +static void pl110_versatile_init(Object *obj)
>  {
> -    PL110State *s = FROM_SYSBUS(PL110State, dev);
> +    PL110State *s = PL110(obj);
> +
>      s->version = PL110_VERSATILE;
> -    return pl110_init(dev);
>  }

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Qemu-devel] [PATCH qom-next for-1.6 0/8] display: QOM cast cleanups
  2013-07-24 23:16 [Qemu-devel] [PATCH qom-next for-1.6 0/8] display: QOM cast cleanups Andreas Färber
                   ` (7 preceding siblings ...)
  2013-07-24 23:16 ` [Qemu-devel] [PATCH qom-next for-1.6 8/8] tcx: QOM cast cleanups Andreas Färber
@ 2013-07-26  3:05 ` Hu Tao
  8 siblings, 0 replies; 13+ messages in thread
From: Hu Tao @ 2013-07-26  3:05 UTC (permalink / raw)
  To: Andreas Färber; +Cc: qemu-devel

On Thu, Jul 25, 2013 at 01:16:44AM +0200, Andreas Färber wrote:
> Hello,
> 
> This series eliminates FROM_SYSBUS() in hw/display/.
> 
> Regards,
> Andreas
> 
> Cc: Hu Tao <hutao@cn.fujitsu.com>
> 
> Andreas Färber (8):
>   exynos4210_fimd: QOM cast cleanup
>   g364fb: QOM cast cleanup
>   jazz_led: QOM cast cleanups
>   milkymist-tmu2: QOM cast cleanups
>   milkymist-vgafb: QOM cast cleanups
>   pl110: Rename pl110_state to PL110State
>   pl110: QOM'ify pl110, pl110_versatile and pl111
>   tcx: QOM cast cleanups
> 
>  hw/display/exynos4210_fimd.c |  18 ++++---
>  hw/display/g364fb.c          |  25 +++++----
>  hw/display/jazz_led.c        |  12 +++--
>  hw/display/milkymist-tmu2.c  |  13 +++--
>  hw/display/milkymist-vgafb.c |  17 ++++--
>  hw/display/pl110.c           | 125 +++++++++++++++++++------------------------
>  hw/display/tcx.c             |  12 +++--
>  7 files changed, 121 insertions(+), 101 deletions(-)
> 
> -- 
> 1.8.1.4

Series Reviewed-by: Hu Tao <hutao@cn.fujitsu.com>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Qemu-devel] [PATCH qom-next for-1.6 7/8] pl110: QOM'ify pl110, pl110_versatile and pl111
  2013-07-26  2:58   ` Hu Tao
@ 2013-07-26 12:40     ` Andreas Färber
  2013-07-27 18:25       ` Andreas Färber
  0 siblings, 1 reply; 13+ messages in thread
From: Andreas Färber @ 2013-07-26 12:40 UTC (permalink / raw)
  To: Hu Tao; +Cc: qemu-devel

Am 26.07.2013 04:58, schrieb Hu Tao:
> On Thu, Jul 25, 2013 at 01:16:51AM +0200, Andreas Färber wrote:
>> Let pl110_versatile and pl111 inherit from pl110 and use PL110() cast;
>> set their version index in an instance_init.
>>
>> Signed-off-by: Andreas Färber <afaerber@suse.de>
>> ---
>>  hw/display/pl110.c | 71 ++++++++++++++++++++++--------------------------------
>>  1 file changed, 29 insertions(+), 42 deletions(-)
>>
>   
> <...>
> 
>> -static int pl110_init(SysBusDevice *dev)
>> +static int pl110_init(SysBusDevice *sbd)
>>  {
>> -    PL110State *s = FROM_SYSBUS(PL110State, dev);
>> +    DeviceState *dev = DEVICE(sbd);
>> +    PL110State *s = PL110(dev);
>>  
>>      memory_region_init_io(&s->iomem, OBJECT(s), &pl110_ops, s, "pl110", 0x1000);
>> -    sysbus_init_mmio(dev, &s->iomem);
>> -    sysbus_init_irq(dev, &s->irq);
>> -    qdev_init_gpio_in(&s->busdev.qdev, pl110_mux_ctrl_set, 1);
>> -    s->con = graphic_console_init(DEVICE(dev), &pl110_gfx_ops, s);
>> +    sysbus_init_mmio(sbd, &s->iomem);
>> +    sysbus_init_irq(sbd, &s->irq);
>> +    qdev_init_gpio_in(dev, pl110_mux_ctrl_set, 1);
>> +    s->con = graphic_console_init(dev, &pl110_gfx_ops, s);
>>      return 0;
> 
> Would it be better to explicitly set PL110 version? I know PL110 is 0,
> but it's not like a normal variable which is always good to be
> initialized to 0, assuming a version number is bad. (This is not a problem
> of this patch)

Sure, I can add such a no-op line. Thanks for your watchful review!

However I'd like to point out that these series are tailored for 1.6, so
I tried to go with a "safe" set of changes (e.g., leaving out most QOM
realize conversions). I think a post-1.6 cleanup would be to move such
static instance fields into a new PL110Class, set in different
..._class_init rather than ..._init functions.

Regards,
Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Qemu-devel] [PATCH qom-next for-1.6 7/8] pl110: QOM'ify pl110, pl110_versatile and pl111
  2013-07-26 12:40     ` Andreas Färber
@ 2013-07-27 18:25       ` Andreas Färber
  0 siblings, 0 replies; 13+ messages in thread
From: Andreas Färber @ 2013-07-27 18:25 UTC (permalink / raw)
  To: Hu Tao; +Cc: qemu-devel

[-- Attachment #1: Type: text/plain, Size: 618 bytes --]

Am 26.07.2013 14:40, schrieb Andreas Färber:
> Am 26.07.2013 04:58, schrieb Hu Tao:
>> Would it be better to explicitly set PL110 version? I know PL110 is 0,
>> but it's not like a normal variable which is always good to be
>> initialized to 0, assuming a version number is bad. (This is not a problem
>> of this patch)
> 
> Sure, I can add such a no-op line. Thanks for your watchful review!

Squashed the attached patch, that should address it.

Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

[-- Attachment #2: 00.diff --]
[-- Type: text/x-patch, Size: 1227 bytes --]

diff --git a/hw/display/pl110.c b/hw/display/pl110.c
index c774e46..58a8ff1 100644
--- a/hw/display/pl110.c
+++ b/hw/display/pl110.c
@@ -457,7 +457,7 @@ static const GraphicHwOps pl110_gfx_ops = {
     .gfx_update  = pl110_update_display,
 };
 
-static int pl110_init(SysBusDevice *sbd)
+static int pl110_initfn(SysBusDevice *sbd)
 {
     DeviceState *dev = DEVICE(sbd);
     PL110State *s = PL110(dev);
@@ -470,6 +470,13 @@ static int pl110_init(SysBusDevice *sbd)
     return 0;
 }
 
+static void pl110_init(Object *obj)
+{
+    PL110State *s = PL110(obj);
+
+    s->version = PL110;
+}
+
 static void pl110_versatile_init(Object *obj)
 {
     PL110State *s = PL110(obj);
@@ -489,7 +496,7 @@ static void pl110_class_init(ObjectClass *klass, void *data)
     DeviceClass *dc = DEVICE_CLASS(klass);
     SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
 
-    k->init = pl110_init;
+    k->init = pl110_initfn;
     dc->no_user = 1;
     dc->vmsd = &vmstate_pl110;
 }
@@ -498,6 +505,7 @@ static const TypeInfo pl110_info = {
     .name          = TYPE_PL110,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(PL110State),
+    .instance_init = pl110_init,
     .class_init    = pl110_class_init,
 };
 

^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2013-07-27 18:25 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-24 23:16 [Qemu-devel] [PATCH qom-next for-1.6 0/8] display: QOM cast cleanups Andreas Färber
2013-07-24 23:16 ` [Qemu-devel] [PATCH qom-next for-1.6 1/8] exynos4210_fimd: QOM cast cleanup Andreas Färber
2013-07-24 23:16 ` [Qemu-devel] [PATCH qom-next for-1.6 2/8] g364fb: " Andreas Färber
2013-07-24 23:16 ` [Qemu-devel] [PATCH qom-next for-1.6 3/8] jazz_led: QOM cast cleanups Andreas Färber
2013-07-24 23:16 ` [Qemu-devel] [PATCH qom-next for-1.6 4/8] milkymist-tmu2: " Andreas Färber
2013-07-24 23:16 ` [Qemu-devel] [PATCH qom-next for-1.6 5/8] milkymist-vgafb: " Andreas Färber
2013-07-24 23:16 ` [Qemu-devel] [PATCH qom-next for-1.6 6/8] pl110: Rename pl110_state to PL110State Andreas Färber
2013-07-24 23:16 ` [Qemu-devel] [PATCH qom-next for-1.6 7/8] pl110: QOM'ify pl110, pl110_versatile and pl111 Andreas Färber
2013-07-26  2:58   ` Hu Tao
2013-07-26 12:40     ` Andreas Färber
2013-07-27 18:25       ` Andreas Färber
2013-07-24 23:16 ` [Qemu-devel] [PATCH qom-next for-1.6 8/8] tcx: QOM cast cleanups Andreas Färber
2013-07-26  3:05 ` [Qemu-devel] [PATCH qom-next for-1.6 0/8] display: " Hu Tao

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.