qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH qom-next for-1.6 00/29] arm: QOM cast cleanups
@ 2013-07-24  7:47 Andreas Färber
  2013-07-24  7:47 ` [Qemu-devel] [PATCH qom-next for-1.6 01/29] armv7m: QOM'ify BitBandState Andreas Färber
                   ` (28 more replies)
  0 siblings, 29 replies; 39+ messages in thread
From: Andreas Färber @ 2013-07-24  7:47 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Peter Crosthwaite, Andreas Färber, Hu Tao

Hello Peter,

This series eliminates FROM_SYSBUS() in hw/arm/.
Variable naming has been prepared for QOM realize and to avoid ->qdev access.

Post-1.6 many of the devices should be moved into the appropriate hw/
sub-directory from their board file.

Regards,
Andreas

Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Cc: Hu Tao <hutao@cn.fujitsu.com>

Andreas Färber (29):
  armv7m: QOM'ify BitBandState
  highbank: QOM'ify HighbankRegsState
  integratorcp: QOM'ify integratorcm_state
  integratorcp: QOM'ify icp_pic_state
  musicpal: QOM'ify mv88w8618_eth_state
  musicpal: QOM'ify musicpal_lcd_state
  musicpal: Use TYPE_MV88W8618_ETH
  musicpal: QOM'ify mv88w8618_pic_state
  musicpal: QOM'ify mv88w8618_pit_state
  musicpal: QOM'ify mv88w8618_flashcfg
  musicpal: QOM'ify musicpal_gpio_state
  musicpal: QOM'ify musicpal_key_state
  pxa2xx: QOM'ify PXA2xxSSPState
  pxa2xx: QOM'ify PXA2xxRTCState
  pxa2xx: QOM'ify PXA2xxI2CState
  pxa2xx_gpio: QOM'ify PXA2xxGPIOInfo
  pxa2xx_pic: QOM'ify PXA2xxPICState
  spitz: QOM'ify SLNANDState
  spitz: QOM'ify SpitzKeyboardState
  stellaris: QOM'ify gptm_state
  stellaris: QOM'ify stellaris_i2c_state
  stellaris: QOM'ify stellaris_adc_state
  strongarm: QOM'ify StrongARMPICState
  strongarm: QOM'ify StrongARMRTCState
  strongarm: QOM'ify StrongARMGPIOInfo
  strongarm: QOM'ify StrongARMPPCInfo
  strongarm: QOM'ify StrongARMUARTState
  strongarm: QOM'ify StrongARMSSPState
  versatilepb: QOM'ify vpb_sic_state

 hw/arm/armv7m.c       |  16 ++++--
 hw/arm/highbank.c     |  16 ++++--
 hw/arm/integratorcp.c |  65 ++++++++++++++----------
 hw/arm/musicpal.c     | 138 ++++++++++++++++++++++++++++++++++----------------
 hw/arm/pxa2xx.c       |  71 +++++++++++++++++---------
 hw/arm/pxa2xx_gpio.c  |  35 ++++++++-----
 hw/arm/pxa2xx_pic.c   |  18 ++++---
 hw/arm/spitz.c        |  34 ++++++++-----
 hw/arm/stellaris.c    |  64 ++++++++++++++---------
 hw/arm/strongarm.c    | 134 +++++++++++++++++++++++++++++-------------------
 hw/arm/versatilepb.c  |  37 ++++++++------
 11 files changed, 398 insertions(+), 230 deletions(-)

-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 01/29] armv7m: QOM'ify BitBandState
  2013-07-24  7:47 [Qemu-devel] [PATCH qom-next for-1.6 00/29] arm: QOM cast cleanups Andreas Färber
@ 2013-07-24  7:47 ` Andreas Färber
  2013-07-24  7:47 ` [Qemu-devel] [PATCH qom-next for-1.6 02/29] highbank: QOM'ify HighbankRegsState Andreas Färber
                   ` (27 subsequent siblings)
  28 siblings, 0 replies; 39+ messages in thread
From: Andreas Färber @ 2013-07-24  7:47 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Andreas Färber, Paul Brook

Introduce TYPE_* constant and use QOM cast.

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/arm/armv7m.c | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/hw/arm/armv7m.c b/hw/arm/armv7m.c
index 5b22e84..82d36fb 100644
--- a/hw/arm/armv7m.c
+++ b/hw/arm/armv7m.c
@@ -114,15 +114,21 @@ static const MemoryRegionOps bitband_ops = {
     .endianness = DEVICE_NATIVE_ENDIAN,
 };
 
+#define TYPE_BITBAND "ARM,bitband-memory"
+#define BITBAND(obj) OBJECT_CHECK(BitBandState, (obj), TYPE_BITBAND)
+
 typedef struct {
-    SysBusDevice busdev;
+    /*< private >*/
+    SysBusDevice parent_obj;
+    /*< public >*/
+
     MemoryRegion iomem;
     uint32_t base;
 } BitBandState;
 
 static int bitband_init(SysBusDevice *dev)
 {
-    BitBandState *s = FROM_SYSBUS(BitBandState, dev);
+    BitBandState *s = BITBAND(dev);
 
     memory_region_init_io(&s->iomem, OBJECT(s), &bitband_ops, &s->base,
                           "bitband", 0x02000000);
@@ -134,12 +140,12 @@ static void armv7m_bitband_init(void)
 {
     DeviceState *dev;
 
-    dev = qdev_create(NULL, "ARM,bitband-memory");
+    dev = qdev_create(NULL, TYPE_BITBAND);
     qdev_prop_set_uint32(dev, "base", 0x20000000);
     qdev_init_nofail(dev);
     sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, 0x22000000);
 
-    dev = qdev_create(NULL, "ARM,bitband-memory");
+    dev = qdev_create(NULL, TYPE_BITBAND);
     qdev_prop_set_uint32(dev, "base", 0x40000000);
     qdev_init_nofail(dev);
     sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, 0x42000000);
@@ -270,7 +276,7 @@ static void bitband_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo bitband_info = {
-    .name          = "ARM,bitband-memory",
+    .name          = TYPE_BITBAND,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(BitBandState),
     .class_init    = bitband_class_init,
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 02/29] highbank: QOM'ify HighbankRegsState
  2013-07-24  7:47 [Qemu-devel] [PATCH qom-next for-1.6 00/29] arm: QOM cast cleanups Andreas Färber
  2013-07-24  7:47 ` [Qemu-devel] [PATCH qom-next for-1.6 01/29] armv7m: QOM'ify BitBandState Andreas Färber
@ 2013-07-24  7:47 ` Andreas Färber
  2013-07-24  7:47 ` [Qemu-devel] [PATCH qom-next for-1.6 03/29] integratorcp: QOM'ify integratorcm_state Andreas Färber
                   ` (26 subsequent siblings)
  28 siblings, 0 replies; 39+ messages in thread
From: Andreas Färber @ 2013-07-24  7:47 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Andreas Färber, Mark Langsdorf, Paul Brook

Add type constant and use QOM casts.

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/arm/highbank.c | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/hw/arm/highbank.c b/hw/arm/highbank.c
index be264d3..35d5511 100644
--- a/hw/arm/highbank.c
+++ b/hw/arm/highbank.c
@@ -116,8 +116,15 @@ static const MemoryRegionOps hb_mem_ops = {
     .endianness = DEVICE_NATIVE_ENDIAN,
 };
 
+#define TYPE_HIGHBANK_REGISTERS "highbank-regs"
+#define HIGHBANK_REGISTERS(obj) \
+    OBJECT_CHECK(HighbankRegsState, (obj), TYPE_HIGHBANK_REGISTERS)
+
 typedef struct {
-    SysBusDevice busdev;
+    /*< private >*/
+    SysBusDevice parent_obj;
+    /*< public >*/
+
     MemoryRegion *iomem;
     uint32_t regs[NUM_REGS];
 } HighbankRegsState;
@@ -135,8 +142,7 @@ static VMStateDescription vmstate_highbank_regs = {
 
 static void highbank_regs_reset(DeviceState *dev)
 {
-    SysBusDevice *sys_dev = SYS_BUS_DEVICE(dev);
-    HighbankRegsState *s = FROM_SYSBUS(HighbankRegsState, sys_dev);
+    HighbankRegsState *s = HIGHBANK_REGISTERS(dev);
 
     s->regs[0x40] = 0x05F20121;
     s->regs[0x41] = 0x2;
@@ -146,7 +152,7 @@ static void highbank_regs_reset(DeviceState *dev)
 
 static int highbank_regs_init(SysBusDevice *dev)
 {
-    HighbankRegsState *s = FROM_SYSBUS(HighbankRegsState, dev);
+    HighbankRegsState *s = HIGHBANK_REGISTERS(dev);
 
     s->iomem = g_new(MemoryRegion, 1);
     memory_region_init_io(s->iomem, OBJECT(s), &hb_mem_ops, s->regs,
@@ -168,7 +174,7 @@ static void highbank_regs_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo highbank_regs_info = {
-    .name          = "highbank-regs",
+    .name          = TYPE_HIGHBANK_REGISTERS,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(HighbankRegsState),
     .class_init    = highbank_regs_class_init,
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 03/29] integratorcp: QOM'ify integratorcm_state
  2013-07-24  7:47 [Qemu-devel] [PATCH qom-next for-1.6 00/29] arm: QOM cast cleanups Andreas Färber
  2013-07-24  7:47 ` [Qemu-devel] [PATCH qom-next for-1.6 01/29] armv7m: QOM'ify BitBandState Andreas Färber
  2013-07-24  7:47 ` [Qemu-devel] [PATCH qom-next for-1.6 02/29] highbank: QOM'ify HighbankRegsState Andreas Färber
@ 2013-07-24  7:47 ` Andreas Färber
  2013-07-24  7:47 ` [Qemu-devel] [PATCH qom-next for-1.6 04/29] integratorcp: QOM'ify icp_pic_state Andreas Färber
                   ` (25 subsequent siblings)
  28 siblings, 0 replies; 39+ messages in thread
From: Andreas Färber @ 2013-07-24  7:47 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Andreas Färber, Paul Brook

Rename to IntegratorCMState, introduce type constant and use QOM cast.

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/arm/integratorcp.c | 33 ++++++++++++++++++++-------------
 1 file changed, 20 insertions(+), 13 deletions(-)

diff --git a/hw/arm/integratorcp.c b/hw/arm/integratorcp.c
index 249a430..58f4ed7 100644
--- a/hw/arm/integratorcp.c
+++ b/hw/arm/integratorcp.c
@@ -15,8 +15,15 @@
 #include "exec/address-spaces.h"
 #include "sysemu/sysemu.h"
 
-typedef struct {
-    SysBusDevice busdev;
+#define TYPE_INTEGRATOR_CM "integrator_core"
+#define INTEGRATOR_CM(obj) \
+    OBJECT_CHECK(IntegratorCMState, (obj), TYPE_INTEGRATOR_CM)
+
+typedef struct IntegratorCMState {
+    /*< private >*/
+    SysBusDevice parent_obj;
+    /*< public >*/
+
     MemoryRegion iomem;
     uint32_t memsz;
     MemoryRegion flash;
@@ -31,7 +38,7 @@ typedef struct {
     uint32_t int_level;
     uint32_t irq_enabled;
     uint32_t fiq_enabled;
-} integratorcm_state;
+} IntegratorCMState;
 
 static uint8_t integrator_spd[128] = {
    128, 8, 4, 11, 9, 1, 64, 0,  2, 0xa0, 0xa0, 0, 0, 8, 0, 1,
@@ -41,7 +48,7 @@ static uint8_t integrator_spd[128] = {
 static uint64_t integratorcm_read(void *opaque, hwaddr offset,
                                   unsigned size)
 {
-    integratorcm_state *s = (integratorcm_state *)opaque;
+    IntegratorCMState *s = opaque;
     if (offset >= 0x100 && offset < 0x200) {
         /* CM_SPD */
         if (offset >= 0x180)
@@ -108,7 +115,7 @@ static uint64_t integratorcm_read(void *opaque, hwaddr offset,
     }
 }
 
-static void integratorcm_do_remap(integratorcm_state *s)
+static void integratorcm_do_remap(IntegratorCMState *s)
 {
     /* Sync memory region state with CM_CTRL REMAP bit:
      * bit 0 => flash at address 0; bit 1 => RAM
@@ -116,7 +123,7 @@ static void integratorcm_do_remap(integratorcm_state *s)
     memory_region_set_enabled(&s->flash, !(s->cm_ctrl & 4));
 }
 
-static void integratorcm_set_ctrl(integratorcm_state *s, uint32_t value)
+static void integratorcm_set_ctrl(IntegratorCMState *s, uint32_t value)
 {
     if (value & 8) {
         qemu_system_reset_request();
@@ -133,7 +140,7 @@ static void integratorcm_set_ctrl(integratorcm_state *s, uint32_t value)
     integratorcm_do_remap(s);
 }
 
-static void integratorcm_update(integratorcm_state *s)
+static void integratorcm_update(IntegratorCMState *s)
 {
     /* ??? The CPU irq/fiq is raised when either the core module or base PIC
        are active.  */
@@ -144,7 +151,7 @@ static void integratorcm_update(integratorcm_state *s)
 static void integratorcm_write(void *opaque, hwaddr offset,
                                uint64_t value, unsigned size)
 {
-    integratorcm_state *s = (integratorcm_state *)opaque;
+    IntegratorCMState *s = opaque;
     switch (offset >> 2) {
     case 2: /* CM_OSC */
         if (s->cm_lock == 0xa05f)
@@ -226,7 +233,7 @@ static const MemoryRegionOps integratorcm_ops = {
 
 static int integratorcm_init(SysBusDevice *dev)
 {
-    integratorcm_state *s = FROM_SYSBUS(integratorcm_state, dev);
+    IntegratorCMState *s = INTEGRATOR_CM(dev);
 
     s->cm_osc = 0x01000048;
     /* ??? What should the high bits of this value be?  */
@@ -474,7 +481,7 @@ static void integratorcp_init(QEMUMachineInitArgs *args)
     memory_region_init_alias(ram_alias, NULL, "ram.alias", ram, 0, ram_size);
     memory_region_add_subregion(address_space_mem, 0x80000000, ram_alias);
 
-    dev = qdev_create(NULL, "integrator_core");
+    dev = qdev_create(NULL, TYPE_INTEGRATOR_CM);
     qdev_prop_set_uint32(dev, "memsz", ram_size >> 20);
     qdev_init_nofail(dev);
     sysbus_mmio_map((SysBusDevice *)dev, 0, 0x10000000);
@@ -524,7 +531,7 @@ static void integratorcp_machine_init(void)
 machine_init(integratorcp_machine_init);
 
 static Property core_properties[] = {
-    DEFINE_PROP_UINT32("memsz", integratorcm_state, memsz, 0),
+    DEFINE_PROP_UINT32("memsz", IntegratorCMState, memsz, 0),
     DEFINE_PROP_END_OF_LIST(),
 };
 
@@ -538,9 +545,9 @@ static void core_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo core_info = {
-    .name          = "integrator_core",
+    .name          = TYPE_INTEGRATOR_CM,
     .parent        = TYPE_SYS_BUS_DEVICE,
-    .instance_size = sizeof(integratorcm_state),
+    .instance_size = sizeof(IntegratorCMState),
     .class_init    = core_class_init,
 };
 
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 04/29] integratorcp: QOM'ify icp_pic_state
  2013-07-24  7:47 [Qemu-devel] [PATCH qom-next for-1.6 00/29] arm: QOM cast cleanups Andreas Färber
                   ` (2 preceding siblings ...)
  2013-07-24  7:47 ` [Qemu-devel] [PATCH qom-next for-1.6 03/29] integratorcp: QOM'ify integratorcm_state Andreas Färber
@ 2013-07-24  7:47 ` Andreas Färber
  2013-07-27 14:04   ` Andreas Färber
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 05/29] musicpal: QOM'ify mv88w8618_eth_state Andreas Färber
                   ` (24 subsequent siblings)
  28 siblings, 1 reply; 39+ messages in thread
From: Andreas Färber @ 2013-07-24  7:47 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Andreas Färber, Paul Brook

Introduce type constant and use QOM cast.
Fix indentation.

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

diff --git a/hw/arm/integratorcp.c b/hw/arm/integratorcp.c
index 58f4ed7..af31007 100644
--- a/hw/arm/integratorcp.c
+++ b/hw/arm/integratorcp.c
@@ -271,15 +271,21 @@ static int integratorcm_init(SysBusDevice *dev)
 /* Integrator/CP hardware emulation.  */
 /* Primary interrupt controller.  */
 
-typedef struct icp_pic_state
-{
-  SysBusDevice busdev;
-  MemoryRegion iomem;
-  uint32_t level;
-  uint32_t irq_enabled;
-  uint32_t fiq_enabled;
-  qemu_irq parent_irq;
-  qemu_irq parent_fiq;
+#define TYPE_INTEGRATOR_PIC "integrator_pic"
+#define INTEGRATOR_PIC(obj) \
+   OBJECT_CHECK(icp_pic_state, (obj), TYPE_INTEGRATOR_PIC)
+
+typedef struct icp_pic_state {
+    /*< private >*/
+    SysBusDevice parent_obj;
+    /*< public >*/
+
+    MemoryRegion iomem;
+    uint32_t level;
+    uint32_t irq_enabled;
+    uint32_t fiq_enabled;
+    qemu_irq parent_irq;
+    qemu_irq parent_fiq;
 } icp_pic_state;
 
 static void icp_pic_update(icp_pic_state *s)
@@ -376,7 +382,7 @@ static const MemoryRegionOps icp_pic_ops = {
 
 static int icp_pic_init(SysBusDevice *dev)
 {
-    icp_pic_state *s = FROM_SYSBUS(icp_pic_state, dev);
+    icp_pic_state *s = INTEGRATOR_PIC(dev);
 
     qdev_init_gpio_in(&dev->qdev, icp_pic_set_irq, 32);
     sysbus_init_irq(dev, &s->parent_irq);
@@ -487,13 +493,13 @@ static void integratorcp_init(QEMUMachineInitArgs *args)
     sysbus_mmio_map((SysBusDevice *)dev, 0, 0x10000000);
 
     cpu_pic = arm_pic_init_cpu(cpu);
-    dev = sysbus_create_varargs("integrator_pic", 0x14000000,
+    dev = sysbus_create_varargs(TYPE_INTEGRATOR_PIC, 0x14000000,
                                 cpu_pic[ARM_PIC_CPU_IRQ],
                                 cpu_pic[ARM_PIC_CPU_FIQ], NULL);
     for (i = 0; i < 32; i++) {
         pic[i] = qdev_get_gpio_in(dev, i);
     }
-    sysbus_create_simple("integrator_pic", 0xca000000, pic[26]);
+    sysbus_create_simple(TYPE_INTEGRATOR_PIC, 0xca000000, pic[26]);
     sysbus_create_varargs("integrator_pit", 0x13000000,
                           pic[5], pic[6], pic[7], NULL);
     sysbus_create_simple("pl031", 0x15000000, pic[8]);
@@ -559,7 +565,7 @@ static void icp_pic_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo icp_pic_info = {
-    .name          = "integrator_pic",
+    .name          = TYPE_INTEGRATOR_PIC,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(icp_pic_state),
     .class_init    = icp_pic_class_init,
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 05/29] musicpal: QOM'ify mv88w8618_eth_state
  2013-07-24  7:47 [Qemu-devel] [PATCH qom-next for-1.6 00/29] arm: QOM cast cleanups Andreas Färber
                   ` (3 preceding siblings ...)
  2013-07-24  7:47 ` [Qemu-devel] [PATCH qom-next for-1.6 04/29] integratorcp: QOM'ify icp_pic_state Andreas Färber
@ 2013-07-24  7:48 ` Andreas Färber
  2013-07-27 14:07   ` Andreas Färber
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 06/29] musicpal: QOM'ify musicpal_lcd_state Andreas Färber
                   ` (23 subsequent siblings)
  28 siblings, 1 reply; 39+ messages in thread
From: Andreas Färber @ 2013-07-24  7:48 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Jan Kiszka, Andreas Färber, Paul Brook

Introduce type constant and use QOM casts.

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/arm/musicpal.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c
index b06d442..293ab26 100644
--- a/hw/arm/musicpal.c
+++ b/hw/arm/musicpal.c
@@ -146,8 +146,15 @@ typedef struct mv88w8618_rx_desc {
     uint32_t next;
 } mv88w8618_rx_desc;
 
+#define TYPE_MV88W8618_ETH "mv88w8618_eth"
+#define MV88W8618_ETH(obj) \
+    OBJECT_CHECK(mv88w8618_eth_state, (obj), TYPE_MV88W8618_ETH)
+
 typedef struct mv88w8618_eth_state {
-    SysBusDevice busdev;
+    /*< private >*/
+    SysBusDevice parent_obj;
+    /*< public >*/
+
     MemoryRegion iomem;
     qemu_irq irq;
     uint32_t smir;
@@ -384,7 +391,7 @@ static NetClientInfo net_mv88w8618_info = {
 
 static int mv88w8618_eth_init(SysBusDevice *dev)
 {
-    mv88w8618_eth_state *s = FROM_SYSBUS(mv88w8618_eth_state, dev);
+    mv88w8618_eth_state *s = MV88W8618_ETH(dev);
 
     sysbus_init_irq(dev, &s->irq);
     s->nic = qemu_new_nic(&net_mv88w8618_info, &s->conf,
@@ -429,7 +436,7 @@ static void mv88w8618_eth_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo mv88w8618_eth_info = {
-    .name          = "mv88w8618_eth",
+    .name          = TYPE_MV88W8618_ETH,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(mv88w8618_eth_state),
     .class_init    = mv88w8618_eth_class_init,
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 06/29] musicpal: QOM'ify musicpal_lcd_state
  2013-07-24  7:47 [Qemu-devel] [PATCH qom-next for-1.6 00/29] arm: QOM cast cleanups Andreas Färber
                   ` (4 preceding siblings ...)
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 05/29] musicpal: QOM'ify mv88w8618_eth_state Andreas Färber
@ 2013-07-24  7:48 ` Andreas Färber
  2013-07-27 14:10   ` Andreas Färber
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 07/29] musicpal: Use TYPE_MV88W8618_ETH Andreas Färber
                   ` (22 subsequent siblings)
  28 siblings, 1 reply; 39+ messages in thread
From: Andreas Färber @ 2013-07-24  7:48 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Jan Kiszka, Andreas Färber, Paul Brook

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/arm/musicpal.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c
index 293ab26..e7efed9 100644
--- a/hw/arm/musicpal.c
+++ b/hw/arm/musicpal.c
@@ -461,8 +461,15 @@ static const TypeInfo mv88w8618_eth_info = {
 
 #define MP_LCD_TEXTCOLOR        0xe0e0ff /* RRGGBB */
 
+#define TYPE_MUSICPAL_LCD "musicpal_lcd"
+#define MUSICPAL_LCD(obj) \
+    OBJECT_CHECK(musicpal_lcd_state, (obj), TYPE_MUSICPAL_LCD)
+
 typedef struct musicpal_lcd_state {
-    SysBusDevice busdev;
+    /*< private >*/
+    SysBusDevice parent_obj;
+    /*< public >*/
+
     MemoryRegion iomem;
     uint32_t brightness;
     uint32_t mode;
@@ -615,7 +622,7 @@ static const GraphicHwOps musicpal_gfx_ops = {
 
 static int musicpal_lcd_init(SysBusDevice *dev)
 {
-    musicpal_lcd_state *s = FROM_SYSBUS(musicpal_lcd_state, dev);
+    musicpal_lcd_state *s = MUSICPAL_LCD(dev);
 
     s->brightness = 7;
 
@@ -657,7 +664,7 @@ static void musicpal_lcd_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo musicpal_lcd_info = {
-    .name          = "musicpal_lcd",
+    .name          = TYPE_MUSICPAL_LCD,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(musicpal_lcd_state),
     .class_init    = musicpal_lcd_class_init,
@@ -1648,7 +1655,7 @@ static void musicpal_init(QEMUMachineInitArgs *args)
     i2c_dev = sysbus_create_simple("gpio_i2c", -1, NULL);
     i2c = (i2c_bus *)qdev_get_child_bus(i2c_dev, "i2c");
 
-    lcd_dev = sysbus_create_simple("musicpal_lcd", MP_LCD_BASE, NULL);
+    lcd_dev = sysbus_create_simple(TYPE_MUSICPAL_LCD, MP_LCD_BASE, NULL);
     key_dev = sysbus_create_simple("musicpal_key", -1, NULL);
 
     /* I2C read data */
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 07/29] musicpal: Use TYPE_MV88W8618_ETH
  2013-07-24  7:47 [Qemu-devel] [PATCH qom-next for-1.6 00/29] arm: QOM cast cleanups Andreas Färber
                   ` (5 preceding siblings ...)
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 06/29] musicpal: QOM'ify musicpal_lcd_state Andreas Färber
@ 2013-07-24  7:48 ` Andreas Färber
  2013-07-24  7:56   ` Andreas Färber
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 08/29] musicpal: QOM'ify mv88w8618_pic_state Andreas Färber
                   ` (21 subsequent siblings)
  28 siblings, 1 reply; 39+ messages in thread
From: Andreas Färber @ 2013-07-24  7:48 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Jan Kiszka, Andreas Färber, Paul Brook

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/arm/musicpal.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c
index e7efed9..e2d9e84 100644
--- a/hw/arm/musicpal.c
+++ b/hw/arm/musicpal.c
@@ -1641,7 +1641,7 @@ static void musicpal_init(QEMUMachineInitArgs *args)
     sysbus_create_simple("mv88w8618_flashcfg", MP_FLASHCFG_BASE, NULL);
 
     qemu_check_nic_model(&nd_table[0], "mv88w8618");
-    dev = qdev_create(NULL, "mv88w8618_eth");
+    dev = qdev_create(NULL, TYPE_MV88W8618_ETH);
     qdev_set_nic_properties(dev, &nd_table[0]);
     qdev_init_nofail(dev);
     sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, MP_ETH_BASE);
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 08/29] musicpal: QOM'ify mv88w8618_pic_state
  2013-07-24  7:47 [Qemu-devel] [PATCH qom-next for-1.6 00/29] arm: QOM cast cleanups Andreas Färber
                   ` (6 preceding siblings ...)
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 07/29] musicpal: Use TYPE_MV88W8618_ETH Andreas Färber
@ 2013-07-24  7:48 ` Andreas Färber
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 09/29] musicpal: QOM'ify mv88w8618_pit_state Andreas Färber
                   ` (20 subsequent siblings)
  28 siblings, 0 replies; 39+ messages in thread
From: Andreas Färber @ 2013-07-24  7:48 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Jan Kiszka, Andreas Färber, Paul Brook

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/arm/musicpal.c | 23 ++++++++++++++---------
 1 file changed, 14 insertions(+), 9 deletions(-)

diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c
index e2d9e84..d35b6cd 100644
--- a/hw/arm/musicpal.c
+++ b/hw/arm/musicpal.c
@@ -675,9 +675,15 @@ static const TypeInfo musicpal_lcd_info = {
 #define MP_PIC_ENABLE_SET       0x08
 #define MP_PIC_ENABLE_CLR       0x0C
 
-typedef struct mv88w8618_pic_state
-{
-    SysBusDevice busdev;
+#define TYPE_MV88W8618_PIC "mv88w8618_pic"
+#define MV88W8618_PIC(obj) \
+    OBJECT_CHECK(mv88w8618_pic_state, (obj), TYPE_MV88W8618_PIC)
+
+typedef struct mv88w8618_pic_state {
+    /*< private >*/
+    SysBusDevice parent_obj;
+    /*< public >*/
+
     MemoryRegion iomem;
     uint32_t level;
     uint32_t enabled;
@@ -735,8 +741,7 @@ static void mv88w8618_pic_write(void *opaque, hwaddr offset,
 
 static void mv88w8618_pic_reset(DeviceState *d)
 {
-    mv88w8618_pic_state *s = FROM_SYSBUS(mv88w8618_pic_state,
-                                         SYS_BUS_DEVICE(d));
+    mv88w8618_pic_state *s = MV88W8618_PIC(d);
 
     s->level = 0;
     s->enabled = 0;
@@ -750,9 +755,9 @@ static const MemoryRegionOps mv88w8618_pic_ops = {
 
 static int mv88w8618_pic_init(SysBusDevice *dev)
 {
-    mv88w8618_pic_state *s = FROM_SYSBUS(mv88w8618_pic_state, dev);
+    mv88w8618_pic_state *s = MV88W8618_PIC(dev);
 
-    qdev_init_gpio_in(&dev->qdev, mv88w8618_pic_set_irq, 32);
+    qdev_init_gpio_in(DEVICE(dev), mv88w8618_pic_set_irq, 32);
     sysbus_init_irq(dev, &s->parent_irq);
     memory_region_init_io(&s->iomem, OBJECT(s), &mv88w8618_pic_ops, s,
                           "musicpal-pic", MP_PIC_SIZE);
@@ -783,7 +788,7 @@ static void mv88w8618_pic_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo mv88w8618_pic_info = {
-    .name          = "mv88w8618_pic",
+    .name          = TYPE_MV88W8618_PIC,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(mv88w8618_pic_state),
     .class_init    = mv88w8618_pic_class_init,
@@ -1586,7 +1591,7 @@ static void musicpal_init(QEMUMachineInitArgs *args)
     vmstate_register_ram_global(sram);
     memory_region_add_subregion(address_space_mem, MP_SRAM_BASE, sram);
 
-    dev = sysbus_create_simple("mv88w8618_pic", MP_PIC_BASE,
+    dev = sysbus_create_simple(TYPE_MV88W8618_PIC, MP_PIC_BASE,
                                cpu_pic[ARM_PIC_CPU_IRQ]);
     for (i = 0; i < 32; i++) {
         pic[i] = qdev_get_gpio_in(dev, i);
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 09/29] musicpal: QOM'ify mv88w8618_pit_state
  2013-07-24  7:47 [Qemu-devel] [PATCH qom-next for-1.6 00/29] arm: QOM cast cleanups Andreas Färber
                   ` (7 preceding siblings ...)
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 08/29] musicpal: QOM'ify mv88w8618_pic_state Andreas Färber
@ 2013-07-24  7:48 ` Andreas Färber
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 10/29] musicpal: QOM'ify mv88w8618_flashcfg Andreas Färber
                   ` (19 subsequent siblings)
  28 siblings, 0 replies; 39+ messages in thread
From: Andreas Färber @ 2013-07-24  7:48 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Jan Kiszka, Andreas Färber, Paul Brook

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

diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c
index d35b6cd..54ead12 100644
--- a/hw/arm/musicpal.c
+++ b/hw/arm/musicpal.c
@@ -814,8 +814,15 @@ typedef struct mv88w8618_timer_state {
     qemu_irq irq;
 } mv88w8618_timer_state;
 
+#define TYPE_MV88W8618_PIT "mv88w8618_pit"
+#define MV88W8618_PIT(obj) \
+    OBJECT_CHECK(mv88w8618_pit_state, (obj), TYPE_MV88W8618_PIT)
+
 typedef struct mv88w8618_pit_state {
-    SysBusDevice busdev;
+    /*< private >*/
+    SysBusDevice parent_obj;
+    /*< public >*/
+
     MemoryRegion iomem;
     mv88w8618_timer_state timer[4];
 } mv88w8618_pit_state;
@@ -897,8 +904,7 @@ static void mv88w8618_pit_write(void *opaque, hwaddr offset,
 
 static void mv88w8618_pit_reset(DeviceState *d)
 {
-    mv88w8618_pit_state *s = FROM_SYSBUS(mv88w8618_pit_state,
-                                         SYS_BUS_DEVICE(d));
+    mv88w8618_pit_state *s = MV88W8618_PIT(d);
     int i;
 
     for (i = 0; i < 4; i++) {
@@ -915,7 +921,7 @@ static const MemoryRegionOps mv88w8618_pit_ops = {
 
 static int mv88w8618_pit_init(SysBusDevice *dev)
 {
-    mv88w8618_pit_state *s = FROM_SYSBUS(mv88w8618_pit_state, dev);
+    mv88w8618_pit_state *s = MV88W8618_PIT(dev);
     int i;
 
     /* Letting them all run at 1 MHz is likely just a pragmatic
@@ -965,7 +971,7 @@ static void mv88w8618_pit_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo mv88w8618_pit_info = {
-    .name          = "mv88w8618_pit",
+    .name          = TYPE_MV88W8618_PIT,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(mv88w8618_pit_state),
     .class_init    = mv88w8618_pit_class_init,
@@ -1596,7 +1602,7 @@ static void musicpal_init(QEMUMachineInitArgs *args)
     for (i = 0; i < 32; i++) {
         pic[i] = qdev_get_gpio_in(dev, i);
     }
-    sysbus_create_varargs("mv88w8618_pit", MP_PIT_BASE, pic[MP_TIMER1_IRQ],
+    sysbus_create_varargs(TYPE_MV88W8618_PIT, MP_PIT_BASE, pic[MP_TIMER1_IRQ],
                           pic[MP_TIMER2_IRQ], pic[MP_TIMER3_IRQ],
                           pic[MP_TIMER4_IRQ], NULL);
 
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 10/29] musicpal: QOM'ify mv88w8618_flashcfg
  2013-07-24  7:47 [Qemu-devel] [PATCH qom-next for-1.6 00/29] arm: QOM cast cleanups Andreas Färber
                   ` (8 preceding siblings ...)
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 09/29] musicpal: QOM'ify mv88w8618_pit_state Andreas Färber
@ 2013-07-24  7:48 ` Andreas Färber
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 11/29] musicpal: QOM'ify musicpal_gpio_state Andreas Färber
                   ` (18 subsequent siblings)
  28 siblings, 0 replies; 39+ messages in thread
From: Andreas Färber @ 2013-07-24  7:48 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Jan Kiszka, Andreas Färber, Paul Brook

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/arm/musicpal.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c
index 54ead12..8c1d200 100644
--- a/hw/arm/musicpal.c
+++ b/hw/arm/musicpal.c
@@ -980,8 +980,15 @@ static const TypeInfo mv88w8618_pit_info = {
 /* Flash config register offsets */
 #define MP_FLASHCFG_CFGR0    0x04
 
+#define TYPE_MV88W8618_FLASHCFG "mv88w8618_flashcfg"
+#define MV88W8618_FLASHCFG(obj) \
+    OBJECT_CHECK(mv88w8618_flashcfg_state, (obj), TYPE_MV88W8618_FLASHCFG)
+
 typedef struct mv88w8618_flashcfg_state {
-    SysBusDevice busdev;
+    /*< private >*/
+    SysBusDevice parent_obj;
+    /*< public >*/
+
     MemoryRegion iomem;
     uint32_t cfgr0;
 } mv88w8618_flashcfg_state;
@@ -1021,7 +1028,7 @@ static const MemoryRegionOps mv88w8618_flashcfg_ops = {
 
 static int mv88w8618_flashcfg_init(SysBusDevice *dev)
 {
-    mv88w8618_flashcfg_state *s = FROM_SYSBUS(mv88w8618_flashcfg_state, dev);
+    mv88w8618_flashcfg_state *s = MV88W8618_FLASHCFG(dev);
 
     s->cfgr0 = 0xfffe4285; /* Default as set by U-Boot for 8 MB flash */
     memory_region_init_io(&s->iomem, OBJECT(s), &mv88w8618_flashcfg_ops, s,
@@ -1051,7 +1058,7 @@ static void mv88w8618_flashcfg_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo mv88w8618_flashcfg_info = {
-    .name          = "mv88w8618_flashcfg",
+    .name          = TYPE_MV88W8618_FLASHCFG,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(mv88w8618_flashcfg_state),
     .class_init    = mv88w8618_flashcfg_class_init,
@@ -1649,7 +1656,7 @@ static void musicpal_init(QEMUMachineInitArgs *args)
 #endif
 
     }
-    sysbus_create_simple("mv88w8618_flashcfg", MP_FLASHCFG_BASE, NULL);
+    sysbus_create_simple(TYPE_MV88W8618_FLASHCFG, MP_FLASHCFG_BASE, NULL);
 
     qemu_check_nic_model(&nd_table[0], "mv88w8618");
     dev = qdev_create(NULL, TYPE_MV88W8618_ETH);
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 11/29] musicpal: QOM'ify musicpal_gpio_state
  2013-07-24  7:47 [Qemu-devel] [PATCH qom-next for-1.6 00/29] arm: QOM cast cleanups Andreas Färber
                   ` (9 preceding siblings ...)
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 10/29] musicpal: QOM'ify mv88w8618_flashcfg Andreas Färber
@ 2013-07-24  7:48 ` Andreas Färber
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 12/29] musicpal: QOM'ify musicpal_key_state Andreas Färber
                   ` (17 subsequent siblings)
  28 siblings, 0 replies; 39+ messages in thread
From: Andreas Färber @ 2013-07-24  7:48 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Jan Kiszka, Andreas Färber, Paul Brook

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/arm/musicpal.c | 30 +++++++++++++++++++-----------
 1 file changed, 19 insertions(+), 11 deletions(-)

diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c
index 8c1d200..a8beae6 100644
--- a/hw/arm/musicpal.c
+++ b/hw/arm/musicpal.c
@@ -1181,8 +1181,15 @@ static int mv88w8618_wlan_init(SysBusDevice *dev)
 /* LCD brightness bits in GPIO_OE_HI */
 #define MP_OE_LCD_BRIGHTNESS    0x0007
 
+#define TYPE_MUSICPAL_GPIO "musicpal_gpio"
+#define MUSICPAL_GPIO(obj) \
+    OBJECT_CHECK(musicpal_gpio_state, (obj), TYPE_MUSICPAL_GPIO)
+
 typedef struct musicpal_gpio_state {
-    SysBusDevice busdev;
+    /*< private >*/
+    SysBusDevice parent_obj;
+    /*< public >*/
+
     MemoryRegion iomem;
     uint32_t lcd_brightness;
     uint32_t out_state;
@@ -1342,8 +1349,7 @@ static const MemoryRegionOps musicpal_gpio_ops = {
 
 static void musicpal_gpio_reset(DeviceState *d)
 {
-    musicpal_gpio_state *s = FROM_SYSBUS(musicpal_gpio_state,
-                                         SYS_BUS_DEVICE(d));
+    musicpal_gpio_state *s = MUSICPAL_GPIO(d);
 
     s->lcd_brightness = 0;
     s->out_state = 0;
@@ -1353,19 +1359,20 @@ static void musicpal_gpio_reset(DeviceState *d)
     s->isr = 0;
 }
 
-static int musicpal_gpio_init(SysBusDevice *dev)
+static int musicpal_gpio_init(SysBusDevice *sbd)
 {
-    musicpal_gpio_state *s = FROM_SYSBUS(musicpal_gpio_state, dev);
+    DeviceState *dev = DEVICE(sbd);
+    musicpal_gpio_state *s = MUSICPAL_GPIO(dev);
 
-    sysbus_init_irq(dev, &s->irq);
+    sysbus_init_irq(sbd, &s->irq);
 
     memory_region_init_io(&s->iomem, OBJECT(s), &musicpal_gpio_ops, s,
                           "musicpal-gpio", MP_GPIO_SIZE);
-    sysbus_init_mmio(dev, &s->iomem);
+    sysbus_init_mmio(sbd, &s->iomem);
 
-    qdev_init_gpio_out(&dev->qdev, s->out, ARRAY_SIZE(s->out));
+    qdev_init_gpio_out(dev, s->out, ARRAY_SIZE(s->out));
 
-    qdev_init_gpio_in(&dev->qdev, musicpal_gpio_pin_event, 32);
+    qdev_init_gpio_in(dev, musicpal_gpio_pin_event, 32);
 
     return 0;
 }
@@ -1397,7 +1404,7 @@ static void musicpal_gpio_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo musicpal_gpio_info = {
-    .name          = "musicpal_gpio",
+    .name          = TYPE_MUSICPAL_GPIO,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(musicpal_gpio_state),
     .class_init    = musicpal_gpio_class_init,
@@ -1669,7 +1676,8 @@ static void musicpal_init(QEMUMachineInitArgs *args)
 
     sysbus_create_simple(TYPE_MUSICPAL_MISC, MP_MISC_BASE, NULL);
 
-    dev = sysbus_create_simple("musicpal_gpio", MP_GPIO_BASE, pic[MP_GPIO_IRQ]);
+    dev = sysbus_create_simple(TYPE_MUSICPAL_GPIO, MP_GPIO_BASE,
+                               pic[MP_GPIO_IRQ]);
     i2c_dev = sysbus_create_simple("gpio_i2c", -1, NULL);
     i2c = (i2c_bus *)qdev_get_child_bus(i2c_dev, "i2c");
 
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 12/29] musicpal: QOM'ify musicpal_key_state
  2013-07-24  7:47 [Qemu-devel] [PATCH qom-next for-1.6 00/29] arm: QOM cast cleanups Andreas Färber
                   ` (10 preceding siblings ...)
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 11/29] musicpal: QOM'ify musicpal_gpio_state Andreas Färber
@ 2013-07-24  7:48 ` Andreas Färber
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 13/29] pxa2xx: QOM'ify PXA2xxSSPState Andreas Färber
                   ` (16 subsequent siblings)
  28 siblings, 0 replies; 39+ messages in thread
From: Andreas Färber @ 2013-07-24  7:48 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Jan Kiszka, Andreas Färber, Paul Brook

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/arm/musicpal.c | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c
index a8beae6..6e8eb5d 100644
--- a/hw/arm/musicpal.c
+++ b/hw/arm/musicpal.c
@@ -1434,8 +1434,15 @@ static const TypeInfo musicpal_gpio_info = {
 #define MP_KEY_BTN_VOLUME      (1 << 6)
 #define MP_KEY_BTN_NAVIGATION  (1 << 7)
 
+#define TYPE_MUSICPAL_KEY "musicpal_key"
+#define MUSICPAL_KEY(obj) \
+    OBJECT_CHECK(musicpal_key_state, (obj), TYPE_MUSICPAL_KEY)
+
 typedef struct musicpal_key_state {
-    SysBusDevice busdev;
+    /*< private >*/
+    SysBusDevice parent_obj;
+    /*< public >*/
+
     MemoryRegion iomem;
     uint32_t kbd_extended;
     uint32_t pressed_keys;
@@ -1519,17 +1526,18 @@ static void musicpal_key_event(void *opaque, int keycode)
     s->kbd_extended = 0;
 }
 
-static int musicpal_key_init(SysBusDevice *dev)
+static int musicpal_key_init(SysBusDevice *sbd)
 {
-    musicpal_key_state *s = FROM_SYSBUS(musicpal_key_state, dev);
+    DeviceState *dev = DEVICE(sbd);
+    musicpal_key_state *s = MUSICPAL_KEY(dev);
 
     memory_region_init(&s->iomem, OBJECT(s), "dummy", 0);
-    sysbus_init_mmio(dev, &s->iomem);
+    sysbus_init_mmio(sbd, &s->iomem);
 
     s->kbd_extended = 0;
     s->pressed_keys = 0;
 
-    qdev_init_gpio_out(&dev->qdev, s->out, ARRAY_SIZE(s->out));
+    qdev_init_gpio_out(dev, s->out, ARRAY_SIZE(s->out));
 
     qemu_add_kbd_event_handler(musicpal_key_event, s);
 
@@ -1558,7 +1566,7 @@ static void musicpal_key_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo musicpal_key_info = {
-    .name          = "musicpal_key",
+    .name          = TYPE_MUSICPAL_KEY,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(musicpal_key_state),
     .class_init    = musicpal_key_class_init,
@@ -1682,7 +1690,7 @@ static void musicpal_init(QEMUMachineInitArgs *args)
     i2c = (i2c_bus *)qdev_get_child_bus(i2c_dev, "i2c");
 
     lcd_dev = sysbus_create_simple(TYPE_MUSICPAL_LCD, MP_LCD_BASE, NULL);
-    key_dev = sysbus_create_simple("musicpal_key", -1, NULL);
+    key_dev = sysbus_create_simple(TYPE_MUSICPAL_KEY, -1, NULL);
 
     /* I2C read data */
     qdev_connect_gpio_out(i2c_dev, 0,
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 13/29] pxa2xx: QOM'ify PXA2xxSSPState
  2013-07-24  7:47 [Qemu-devel] [PATCH qom-next for-1.6 00/29] arm: QOM cast cleanups Andreas Färber
                   ` (11 preceding siblings ...)
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 12/29] musicpal: QOM'ify musicpal_key_state Andreas Färber
@ 2013-07-24  7:48 ` Andreas Färber
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 14/29] pxa2xx: QOM'ify PXA2xxRTCState Andreas Färber
                   ` (15 subsequent siblings)
  28 siblings, 0 replies; 39+ messages in thread
From: Andreas Färber @ 2013-07-24  7:48 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Andreas Färber, Paul Brook

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/arm/pxa2xx.c | 28 ++++++++++++++++++----------
 1 file changed, 18 insertions(+), 10 deletions(-)

diff --git a/hw/arm/pxa2xx.c b/hw/arm/pxa2xx.c
index 3c520d7..babe22e 100644
--- a/hw/arm/pxa2xx.c
+++ b/hw/arm/pxa2xx.c
@@ -457,9 +457,16 @@ static const VMStateDescription vmstate_pxa2xx_mm = {
     }
 };
 
+#define TYPE_PXA2XX_SSP "pxa2xx-ssp"
+#define PXA2XX_SSP(obj) \
+    OBJECT_CHECK(PXA2xxSSPState, (obj), TYPE_PXA2XX_SSP)
+
 /* Synchronous Serial Ports */
 typedef struct {
-    SysBusDevice busdev;
+    /*< private >*/
+    SysBusDevice parent_obj;
+    /*< public >*/
+
     MemoryRegion iomem;
     qemu_irq irq;
     int enable;
@@ -757,19 +764,20 @@ static int pxa2xx_ssp_load(QEMUFile *f, void *opaque, int version_id)
     return 0;
 }
 
-static int pxa2xx_ssp_init(SysBusDevice *dev)
+static int pxa2xx_ssp_init(SysBusDevice *sbd)
 {
-    PXA2xxSSPState *s = FROM_SYSBUS(PXA2xxSSPState, dev);
+    DeviceState *dev = DEVICE(sbd);
+    PXA2xxSSPState *s = PXA2XX_SSP(dev);
 
-    sysbus_init_irq(dev, &s->irq);
+    sysbus_init_irq(sbd, &s->irq);
 
     memory_region_init_io(&s->iomem, OBJECT(s), &pxa2xx_ssp_ops, s,
                           "pxa2xx-ssp", 0x1000);
-    sysbus_init_mmio(dev, &s->iomem);
-    register_savevm(&dev->qdev, "pxa2xx_ssp", -1, 0,
+    sysbus_init_mmio(sbd, &s->iomem);
+    register_savevm(dev, "pxa2xx_ssp", -1, 0,
                     pxa2xx_ssp_save, pxa2xx_ssp_load, s);
 
-    s->bus = ssi_create_bus(&dev->qdev, "ssi");
+    s->bus = ssi_create_bus(dev, "ssi");
     return 0;
 }
 
@@ -2107,7 +2115,7 @@ PXA2xxState *pxa270_init(MemoryRegion *address_space,
     s->ssp = (SSIBus **)g_malloc0(sizeof(SSIBus *) * i);
     for (i = 0; pxa27x_ssp[i].io_base; i ++) {
         DeviceState *dev;
-        dev = sysbus_create_simple("pxa2xx-ssp", pxa27x_ssp[i].io_base,
+        dev = sysbus_create_simple(TYPE_PXA2XX_SSP, pxa27x_ssp[i].io_base,
                         qdev_get_gpio_in(s->pic, pxa27x_ssp[i].irqn));
         s->ssp[i] = (SSIBus *)qdev_get_child_bus(dev, "ssi");
     }
@@ -2238,7 +2246,7 @@ PXA2xxState *pxa255_init(MemoryRegion *address_space, unsigned int sdram_size)
     s->ssp = (SSIBus **)g_malloc0(sizeof(SSIBus *) * i);
     for (i = 0; pxa255_ssp[i].io_base; i ++) {
         DeviceState *dev;
-        dev = sysbus_create_simple("pxa2xx-ssp", pxa255_ssp[i].io_base,
+        dev = sysbus_create_simple(TYPE_PXA2XX_SSP, pxa255_ssp[i].io_base,
                         qdev_get_gpio_in(s->pic, pxa255_ssp[i].irqn));
         s->ssp[i] = (SSIBus *)qdev_get_child_bus(dev, "ssi");
     }
@@ -2278,7 +2286,7 @@ static void pxa2xx_ssp_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo pxa2xx_ssp_info = {
-    .name          = "pxa2xx-ssp",
+    .name          = TYPE_PXA2XX_SSP,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(PXA2xxSSPState),
     .class_init    = pxa2xx_ssp_class_init,
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 14/29] pxa2xx: QOM'ify PXA2xxRTCState
  2013-07-24  7:47 [Qemu-devel] [PATCH qom-next for-1.6 00/29] arm: QOM cast cleanups Andreas Färber
                   ` (12 preceding siblings ...)
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 13/29] pxa2xx: QOM'ify PXA2xxSSPState Andreas Färber
@ 2013-07-24  7:48 ` Andreas Färber
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 15/29] pxa2xx: QOM'ify PXA2xxI2CState Andreas Färber
                   ` (14 subsequent siblings)
  28 siblings, 0 replies; 39+ messages in thread
From: Andreas Färber @ 2013-07-24  7:48 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Andreas Färber, Paul Brook

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

diff --git a/hw/arm/pxa2xx.c b/hw/arm/pxa2xx.c
index babe22e..6548338 100644
--- a/hw/arm/pxa2xx.c
+++ b/hw/arm/pxa2xx.c
@@ -798,8 +798,15 @@ static int pxa2xx_ssp_init(SysBusDevice *sbd)
 #define RTCPICR		0x34	/* RTC Periodic Interrupt Counter register */
 #define PIAR		0x38	/* RTC Periodic Interrupt Alarm register */
 
+#define TYPE_PXA2XX_RTC "pxa2xx_rtc"
+#define PXA2XX_RTC(obj) \
+    OBJECT_CHECK(PXA2xxRTCState, (obj), TYPE_PXA2XX_RTC)
+
 typedef struct {
-    SysBusDevice busdev;
+    /*< private >*/
+    SysBusDevice parent_obj;
+    /*< public >*/
+
     MemoryRegion iomem;
     uint32_t rttr;
     uint32_t rtsr;
@@ -1110,7 +1117,7 @@ static const MemoryRegionOps pxa2xx_rtc_ops = {
 
 static int pxa2xx_rtc_init(SysBusDevice *dev)
 {
-    PXA2xxRTCState *s = FROM_SYSBUS(PXA2xxRTCState, dev);
+    PXA2xxRTCState *s = PXA2XX_RTC(dev);
     struct tm tm;
     int wom;
 
@@ -1205,7 +1212,7 @@ static void pxa2xx_rtc_sysbus_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo pxa2xx_rtc_sysbus_info = {
-    .name          = "pxa2xx_rtc",
+    .name          = TYPE_PXA2XX_RTC,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(PXA2xxRTCState),
     .class_init    = pxa2xx_rtc_sysbus_class_init,
@@ -2128,7 +2135,7 @@ PXA2xxState *pxa270_init(MemoryRegion *address_space,
     s->pcmcia[0] = pxa2xx_pcmcia_init(address_space, 0x20000000);
     s->pcmcia[1] = pxa2xx_pcmcia_init(address_space, 0x30000000);
 
-    sysbus_create_simple("pxa2xx_rtc", 0x40900000,
+    sysbus_create_simple(TYPE_PXA2XX_RTC, 0x40900000,
                     qdev_get_gpio_in(s->pic, PXA2XX_PIC_RTCALARM));
 
     s->i2c[0] = pxa2xx_i2c_init(0x40301600,
@@ -2259,7 +2266,7 @@ PXA2xxState *pxa255_init(MemoryRegion *address_space, unsigned int sdram_size)
     s->pcmcia[0] = pxa2xx_pcmcia_init(address_space, 0x20000000);
     s->pcmcia[1] = pxa2xx_pcmcia_init(address_space, 0x30000000);
 
-    sysbus_create_simple("pxa2xx_rtc", 0x40900000,
+    sysbus_create_simple(TYPE_PXA2XX_RTC, 0x40900000,
                     qdev_get_gpio_in(s->pic, PXA2XX_PIC_RTCALARM));
 
     s->i2c[0] = pxa2xx_i2c_init(0x40301600,
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 15/29] pxa2xx: QOM'ify PXA2xxI2CState
  2013-07-24  7:47 [Qemu-devel] [PATCH qom-next for-1.6 00/29] arm: QOM cast cleanups Andreas Färber
                   ` (13 preceding siblings ...)
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 14/29] pxa2xx: QOM'ify PXA2xxRTCState Andreas Färber
@ 2013-07-24  7:48 ` Andreas Färber
  2013-07-27 14:19   ` Andreas Färber
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 16/29] pxa2xx_gpio: QOM'ify PXA2xxGPIOInfo Andreas Färber
                   ` (13 subsequent siblings)
  28 siblings, 1 reply; 39+ messages in thread
From: Andreas Färber @ 2013-07-24  7:48 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Andreas Färber, Paul Brook

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/arm/pxa2xx.c | 26 +++++++++++++++++---------
 1 file changed, 17 insertions(+), 9 deletions(-)

diff --git a/hw/arm/pxa2xx.c b/hw/arm/pxa2xx.c
index 6548338..ab145ee 100644
--- a/hw/arm/pxa2xx.c
+++ b/hw/arm/pxa2xx.c
@@ -1224,8 +1224,15 @@ typedef struct {
     PXA2xxI2CState *host;
 } PXA2xxI2CSlaveState;
 
+#define TYPE_PXA2XX_I2C "pxa2xx_i2c"
+#define PXA2XX_I2C(obj) \
+    OBJECT_CHECK(PXA2xxI2CState, (obj), TYPE_PXA2XX_I2C)
+
 struct PXA2xxI2CState {
-    SysBusDevice busdev;
+    /*< private >*/
+    SysBusDevice parent_obj;
+    /*< public >*/
+
     MemoryRegion iomem;
     PXA2xxI2CSlaveState *slave;
     i2c_bus *bus;
@@ -1473,7 +1480,7 @@ PXA2xxI2CState *pxa2xx_i2c_init(hwaddr base,
     SysBusDevice *i2c_dev;
     PXA2xxI2CState *s;
 
-    i2c_dev = SYS_BUS_DEVICE(qdev_create(NULL, "pxa2xx_i2c"));
+    i2c_dev = SYS_BUS_DEVICE(qdev_create(NULL, TYPE_PXA2XX_I2C));
     qdev_prop_set_uint32(&i2c_dev->qdev, "size", region_size + 1);
     qdev_prop_set_uint32(&i2c_dev->qdev, "offset", base & region_size);
 
@@ -1482,7 +1489,7 @@ PXA2xxI2CState *pxa2xx_i2c_init(hwaddr base,
     sysbus_mmio_map(i2c_dev, 0, base & ~region_size);
     sysbus_connect_irq(i2c_dev, 0, irq);
 
-    s = FROM_SYSBUS(PXA2xxI2CState, i2c_dev);
+    s = PXA2XX_I2C(i2c_dev);
     /* FIXME: Should the slave device really be on a separate bus?  */
     dev = i2c_create_slave(i2c_init_bus(NULL, "dummy"), "pxa2xx-i2c-slave", 0);
     s->slave = FROM_I2C_SLAVE(PXA2xxI2CSlaveState, I2C_SLAVE(dev));
@@ -1491,16 +1498,17 @@ PXA2xxI2CState *pxa2xx_i2c_init(hwaddr base,
     return s;
 }
 
-static int pxa2xx_i2c_initfn(SysBusDevice *dev)
+static int pxa2xx_i2c_initfn(SysBusDevice *sbd)
 {
-    PXA2xxI2CState *s = FROM_SYSBUS(PXA2xxI2CState, dev);
+    DeviceState *dev = DEVICE(sbd);
+    PXA2xxI2CState *s = PXA2XX_I2C(dev);
 
-    s->bus = i2c_init_bus(&dev->qdev, "i2c");
+    s->bus = i2c_init_bus(dev, "i2c");
 
     memory_region_init_io(&s->iomem, OBJECT(s), &pxa2xx_i2c_ops, s,
                           "pxa2xx-i2c", s->region_size);
-    sysbus_init_mmio(dev, &s->iomem);
-    sysbus_init_irq(dev, &s->irq);
+    sysbus_init_mmio(sbd, &s->iomem);
+    sysbus_init_irq(sbd, &s->irq);
 
     return 0;
 }
@@ -1528,7 +1536,7 @@ static void pxa2xx_i2c_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo pxa2xx_i2c_info = {
-    .name          = "pxa2xx_i2c",
+    .name          = TYPE_PXA2XX_I2C,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(PXA2xxI2CState),
     .class_init    = pxa2xx_i2c_class_init,
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 16/29] pxa2xx_gpio: QOM'ify PXA2xxGPIOInfo
  2013-07-24  7:47 [Qemu-devel] [PATCH qom-next for-1.6 00/29] arm: QOM cast cleanups Andreas Färber
                   ` (14 preceding siblings ...)
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 15/29] pxa2xx: QOM'ify PXA2xxI2CState Andreas Färber
@ 2013-07-24  7:48 ` Andreas Färber
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 17/29] pxa2xx_pic: QOM'ify PXA2xxPICState Andreas Färber
                   ` (12 subsequent siblings)
  28 siblings, 0 replies; 39+ messages in thread
From: Andreas Färber @ 2013-07-24  7:48 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Andreas Färber, Paul Brook

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/arm/pxa2xx_gpio.c | 35 +++++++++++++++++++++--------------
 1 file changed, 21 insertions(+), 14 deletions(-)

diff --git a/hw/arm/pxa2xx_gpio.c b/hw/arm/pxa2xx_gpio.c
index f8c3ee0..ca77f56 100644
--- a/hw/arm/pxa2xx_gpio.c
+++ b/hw/arm/pxa2xx_gpio.c
@@ -13,9 +13,16 @@
 
 #define PXA2XX_GPIO_BANKS	4
 
+#define TYPE_PXA2XX_GPIO "pxa2xx-gpio"
+#define PXA2XX_GPIO(obj) \
+    OBJECT_CHECK(PXA2xxGPIOInfo, (obj), TYPE_PXA2XX_GPIO)
+
 typedef struct PXA2xxGPIOInfo PXA2xxGPIOInfo;
 struct PXA2xxGPIOInfo {
-    SysBusDevice busdev;
+    /*< private >*/
+    SysBusDevice parent_obj;
+    /*< public >*/
+
     MemoryRegion iomem;
     qemu_irq irq0, irq1, irqX;
     int lines;
@@ -256,7 +263,7 @@ DeviceState *pxa2xx_gpio_init(hwaddr base,
     CPUState *cs = CPU(cpu);
     DeviceState *dev;
 
-    dev = qdev_create(NULL, "pxa2xx-gpio");
+    dev = qdev_create(NULL, TYPE_PXA2XX_GPIO);
     qdev_prop_set_int32(dev, "lines", lines);
     qdev_prop_set_int32(dev, "ncpu", cs->cpu_index);
     qdev_init_nofail(dev);
@@ -272,22 +279,21 @@ DeviceState *pxa2xx_gpio_init(hwaddr base,
     return dev;
 }
 
-static int pxa2xx_gpio_initfn(SysBusDevice *dev)
+static int pxa2xx_gpio_initfn(SysBusDevice *sbd)
 {
-    PXA2xxGPIOInfo *s;
-
-    s = FROM_SYSBUS(PXA2xxGPIOInfo, dev);
+    DeviceState *dev = DEVICE(sbd);
+    PXA2xxGPIOInfo *s = PXA2XX_GPIO(dev);
 
     s->cpu = ARM_CPU(qemu_get_cpu(s->ncpu));
 
-    qdev_init_gpio_in(&dev->qdev, pxa2xx_gpio_set, s->lines);
-    qdev_init_gpio_out(&dev->qdev, s->handler, s->lines);
+    qdev_init_gpio_in(dev, pxa2xx_gpio_set, s->lines);
+    qdev_init_gpio_out(dev, s->handler, s->lines);
 
     memory_region_init_io(&s->iomem, OBJECT(s), &pxa_gpio_ops, s, "pxa2xx-gpio", 0x1000);
-    sysbus_init_mmio(dev, &s->iomem);
-    sysbus_init_irq(dev, &s->irq0);
-    sysbus_init_irq(dev, &s->irq1);
-    sysbus_init_irq(dev, &s->irqX);
+    sysbus_init_mmio(sbd, &s->iomem);
+    sysbus_init_irq(sbd, &s->irq0);
+    sysbus_init_irq(sbd, &s->irq1);
+    sysbus_init_irq(sbd, &s->irqX);
 
     return 0;
 }
@@ -298,7 +304,8 @@ static int pxa2xx_gpio_initfn(SysBusDevice *dev)
  */
 void pxa2xx_gpio_read_notifier(DeviceState *dev, qemu_irq handler)
 {
-    PXA2xxGPIOInfo *s = FROM_SYSBUS(PXA2xxGPIOInfo, SYS_BUS_DEVICE(dev));
+    PXA2xxGPIOInfo *s = PXA2XX_GPIO(dev);
+
     s->read_notify = handler;
 }
 
@@ -337,7 +344,7 @@ static void pxa2xx_gpio_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo pxa2xx_gpio_info = {
-    .name          = "pxa2xx-gpio",
+    .name          = TYPE_PXA2XX_GPIO,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(PXA2xxGPIOInfo),
     .class_init    = pxa2xx_gpio_class_init,
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 17/29] pxa2xx_pic: QOM'ify PXA2xxPICState
  2013-07-24  7:47 [Qemu-devel] [PATCH qom-next for-1.6 00/29] arm: QOM cast cleanups Andreas Färber
                   ` (15 preceding siblings ...)
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 16/29] pxa2xx_gpio: QOM'ify PXA2xxGPIOInfo Andreas Färber
@ 2013-07-24  7:48 ` Andreas Färber
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 18/29] spitz: QOM'ify SLNANDState Andreas Färber
                   ` (11 subsequent siblings)
  28 siblings, 0 replies; 39+ messages in thread
From: Andreas Färber @ 2013-07-24  7:48 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Andreas Färber, Paul Brook

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

diff --git a/hw/arm/pxa2xx_pic.c b/hw/arm/pxa2xx_pic.c
index 8929b6d..46d337c 100644
--- a/hw/arm/pxa2xx_pic.c
+++ b/hw/arm/pxa2xx_pic.c
@@ -31,8 +31,15 @@
 
 #define PXA2XX_PIC_SRCS	40
 
+#define TYPE_PXA2XX_PIC "pxa2xx_pic"
+#define PXA2XX_PIC(obj) \
+    OBJECT_CHECK(PXA2xxPICState, (obj), TYPE_PXA2XX_PIC)
+
 typedef struct {
-    SysBusDevice busdev;
+    /*< private >*/
+    SysBusDevice parent_obj;
+    /*< public >*/
+
     MemoryRegion iomem;
     ARMCPU *cpu;
     uint32_t int_enabled[2];
@@ -260,9 +267,8 @@ static int pxa2xx_pic_post_load(void *opaque, int version_id)
 
 DeviceState *pxa2xx_pic_init(hwaddr base, ARMCPU *cpu)
 {
-    CPUARMState *env = &cpu->env;
-    DeviceState *dev = qdev_create(NULL, "pxa2xx_pic");
-    PXA2xxPICState *s = FROM_SYSBUS(PXA2xxPICState, SYS_BUS_DEVICE(dev));
+    DeviceState *dev = qdev_create(NULL, TYPE_PXA2XX_PIC);
+    PXA2xxPICState *s = PXA2XX_PIC(dev);
 
     s->cpu = cpu;
 
@@ -284,7 +290,7 @@ DeviceState *pxa2xx_pic_init(hwaddr base, ARMCPU *cpu)
     sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, base);
 
     /* Enable IC coprocessor access.  */
-    define_arm_cp_regs_with_opaque(arm_env_get_cpu(env), pxa_pic_cp_reginfo, s);
+    define_arm_cp_regs_with_opaque(cpu, pxa_pic_cp_reginfo, s);
 
     return dev;
 }
@@ -321,7 +327,7 @@ static void pxa2xx_pic_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo pxa2xx_pic_info = {
-    .name          = "pxa2xx_pic",
+    .name          = TYPE_PXA2XX_PIC,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(PXA2xxPICState),
     .class_init    = pxa2xx_pic_class_init,
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 18/29] spitz: QOM'ify SLNANDState
  2013-07-24  7:47 [Qemu-devel] [PATCH qom-next for-1.6 00/29] arm: QOM cast cleanups Andreas Färber
                   ` (16 preceding siblings ...)
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 17/29] pxa2xx_pic: QOM'ify PXA2xxPICState Andreas Färber
@ 2013-07-24  7:48 ` Andreas Färber
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 19/29] spitz: QOM'ify SpitzKeyboardState Andreas Färber
                   ` (10 subsequent siblings)
  28 siblings, 0 replies; 39+ messages in thread
From: Andreas Färber @ 2013-07-24  7:48 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Andreas Färber, Paul Brook

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/arm/spitz.c | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/hw/arm/spitz.c b/hw/arm/spitz.c
index 593b75e..0bf5c5c 100644
--- a/hw/arm/spitz.c
+++ b/hw/arm/spitz.c
@@ -50,8 +50,12 @@
 #define FLASHCTL_RYBY		(1 << 5)
 #define FLASHCTL_NCE		(FLASHCTL_CE0 | FLASHCTL_CE1)
 
+#define TYPE_SL_NAND "sl-nand"
+#define SL_NAND(obj) OBJECT_CHECK(SLNANDState, (obj), TYPE_SL_NAND)
+
 typedef struct {
-    SysBusDevice busdev;
+    SysBusDevice parent_obj;
+
     MemoryRegion iomem;
     DeviceState *nand;
     uint8_t ctl;
@@ -147,7 +151,7 @@ static void sl_flash_register(PXA2xxState *cpu, int size)
 {
     DeviceState *dev;
 
-    dev = qdev_create(NULL, "sl-nand");
+    dev = qdev_create(NULL, TYPE_SL_NAND);
 
     qdev_prop_set_uint8(dev, "manf_id", NAND_MFR_SAMSUNG);
     if (size == FLASH_128M)
@@ -159,12 +163,11 @@ static void sl_flash_register(PXA2xxState *cpu, int size)
     sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, FLASH_BASE);
 }
 
-static int sl_nand_init(SysBusDevice *dev) {
-    SLNANDState *s;
+static int sl_nand_init(SysBusDevice *dev)
+{
+    SLNANDState *s = SL_NAND(dev);
     DriveInfo *nand;
 
-    s = FROM_SYSBUS(SLNANDState, dev);
-
     s->ctl = 0;
     nand = drive_get(IF_MTD, 0, 0);
     s->nand = nand_init(nand ? nand->bdrv : NULL, s->manf_id, s->chip_id);
@@ -1027,7 +1030,7 @@ static void sl_nand_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo sl_nand_info = {
-    .name          = "sl-nand",
+    .name          = TYPE_SL_NAND,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(SLNANDState),
     .class_init    = sl_nand_class_init,
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 19/29] spitz: QOM'ify SpitzKeyboardState
  2013-07-24  7:47 [Qemu-devel] [PATCH qom-next for-1.6 00/29] arm: QOM cast cleanups Andreas Färber
                   ` (17 preceding siblings ...)
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 18/29] spitz: QOM'ify SLNANDState Andreas Färber
@ 2013-07-24  7:48 ` Andreas Färber
  2013-07-27 14:12   ` Andreas Färber
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 20/29] stellaris: QOM'ify gptm_state Andreas Färber
                   ` (9 subsequent siblings)
  28 siblings, 1 reply; 39+ messages in thread
From: Andreas Färber @ 2013-07-24  7:48 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Andreas Färber, Paul Brook

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/arm/spitz.c | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/hw/arm/spitz.c b/hw/arm/spitz.c
index 0bf5c5c..70f23b3 100644
--- a/hw/arm/spitz.c
+++ b/hw/arm/spitz.c
@@ -215,8 +215,13 @@ static const int spitz_gpiomap[5] = {
     SPITZ_GPIO_SWA, SPITZ_GPIO_SWB,
 };
 
+#define TYPE_SPITZ_KEYBOARD "spitz-keyboard"
+#define SPITZ_KEYBOARD(obj) \
+    OBJECT_CHECK(SpitzKeyboardState, (obj), TYPE_SPITZ_KEYBOARD)
+
 typedef struct {
-    SysBusDevice busdev;
+    SysBusDevice parent_obj;
+
     qemu_irq sense[SPITZ_KEY_SENSE_NUM];
     qemu_irq gpiomap[5];
     int keymap[0x80];
@@ -461,8 +466,8 @@ static void spitz_keyboard_register(PXA2xxState *cpu)
     DeviceState *dev;
     SpitzKeyboardState *s;
 
-    dev = sysbus_create_simple("spitz-keyboard", -1, NULL);
-    s = FROM_SYSBUS(SpitzKeyboardState, SYS_BUS_DEVICE(dev));
+    dev = sysbus_create_simple(TYPE_SPITZ_KEYBOARD, -1, NULL);
+    s = SPITZ_KEYBOARD(dev);
 
     for (i = 0; i < SPITZ_KEY_SENSE_NUM; i ++)
         qdev_connect_gpio_out(dev, i, qdev_get_gpio_in(cpu->gpio, spitz_gpio_key_sense[i]));
@@ -487,11 +492,9 @@ static void spitz_keyboard_register(PXA2xxState *cpu)
 
 static int spitz_keyboard_init(SysBusDevice *dev)
 {
-    SpitzKeyboardState *s;
+    SpitzKeyboardState *s = SPITZ_KEYBOARD(dev);
     int i, j;
 
-    s = FROM_SYSBUS(SpitzKeyboardState, dev);
-
     for (i = 0; i < 0x80; i ++)
         s->keymap[i] = -1;
     for (i = 0; i < SPITZ_KEY_SENSE_NUM + 1; i ++)
@@ -1065,7 +1068,7 @@ static void spitz_keyboard_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo spitz_keyboard_info = {
-    .name          = "spitz-keyboard",
+    .name          = TYPE_SPITZ_KEYBOARD,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(SpitzKeyboardState),
     .class_init    = spitz_keyboard_class_init,
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 20/29] stellaris: QOM'ify gptm_state
  2013-07-24  7:47 [Qemu-devel] [PATCH qom-next for-1.6 00/29] arm: QOM cast cleanups Andreas Färber
                   ` (18 preceding siblings ...)
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 19/29] spitz: QOM'ify SpitzKeyboardState Andreas Färber
@ 2013-07-24  7:48 ` Andreas Färber
  2013-07-27 14:15   ` Andreas Färber
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 21/29] stellaris: QOM'ify stellaris_i2c_state Andreas Färber
                   ` (8 subsequent siblings)
  28 siblings, 1 reply; 39+ messages in thread
From: Andreas Färber @ 2013-07-24  7:48 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Andreas Färber, Paul Brook

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

diff --git a/hw/arm/stellaris.c b/hw/arm/stellaris.c
index a2b6b17..1c69bcf 100644
--- a/hw/arm/stellaris.c
+++ b/hw/arm/stellaris.c
@@ -43,8 +43,13 @@ typedef const struct {
 
 /* General purpose timer module.  */
 
+#define TYPE_STELLARIS_GPTM "stellaris-gptm"
+#define STELLARIS_GPTM(obj) \
+    OBJECT_CHECK(gptm_state, (obj), TYPE_STELLARIS_GPTM)
+
 typedef struct gptm_state {
-    SysBusDevice busdev;
+    SysBusDevice parent_obj;
+
     MemoryRegion iomem;
     uint32_t config;
     uint32_t mode[2];
@@ -302,7 +307,7 @@ static const VMStateDescription vmstate_stellaris_gptm = {
 
 static int stellaris_gptm_init(SysBusDevice *dev)
 {
-    gptm_state *s = FROM_SYSBUS(gptm_state, dev);
+    gptm_state *s = STELLARIS_GPTM(dev);
 
     sysbus_init_irq(dev, &s->irq);
     qdev_init_gpio_out(&dev->qdev, &s->trigger, 1);
@@ -1215,7 +1220,7 @@ static void stellaris_init(const char *kernel_filename, const char *cpu_model,
     }
     for (i = 0; i < 4; i++) {
         if (board->dc2 & (0x10000 << i)) {
-            dev = sysbus_create_simple("stellaris-gptm",
+            dev = sysbus_create_simple(TYPE_STELLARIS_GPTM,
                                        0x40030000 + i * 0x1000,
                                        pic[timer_irq[i]]);
             /* TODO: This is incorrect, but we get away with it because
@@ -1371,7 +1376,7 @@ static void stellaris_gptm_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo stellaris_gptm_info = {
-    .name          = "stellaris-gptm",
+    .name          = TYPE_STELLARIS_GPTM,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(gptm_state),
     .class_init    = stellaris_gptm_class_init,
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 21/29] stellaris: QOM'ify stellaris_i2c_state
  2013-07-24  7:47 [Qemu-devel] [PATCH qom-next for-1.6 00/29] arm: QOM cast cleanups Andreas Färber
                   ` (19 preceding siblings ...)
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 20/29] stellaris: QOM'ify gptm_state Andreas Färber
@ 2013-07-24  7:48 ` Andreas Färber
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 22/29] stellaris: QOM'ify stellaris_adc_state Andreas Färber
                   ` (7 subsequent siblings)
  28 siblings, 0 replies; 39+ messages in thread
From: Andreas Färber @ 2013-07-24  7:48 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Andreas Färber, Paul Brook

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/arm/stellaris.c | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/hw/arm/stellaris.c b/hw/arm/stellaris.c
index 1c69bcf..15093ba 100644
--- a/hw/arm/stellaris.c
+++ b/hw/arm/stellaris.c
@@ -684,8 +684,13 @@ static int stellaris_sys_init(uint32_t base, qemu_irq irq,
 
 /* I2C controller.  */
 
+#define TYPE_STELLARIS_I2C "stellaris-i2c"
+#define STELLARIS_I2C(obj) \
+    OBJECT_CHECK(stellaris_i2c_state, (obj), TYPE_STELLARIS_I2C)
+
 typedef struct {
-    SysBusDevice busdev;
+    SysBusDevice parent_obj;
+
     i2c_bus *bus;
     qemu_irq irq;
     MemoryRegion iomem;
@@ -858,21 +863,22 @@ static const VMStateDescription vmstate_stellaris_i2c = {
     }
 };
 
-static int stellaris_i2c_init(SysBusDevice * dev)
+static int stellaris_i2c_init(SysBusDevice *sbd)
 {
-    stellaris_i2c_state *s = FROM_SYSBUS(stellaris_i2c_state, dev);
+    DeviceState *dev = DEVICE(sbd);
+    stellaris_i2c_state *s = STELLARIS_I2C(dev);
     i2c_bus *bus;
 
-    sysbus_init_irq(dev, &s->irq);
-    bus = i2c_init_bus(&dev->qdev, "i2c");
+    sysbus_init_irq(sbd, &s->irq);
+    bus = i2c_init_bus(dev, "i2c");
     s->bus = bus;
 
     memory_region_init_io(&s->iomem, OBJECT(s), &stellaris_i2c_ops, s,
                           "i2c", 0x1000);
-    sysbus_init_mmio(dev, &s->iomem);
+    sysbus_init_mmio(sbd, &s->iomem);
     /* ??? For now we only implement the master interface.  */
     stellaris_i2c_reset(s);
-    vmstate_register(&dev->qdev, -1, &vmstate_stellaris_i2c, s);
+    vmstate_register(dev, -1, &vmstate_stellaris_i2c, s);
     return 0;
 }
 
@@ -1243,7 +1249,7 @@ static void stellaris_init(const char *kernel_filename, const char *cpu_model,
     }
 
     if (board->dc2 & (1 << 12)) {
-        dev = sysbus_create_simple("stellaris-i2c", 0x40020000, pic[8]);
+        dev = sysbus_create_simple(TYPE_STELLARIS_I2C, 0x40020000, pic[8]);
         i2c = (i2c_bus *)qdev_get_child_bus(dev, "i2c");
         if (board->peripherals & BP_OLED_I2C) {
             i2c_create_slave(i2c, "ssd0303", 0x3d);
@@ -1362,7 +1368,7 @@ static void stellaris_i2c_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo stellaris_i2c_info = {
-    .name          = "stellaris-i2c",
+    .name          = TYPE_STELLARIS_I2C,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(stellaris_i2c_state),
     .class_init    = stellaris_i2c_class_init,
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 22/29] stellaris: QOM'ify stellaris_adc_state
  2013-07-24  7:47 [Qemu-devel] [PATCH qom-next for-1.6 00/29] arm: QOM cast cleanups Andreas Färber
                   ` (20 preceding siblings ...)
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 21/29] stellaris: QOM'ify stellaris_i2c_state Andreas Färber
@ 2013-07-24  7:48 ` Andreas Färber
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 23/29] strongarm: QOM'ify StrongARMPICState Andreas Färber
                   ` (6 subsequent siblings)
  28 siblings, 0 replies; 39+ messages in thread
From: Andreas Färber @ 2013-07-24  7:48 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Andreas Färber, Paul Brook

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/arm/stellaris.c | 27 ++++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)

diff --git a/hw/arm/stellaris.c b/hw/arm/stellaris.c
index 15093ba..27205d0 100644
--- a/hw/arm/stellaris.c
+++ b/hw/arm/stellaris.c
@@ -896,9 +896,13 @@ static int stellaris_i2c_init(SysBusDevice *sbd)
 #define STELLARIS_ADC_FIFO_EMPTY    0x0100
 #define STELLARIS_ADC_FIFO_FULL     0x1000
 
-typedef struct
-{
-    SysBusDevice busdev;
+#define TYPE_STELLARIS_ADC "stellaris-adc"
+#define STELLARIS_ADC(obj) \
+    OBJECT_CHECK(stellaris_adc_state, (obj), TYPE_STELLARIS_ADC)
+
+typedef struct StellarisADCState {
+    SysBusDevice parent_obj;
+
     MemoryRegion iomem;
     uint32_t actss;
     uint32_t ris;
@@ -1147,21 +1151,22 @@ static const VMStateDescription vmstate_stellaris_adc = {
     }
 };
 
-static int stellaris_adc_init(SysBusDevice *dev)
+static int stellaris_adc_init(SysBusDevice *sbd)
 {
-    stellaris_adc_state *s = FROM_SYSBUS(stellaris_adc_state, dev);
+    DeviceState *dev = DEVICE(sbd);
+    stellaris_adc_state *s = STELLARIS_ADC(dev);
     int n;
 
     for (n = 0; n < 4; n++) {
-        sysbus_init_irq(dev, &s->irq[n]);
+        sysbus_init_irq(sbd, &s->irq[n]);
     }
 
     memory_region_init_io(&s->iomem, OBJECT(s), &stellaris_adc_ops, s,
                           "adc", 0x1000);
-    sysbus_init_mmio(dev, &s->iomem);
+    sysbus_init_mmio(sbd, &s->iomem);
     stellaris_adc_reset(s);
-    qdev_init_gpio_in(&dev->qdev, stellaris_adc_trigger, 1);
-    vmstate_register(&dev->qdev, -1, &vmstate_stellaris_adc, s);
+    qdev_init_gpio_in(dev, stellaris_adc_trigger, 1);
+    vmstate_register(dev, -1, &vmstate_stellaris_adc, s);
     return 0;
 }
 
@@ -1218,7 +1223,7 @@ static void stellaris_init(const char *kernel_filename, const char *cpu_model,
                       flash_size, sram_size, kernel_filename, cpu_model);
 
     if (board->dc1 & (1 << 16)) {
-        dev = sysbus_create_varargs("stellaris-adc", 0x40038000,
+        dev = sysbus_create_varargs(TYPE_STELLARIS_ADC, 0x40038000,
                                     pic[14], pic[15], pic[16], pic[17], NULL);
         adc = qdev_get_gpio_in(dev, 0);
     } else {
@@ -1396,7 +1401,7 @@ static void stellaris_adc_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo stellaris_adc_info = {
-    .name          = "stellaris-adc",
+    .name          = TYPE_STELLARIS_ADC,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(stellaris_adc_state),
     .class_init    = stellaris_adc_class_init,
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 23/29] strongarm: QOM'ify StrongARMPICState
  2013-07-24  7:47 [Qemu-devel] [PATCH qom-next for-1.6 00/29] arm: QOM cast cleanups Andreas Färber
                   ` (21 preceding siblings ...)
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 22/29] stellaris: QOM'ify stellaris_adc_state Andreas Färber
@ 2013-07-24  7:48 ` Andreas Färber
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 24/29] strongarm: QOM'ify StrongARMRTCState Andreas Färber
                   ` (5 subsequent siblings)
  28 siblings, 0 replies; 39+ messages in thread
From: Andreas Färber @ 2013-07-24  7:48 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Andreas Färber, Paul Brook

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

diff --git a/hw/arm/strongarm.c b/hw/arm/strongarm.c
index feaaf45..457f9c7 100644
--- a/hw/arm/strongarm.c
+++ b/hw/arm/strongarm.c
@@ -70,8 +70,14 @@ static struct {
 };
 
 /* Interrupt Controller */
-typedef struct {
-    SysBusDevice busdev;
+
+#define TYPE_STRONGARM_PIC "strongarm_pic"
+#define STRONGARM_PIC(obj) \
+    OBJECT_CHECK(StrongARMPICState, (obj), TYPE_STRONGARM_PIC)
+
+typedef struct StrongARMPICState {
+    SysBusDevice parent_obj;
+
     MemoryRegion iomem;
     qemu_irq    irq;
     qemu_irq    fiq;
@@ -168,16 +174,17 @@ static const MemoryRegionOps strongarm_pic_ops = {
     .endianness = DEVICE_NATIVE_ENDIAN,
 };
 
-static int strongarm_pic_initfn(SysBusDevice *dev)
+static int strongarm_pic_initfn(SysBusDevice *sbd)
 {
-    StrongARMPICState *s = FROM_SYSBUS(StrongARMPICState, dev);
+    DeviceState *dev = DEVICE(sbd);
+    StrongARMPICState *s = STRONGARM_PIC(dev);
 
-    qdev_init_gpio_in(&dev->qdev, strongarm_pic_set_irq, SA_PIC_SRCS);
+    qdev_init_gpio_in(dev, strongarm_pic_set_irq, SA_PIC_SRCS);
     memory_region_init_io(&s->iomem, OBJECT(s), &strongarm_pic_ops, s,
                           "pic", 0x1000);
-    sysbus_init_mmio(dev, &s->iomem);
-    sysbus_init_irq(dev, &s->irq);
-    sysbus_init_irq(dev, &s->fiq);
+    sysbus_init_mmio(sbd, &s->iomem);
+    sysbus_init_irq(sbd, &s->irq);
+    sysbus_init_irq(sbd, &s->fiq);
 
     return 0;
 }
@@ -214,7 +221,7 @@ static void strongarm_pic_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo strongarm_pic_info = {
-    .name          = "strongarm_pic",
+    .name          = TYPE_STRONGARM_PIC,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(StrongARMPICState),
     .class_init    = strongarm_pic_class_init,
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 24/29] strongarm: QOM'ify StrongARMRTCState
  2013-07-24  7:47 [Qemu-devel] [PATCH qom-next for-1.6 00/29] arm: QOM cast cleanups Andreas Färber
                   ` (22 preceding siblings ...)
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 23/29] strongarm: QOM'ify StrongARMPICState Andreas Färber
@ 2013-07-24  7:48 ` Andreas Färber
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 25/29] strongarm: QOM'ify StrongARMGPIOInfo Andreas Färber
                   ` (4 subsequent siblings)
  28 siblings, 0 replies; 39+ messages in thread
From: Andreas Färber @ 2013-07-24  7:48 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Andreas Färber, Paul Brook

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/arm/strongarm.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/hw/arm/strongarm.c b/hw/arm/strongarm.c
index 457f9c7..78211a0 100644
--- a/hw/arm/strongarm.c
+++ b/hw/arm/strongarm.c
@@ -242,8 +242,13 @@ static const TypeInfo strongarm_pic_info = {
  * trim delete isn't emulated, so
  * f = 32 768 / (RTTR_trim + 1) */
 
-typedef struct {
-    SysBusDevice busdev;
+#define TYPE_STRONGARM_RTC "strongarm-rtc"
+#define STRONGARM_RTC(obj) \
+    OBJECT_CHECK(StrongARMRTCState, (obj), TYPE_STRONGARM_RTC)
+
+typedef struct StrongARMRTCState {
+    SysBusDevice parent_obj;
+
     MemoryRegion iomem;
     uint32_t rttr;
     uint32_t rtsr;
@@ -374,7 +379,7 @@ static const MemoryRegionOps strongarm_rtc_ops = {
 
 static int strongarm_rtc_init(SysBusDevice *dev)
 {
-    StrongARMRTCState *s = FROM_SYSBUS(StrongARMRTCState, dev);
+    StrongARMRTCState *s = STRONGARM_RTC(dev);
     struct tm tm;
 
     s->rttr = 0x0;
@@ -443,7 +448,7 @@ static void strongarm_rtc_sysbus_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo strongarm_rtc_sysbus_info = {
-    .name          = "strongarm-rtc",
+    .name          = TYPE_STRONGARM_RTC,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(StrongARMRTCState),
     .class_init    = strongarm_rtc_sysbus_class_init,
@@ -1599,7 +1604,7 @@ StrongARMState *sa1110_init(MemoryRegion *sysmem,
                     qdev_get_gpio_in(s->pic, SA_PIC_OSTC3),
                     NULL);
 
-    sysbus_create_simple("strongarm-rtc", 0x90010000,
+    sysbus_create_simple(TYPE_STRONGARM_RTC, 0x90010000,
                     qdev_get_gpio_in(s->pic, SA_PIC_RTC_ALARM));
 
     s->gpio = strongarm_gpio_init(0x90040000, s->pic);
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 25/29] strongarm: QOM'ify StrongARMGPIOInfo
  2013-07-24  7:47 [Qemu-devel] [PATCH qom-next for-1.6 00/29] arm: QOM cast cleanups Andreas Färber
                   ` (23 preceding siblings ...)
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 24/29] strongarm: QOM'ify StrongARMRTCState Andreas Färber
@ 2013-07-24  7:48 ` Andreas Färber
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 26/29] strongarm: QOM'ify StrongARMPPCInfo Andreas Färber
                   ` (3 subsequent siblings)
  28 siblings, 0 replies; 39+ messages in thread
From: Andreas Färber @ 2013-07-24  7:48 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Andreas Färber, Paul Brook

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/arm/strongarm.c | 25 ++++++++++++++-----------
 1 file changed, 14 insertions(+), 11 deletions(-)

diff --git a/hw/arm/strongarm.c b/hw/arm/strongarm.c
index 78211a0..efb56b3 100644
--- a/hw/arm/strongarm.c
+++ b/hw/arm/strongarm.c
@@ -464,6 +464,10 @@ static const TypeInfo strongarm_rtc_sysbus_info = {
 #define GEDR 0x18
 #define GAFR 0x1c
 
+#define TYPE_STRONGARM_GPIO "strongarm-gpio"
+#define STRONGARM_GPIO(obj) \
+    OBJECT_CHECK(StrongARMGPIOInfo, (obj), TYPE_STRONGARM_GPIO)
+
 typedef struct StrongARMGPIOInfo StrongARMGPIOInfo;
 struct StrongARMGPIOInfo {
     SysBusDevice busdev;
@@ -630,7 +634,7 @@ static DeviceState *strongarm_gpio_init(hwaddr base,
     DeviceState *dev;
     int i;
 
-    dev = qdev_create(NULL, "strongarm-gpio");
+    dev = qdev_create(NULL, TYPE_STRONGARM_GPIO);
     qdev_init_nofail(dev);
 
     sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, base);
@@ -641,24 +645,23 @@ static DeviceState *strongarm_gpio_init(hwaddr base,
     return dev;
 }
 
-static int strongarm_gpio_initfn(SysBusDevice *dev)
+static int strongarm_gpio_initfn(SysBusDevice *sbd)
 {
-    StrongARMGPIOInfo *s;
+    DeviceState *dev = DEVICE(sbd);
+    StrongARMGPIOInfo *s = STRONGARM_GPIO(dev);
     int i;
 
-    s = FROM_SYSBUS(StrongARMGPIOInfo, dev);
-
-    qdev_init_gpio_in(&dev->qdev, strongarm_gpio_set, 28);
-    qdev_init_gpio_out(&dev->qdev, s->handler, 28);
+    qdev_init_gpio_in(dev, strongarm_gpio_set, 28);
+    qdev_init_gpio_out(dev, s->handler, 28);
 
     memory_region_init_io(&s->iomem, OBJECT(s), &strongarm_gpio_ops, s,
                           "gpio", 0x1000);
 
-    sysbus_init_mmio(dev, &s->iomem);
+    sysbus_init_mmio(sbd, &s->iomem);
     for (i = 0; i < 11; i++) {
-        sysbus_init_irq(dev, &s->irqs[i]);
+        sysbus_init_irq(sbd, &s->irqs[i]);
     }
-    sysbus_init_irq(dev, &s->irqX);
+    sysbus_init_irq(sbd, &s->irqX);
 
     return 0;
 }
@@ -690,7 +693,7 @@ static void strongarm_gpio_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo strongarm_gpio_info = {
-    .name          = "strongarm-gpio",
+    .name          = TYPE_STRONGARM_GPIO,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(StrongARMGPIOInfo),
     .class_init    = strongarm_gpio_class_init,
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 26/29] strongarm: QOM'ify StrongARMPPCInfo
  2013-07-24  7:47 [Qemu-devel] [PATCH qom-next for-1.6 00/29] arm: QOM cast cleanups Andreas Färber
                   ` (24 preceding siblings ...)
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 25/29] strongarm: QOM'ify StrongARMGPIOInfo Andreas Färber
@ 2013-07-24  7:48 ` Andreas Färber
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 27/29] strongarm: QOM'ify StrongARMUARTState Andreas Färber
                   ` (2 subsequent siblings)
  28 siblings, 0 replies; 39+ messages in thread
From: Andreas Färber @ 2013-07-24  7:48 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Andreas Färber, Paul Brook

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/arm/strongarm.c | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/hw/arm/strongarm.c b/hw/arm/strongarm.c
index efb56b3..421ac54 100644
--- a/hw/arm/strongarm.c
+++ b/hw/arm/strongarm.c
@@ -706,9 +706,14 @@ static const TypeInfo strongarm_gpio_info = {
 #define PSDR 0x0c
 #define PPFR 0x10
 
+#define TYPE_STRONGARM_PPC "strongarm-ppc"
+#define STRONGARM_PPC(obj) \
+    OBJECT_CHECK(StrongARMPPCInfo, (obj), TYPE_STRONGARM_PPC)
+
 typedef struct StrongARMPPCInfo StrongARMPPCInfo;
 struct StrongARMPPCInfo {
-    SysBusDevice busdev;
+    SysBusDevice parent_obj;
+
     MemoryRegion iomem;
     qemu_irq handler[28];
 
@@ -817,19 +822,18 @@ static const MemoryRegionOps strongarm_ppc_ops = {
     .endianness = DEVICE_NATIVE_ENDIAN,
 };
 
-static int strongarm_ppc_init(SysBusDevice *dev)
+static int strongarm_ppc_init(SysBusDevice *sbd)
 {
-    StrongARMPPCInfo *s;
-
-    s = FROM_SYSBUS(StrongARMPPCInfo, dev);
+    DeviceState *dev = DEVICE(sbd);
+    StrongARMPPCInfo *s = STRONGARM_PPC(dev);
 
-    qdev_init_gpio_in(&dev->qdev, strongarm_ppc_set, 22);
-    qdev_init_gpio_out(&dev->qdev, s->handler, 22);
+    qdev_init_gpio_in(dev, strongarm_ppc_set, 22);
+    qdev_init_gpio_out(dev, s->handler, 22);
 
     memory_region_init_io(&s->iomem, OBJECT(s), &strongarm_ppc_ops, s,
                           "ppc", 0x1000);
 
-    sysbus_init_mmio(dev, &s->iomem);
+    sysbus_init_mmio(sbd, &s->iomem);
 
     return 0;
 }
@@ -860,7 +864,7 @@ static void strongarm_ppc_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo strongarm_ppc_info = {
-    .name          = "strongarm-ppc",
+    .name          = TYPE_STRONGARM_PPC,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(StrongARMPPCInfo),
     .class_init    = strongarm_ppc_class_init,
@@ -1612,7 +1616,7 @@ StrongARMState *sa1110_init(MemoryRegion *sysmem,
 
     s->gpio = strongarm_gpio_init(0x90040000, s->pic);
 
-    s->ppc = sysbus_create_varargs("strongarm-ppc", 0x90060000, NULL);
+    s->ppc = sysbus_create_varargs(TYPE_STRONGARM_PPC, 0x90060000, NULL);
 
     for (i = 0; sa_serial[i].io_base; i++) {
         DeviceState *dev = qdev_create(NULL, "strongarm-uart");
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 27/29] strongarm: QOM'ify StrongARMUARTState
  2013-07-24  7:47 [Qemu-devel] [PATCH qom-next for-1.6 00/29] arm: QOM cast cleanups Andreas Färber
                   ` (25 preceding siblings ...)
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 26/29] strongarm: QOM'ify StrongARMPPCInfo Andreas Färber
@ 2013-07-24  7:48 ` Andreas Färber
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 28/29] strongarm: QOM'ify StrongARMSSPState Andreas Färber
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 29/29] versatilepb: QOM'ify vpb_sic_state Andreas Färber
  28 siblings, 0 replies; 39+ messages in thread
From: Andreas Färber @ 2013-07-24  7:48 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Andreas Färber, Paul Brook

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/arm/strongarm.c | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/hw/arm/strongarm.c b/hw/arm/strongarm.c
index 421ac54..61c2b22 100644
--- a/hw/arm/strongarm.c
+++ b/hw/arm/strongarm.c
@@ -908,8 +908,13 @@ static const TypeInfo strongarm_ppc_info = {
 #define RX_FIFO_FRE (1 << 9)
 #define RX_FIFO_ROR (1 << 10)
 
-typedef struct {
-    SysBusDevice busdev;
+#define TYPE_STRONGARM_UART "strongarm-uart"
+#define STRONGARM_UART(obj) \
+    OBJECT_CHECK(StrongARMUARTState, (obj), TYPE_STRONGARM_UART)
+
+typedef struct StrongARMUARTState {
+    SysBusDevice parent_obj;
+
     MemoryRegion iomem;
     CharDriverState *chr;
     qemu_irq irq;
@@ -1225,7 +1230,7 @@ static const MemoryRegionOps strongarm_uart_ops = {
 
 static int strongarm_uart_init(SysBusDevice *dev)
 {
-    StrongARMUARTState *s = FROM_SYSBUS(StrongARMUARTState, dev);
+    StrongARMUARTState *s = STRONGARM_UART(dev);
 
     memory_region_init_io(&s->iomem, OBJECT(s), &strongarm_uart_ops, s,
                           "uart", 0x10000);
@@ -1248,7 +1253,7 @@ static int strongarm_uart_init(SysBusDevice *dev)
 
 static void strongarm_uart_reset(DeviceState *dev)
 {
-    StrongARMUARTState *s = DO_UPCAST(StrongARMUARTState, busdev.qdev, dev);
+    StrongARMUARTState *s = STRONGARM_UART(dev);
 
     s->utcr0 = UTCR0_DSS; /* 8 data, no parity */
     s->brd = 23;    /* 9600 */
@@ -1324,7 +1329,7 @@ static void strongarm_uart_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo strongarm_uart_info = {
-    .name          = "strongarm-uart",
+    .name          = TYPE_STRONGARM_UART,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(StrongARMUARTState),
     .class_init    = strongarm_uart_class_init,
@@ -1619,7 +1624,7 @@ StrongARMState *sa1110_init(MemoryRegion *sysmem,
     s->ppc = sysbus_create_varargs(TYPE_STRONGARM_PPC, 0x90060000, NULL);
 
     for (i = 0; sa_serial[i].io_base; i++) {
-        DeviceState *dev = qdev_create(NULL, "strongarm-uart");
+        DeviceState *dev = qdev_create(NULL, TYPE_STRONGARM_UART);
         qdev_prop_set_chr(dev, "chardev", serial_hds[i]);
         qdev_init_nofail(dev);
         sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0,
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 28/29] strongarm: QOM'ify StrongARMSSPState
  2013-07-24  7:47 [Qemu-devel] [PATCH qom-next for-1.6 00/29] arm: QOM cast cleanups Andreas Färber
                   ` (26 preceding siblings ...)
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 27/29] strongarm: QOM'ify StrongARMUARTState Andreas Färber
@ 2013-07-24  7:48 ` Andreas Färber
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 29/29] versatilepb: QOM'ify vpb_sic_state Andreas Färber
  28 siblings, 0 replies; 39+ messages in thread
From: Andreas Färber @ 2013-07-24  7:48 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Andreas Färber, Paul Brook

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/arm/strongarm.c | 28 ++++++++++++++++++----------
 1 file changed, 18 insertions(+), 10 deletions(-)

diff --git a/hw/arm/strongarm.c b/hw/arm/strongarm.c
index 61c2b22..82a9492 100644
--- a/hw/arm/strongarm.c
+++ b/hw/arm/strongarm.c
@@ -1336,8 +1336,14 @@ static const TypeInfo strongarm_uart_info = {
 };
 
 /* Synchronous Serial Ports */
-typedef struct {
-    SysBusDevice busdev;
+
+#define TYPE_STRONGARM_SSP "strongarm-ssp"
+#define STRONGARM_SSP(obj) \
+    OBJECT_CHECK(StrongARMSSPState, (obj), TYPE_STRONGARM_SSP)
+
+typedef struct StrongARMSSPState {
+    SysBusDevice parent_obj;
+
     MemoryRegion iomem;
     qemu_irq irq;
     SSIBus *bus;
@@ -1519,23 +1525,25 @@ static int strongarm_ssp_post_load(void *opaque, int version_id)
     return 0;
 }
 
-static int strongarm_ssp_init(SysBusDevice *dev)
+static int strongarm_ssp_init(SysBusDevice *sbd)
 {
-    StrongARMSSPState *s = FROM_SYSBUS(StrongARMSSPState, dev);
+    DeviceState *dev = DEVICE(sbd);
+    StrongARMSSPState *s = STRONGARM_SSP(dev);
 
-    sysbus_init_irq(dev, &s->irq);
+    sysbus_init_irq(sbd, &s->irq);
 
     memory_region_init_io(&s->iomem, OBJECT(s), &strongarm_ssp_ops, s,
                           "ssp", 0x1000);
-    sysbus_init_mmio(dev, &s->iomem);
+    sysbus_init_mmio(sbd, &s->iomem);
 
-    s->bus = ssi_create_bus(&dev->qdev, "ssi");
+    s->bus = ssi_create_bus(dev, "ssi");
     return 0;
 }
 
 static void strongarm_ssp_reset(DeviceState *dev)
 {
-    StrongARMSSPState *s = DO_UPCAST(StrongARMSSPState, busdev.qdev, dev);
+    StrongARMSSPState *s = STRONGARM_SSP(dev);
+
     s->sssr = 0x03; /* 3 bit data, SPI, disabled */
     s->rx_start = 0;
     s->rx_level = 0;
@@ -1569,7 +1577,7 @@ static void strongarm_ssp_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo strongarm_ssp_info = {
-    .name          = "strongarm-ssp",
+    .name          = TYPE_STRONGARM_SSP,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(StrongARMSSPState),
     .class_init    = strongarm_ssp_class_init,
@@ -1633,7 +1641,7 @@ StrongARMState *sa1110_init(MemoryRegion *sysmem,
                 qdev_get_gpio_in(s->pic, sa_serial[i].irq));
     }
 
-    s->ssp = sysbus_create_varargs("strongarm-ssp", 0x80070000,
+    s->ssp = sysbus_create_varargs(TYPE_STRONGARM_SSP, 0x80070000,
                 qdev_get_gpio_in(s->pic, SA_PIC_SSP), NULL);
     s->ssp_bus = (SSIBus *)qdev_get_child_bus(s->ssp, "ssi");
 
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 29/29] versatilepb: QOM'ify vpb_sic_state
  2013-07-24  7:47 [Qemu-devel] [PATCH qom-next for-1.6 00/29] arm: QOM cast cleanups Andreas Färber
                   ` (27 preceding siblings ...)
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 28/29] strongarm: QOM'ify StrongARMSSPState Andreas Färber
@ 2013-07-24  7:48 ` Andreas Färber
  28 siblings, 0 replies; 39+ messages in thread
From: Andreas Färber @ 2013-07-24  7:48 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Andreas Färber, Paul Brook

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/arm/versatilepb.c | 37 +++++++++++++++++++++----------------
 1 file changed, 21 insertions(+), 16 deletions(-)

diff --git a/hw/arm/versatilepb.c b/hw/arm/versatilepb.c
index 725f60f..b48d84c 100644
--- a/hw/arm/versatilepb.c
+++ b/hw/arm/versatilepb.c
@@ -25,15 +25,19 @@
 
 /* Primary interrupt controller.  */
 
-typedef struct vpb_sic_state
-{
-  SysBusDevice busdev;
-  MemoryRegion iomem;
-  uint32_t level;
-  uint32_t mask;
-  uint32_t pic_enable;
-  qemu_irq parent[32];
-  int irq;
+#define TYPE_VERSATILE_PB_SIC "versatilepb_sic"
+#define VERSATILE_PB_SIC(obj) \
+    OBJECT_CHECK(vpb_sic_state, (obj), TYPE_VERSATILE_PB_SIC)
+
+typedef struct vpb_sic_state {
+    SysBusDevice parent_obj;
+
+    MemoryRegion iomem;
+    uint32_t level;
+    uint32_t mask;
+    uint32_t pic_enable;
+    qemu_irq parent[32];
+    int irq;
 } vpb_sic_state;
 
 static const VMStateDescription vmstate_vpb_sic = {
@@ -144,19 +148,20 @@ static const MemoryRegionOps vpb_sic_ops = {
     .endianness = DEVICE_NATIVE_ENDIAN,
 };
 
-static int vpb_sic_init(SysBusDevice *dev)
+static int vpb_sic_init(SysBusDevice *sbd)
 {
-    vpb_sic_state *s = FROM_SYSBUS(vpb_sic_state, dev);
+    DeviceState *dev = DEVICE(sbd);
+    vpb_sic_state *s = VERSATILE_PB_SIC(dev);
     int i;
 
-    qdev_init_gpio_in(&dev->qdev, vpb_sic_set_irq, 32);
+    qdev_init_gpio_in(dev, vpb_sic_set_irq, 32);
     for (i = 0; i < 32; i++) {
-        sysbus_init_irq(dev, &s->parent[i]);
+        sysbus_init_irq(sbd, &s->parent[i]);
     }
     s->irq = 31;
     memory_region_init_io(&s->iomem, OBJECT(s), &vpb_sic_ops, s,
                           "vpb-sic", 0x1000);
-    sysbus_init_mmio(dev, &s->iomem);
+    sysbus_init_mmio(sbd, &s->iomem);
     return 0;
 }
 
@@ -213,7 +218,7 @@ static void versatile_init(QEMUMachineInitArgs *args, int board_id)
     for (n = 0; n < 32; n++) {
         pic[n] = qdev_get_gpio_in(dev, n);
     }
-    dev = sysbus_create_simple("versatilepb_sic", 0x10003000, NULL);
+    dev = sysbus_create_simple(TYPE_VERSATILE_PB_SIC, 0x10003000, NULL);
     for (n = 0; n < 32; n++) {
         sysbus_connect_irq(SYS_BUS_DEVICE(dev), n, pic[n]);
         sic[n] = qdev_get_gpio_in(dev, n);
@@ -393,7 +398,7 @@ static void vpb_sic_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo vpb_sic_info = {
-    .name          = "versatilepb_sic",
+    .name          = TYPE_VERSATILE_PB_SIC,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(vpb_sic_state),
     .class_init    = vpb_sic_class_init,
-- 
1.8.1.4

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

* Re: [Qemu-devel] [PATCH qom-next for-1.6 07/29] musicpal: Use TYPE_MV88W8618_ETH
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 07/29] musicpal: Use TYPE_MV88W8618_ETH Andreas Färber
@ 2013-07-24  7:56   ` Andreas Färber
  0 siblings, 0 replies; 39+ messages in thread
From: Andreas Färber @ 2013-07-24  7:56 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Jan Kiszka, Paul Brook

Am 24.07.2013 09:48, schrieb Andreas Färber:
> Signed-off-by: Andreas Färber <afaerber@suse.de>
> ---
>  hw/arm/musicpal.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Erm, this was supposed to be squashed, obviously. ;) Fixed.

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] 39+ messages in thread

* Re: [Qemu-devel] [PATCH qom-next for-1.6 04/29] integratorcp: QOM'ify icp_pic_state
  2013-07-24  7:47 ` [Qemu-devel] [PATCH qom-next for-1.6 04/29] integratorcp: QOM'ify icp_pic_state Andreas Färber
@ 2013-07-27 14:04   ` Andreas Färber
  0 siblings, 0 replies; 39+ messages in thread
From: Andreas Färber @ 2013-07-27 14:04 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Paul Brook

Am 24.07.2013 09:47, schrieb Andreas Färber:
> diff --git a/hw/arm/integratorcp.c b/hw/arm/integratorcp.c
> index 58f4ed7..af31007 100644
> --- a/hw/arm/integratorcp.c
> +++ b/hw/arm/integratorcp.c
[...]
> @@ -376,7 +382,7 @@ static const MemoryRegionOps icp_pic_ops = {
>  
>  static int icp_pic_init(SysBusDevice *dev)
>  {
> -    icp_pic_state *s = FROM_SYSBUS(icp_pic_state, dev);
> +    icp_pic_state *s = INTEGRATOR_PIC(dev);
>  
>      qdev_init_gpio_in(&dev->qdev, icp_pic_set_irq, 32);
>      sysbus_init_irq(dev, &s->parent_irq);
[snip]

Needs the following addition for ->qdev.

Andreas

diff --git a/hw/arm/integratorcp.c b/hw/arm/integratorcp.c
index af31007..d518188 100644
--- a/hw/arm/integratorcp.c
+++ b/hw/arm/integratorcp.c
@@ -380,16 +380,17 @@ static const MemoryRegionOps icp_pic_ops = {
     .endianness = DEVICE_NATIVE_ENDIAN,
 };

-static int icp_pic_init(SysBusDevice *dev)
+static int icp_pic_init(SysBusDevice *sbd)
 {
+    DeviceState *dev = DEVICE(sbd);
     icp_pic_state *s = INTEGRATOR_PIC(dev);

-    qdev_init_gpio_in(&dev->qdev, icp_pic_set_irq, 32);
-    sysbus_init_irq(dev, &s->parent_irq);
-    sysbus_init_irq(dev, &s->parent_fiq);
+    qdev_init_gpio_in(dev, icp_pic_set_irq, 32);
+    sysbus_init_irq(sbd, &s->parent_irq);
+    sysbus_init_irq(sbd, &s->parent_fiq);
     memory_region_init_io(&s->iomem, OBJECT(s), &icp_pic_ops, s,
                           "icp-pic", 0x00800000);
-    sysbus_init_mmio(dev, &s->iomem);
+    sysbus_init_mmio(sbd, &s->iomem);
     return 0;
 }



-- 
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 related	[flat|nested] 39+ messages in thread

* Re: [Qemu-devel] [PATCH qom-next for-1.6 05/29] musicpal: QOM'ify mv88w8618_eth_state
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 05/29] musicpal: QOM'ify mv88w8618_eth_state Andreas Färber
@ 2013-07-27 14:07   ` Andreas Färber
  0 siblings, 0 replies; 39+ messages in thread
From: Andreas Färber @ 2013-07-27 14:07 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Jan Kiszka, Paul Brook

Am 24.07.2013 09:48, schrieb Andreas Färber:
> Introduce type constant and use QOM casts.
> 
> Signed-off-by: Andreas Färber <afaerber@suse.de>
> ---
>  hw/arm/musicpal.c | 13 ++++++++++---
>  1 file changed, 10 insertions(+), 3 deletions(-)
> 
> diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c
> index b06d442..293ab26 100644
> --- a/hw/arm/musicpal.c
> +++ b/hw/arm/musicpal.c
> @@ -146,8 +146,15 @@ typedef struct mv88w8618_rx_desc {
>      uint32_t next;
>  } mv88w8618_rx_desc;
>  
> +#define TYPE_MV88W8618_ETH "mv88w8618_eth"
> +#define MV88W8618_ETH(obj) \
> +    OBJECT_CHECK(mv88w8618_eth_state, (obj), TYPE_MV88W8618_ETH)
> +
>  typedef struct mv88w8618_eth_state {
> -    SysBusDevice busdev;
> +    /*< private >*/
> +    SysBusDevice parent_obj;
> +    /*< public >*/
> +
>      MemoryRegion iomem;
>      qemu_irq irq;
>      uint32_t smir;
> @@ -384,7 +391,7 @@ static NetClientInfo net_mv88w8618_info = {
>  
>  static int mv88w8618_eth_init(SysBusDevice *dev)
>  {
> -    mv88w8618_eth_state *s = FROM_SYSBUS(mv88w8618_eth_state, dev);
> +    mv88w8618_eth_state *s = MV88W8618_ETH(dev);
>  
>      sysbus_init_irq(dev, &s->irq);
>      s->nic = qemu_new_nic(&net_mv88w8618_info, &s->conf,
[snip]

Needs the following addition.

Andreas

diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c
index 6e8eb5d..6065051 100644
--- a/hw/arm/musicpal.c
+++ b/hw/arm/musicpal.c
@@ -389,16 +389,17 @@ static NetClientInfo net_mv88w8618_info = {
     .cleanup = eth_cleanup,
 };

-static int mv88w8618_eth_init(SysBusDevice *dev)
+static int mv88w8618_eth_init(SysBusDevice *sbd)
 {
+    DeviceState *dev = DEVICE(sbd);
     mv88w8618_eth_state *s = MV88W8618_ETH(dev);

-    sysbus_init_irq(dev, &s->irq);
+    sysbus_init_irq(sbd, &s->irq);
     s->nic = qemu_new_nic(&net_mv88w8618_info, &s->conf,
-                          object_get_typename(OBJECT(dev)),
dev->qdev.id, s);
+                          object_get_typename(OBJECT(dev)), dev->id, s);
     memory_region_init_io(&s->iomem, OBJECT(s), &mv88w8618_eth_ops, s,
                           "mv88w8618-eth", MP_ETH_SIZE);
-    sysbus_init_mmio(dev, &s->iomem);
+    sysbus_init_mmio(sbd, &s->iomem);
     return 0;
 }


-- 
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 related	[flat|nested] 39+ messages in thread

* Re: [Qemu-devel] [PATCH qom-next for-1.6 06/29] musicpal: QOM'ify musicpal_lcd_state
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 06/29] musicpal: QOM'ify musicpal_lcd_state Andreas Färber
@ 2013-07-27 14:10   ` Andreas Färber
  2013-07-27 14:33     ` Jan Kiszka
  0 siblings, 1 reply; 39+ messages in thread
From: Andreas Färber @ 2013-07-27 14:10 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Jan Kiszka, Paul Brook

Am 24.07.2013 09:48, schrieb Andreas Färber:
> Signed-off-by: Andreas Färber <afaerber@suse.de>
> ---
>  hw/arm/musicpal.c | 15 +++++++++++----
>  1 file changed, 11 insertions(+), 4 deletions(-)
> 
> diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c
> index 293ab26..e7efed9 100644
> --- a/hw/arm/musicpal.c
> +++ b/hw/arm/musicpal.c
> @@ -461,8 +461,15 @@ static const TypeInfo mv88w8618_eth_info = {
>  
>  #define MP_LCD_TEXTCOLOR        0xe0e0ff /* RRGGBB */
>  
> +#define TYPE_MUSICPAL_LCD "musicpal_lcd"
> +#define MUSICPAL_LCD(obj) \
> +    OBJECT_CHECK(musicpal_lcd_state, (obj), TYPE_MUSICPAL_LCD)
> +
>  typedef struct musicpal_lcd_state {
> -    SysBusDevice busdev;
> +    /*< private >*/
> +    SysBusDevice parent_obj;
> +    /*< public >*/
> +
>      MemoryRegion iomem;
>      uint32_t brightness;
>      uint32_t mode;
> @@ -615,7 +622,7 @@ static const GraphicHwOps musicpal_gfx_ops = {
>  
>  static int musicpal_lcd_init(SysBusDevice *dev)
>  {
> -    musicpal_lcd_state *s = FROM_SYSBUS(musicpal_lcd_state, dev);
> +    musicpal_lcd_state *s = MUSICPAL_LCD(dev);
>  
>      s->brightness = 7;
>  
[snip]

Needs the following addition:

diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c
index 6065051..9174b87 100644
--- a/hw/arm/musicpal.c
+++ b/hw/arm/musicpal.c
@@ -621,20 +621,21 @@ static const GraphicHwOps musicpal_gfx_ops = {
     .gfx_update  = lcd_refresh,
 };

-static int musicpal_lcd_init(SysBusDevice *dev)
+static int musicpal_lcd_init(SysBusDevice *sbd)
 {
+    DeviceState *dev = DEVICE(sbd);
     musicpal_lcd_state *s = MUSICPAL_LCD(dev);

     s->brightness = 7;

     memory_region_init_io(&s->iomem, OBJECT(s), &musicpal_lcd_ops, s,
                           "musicpal-lcd", MP_LCD_SIZE);
-    sysbus_init_mmio(dev, &s->iomem);
+    sysbus_init_mmio(sbd, &s->iomem);

-    s->con = graphic_console_init(DEVICE(dev), &musicpal_gfx_ops, s);
+    s->con = graphic_console_init(dev, &musicpal_gfx_ops, s);
     qemu_console_resize(s->con, 128*3, 64*3);

-    qdev_init_gpio_in(&dev->qdev, musicpal_lcd_gpio_brigthness_in, 3);
+    qdev_init_gpio_in(dev, musicpal_lcd_gpio_brigthness_in, 3);

     return 0;
 }


-- 
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 related	[flat|nested] 39+ messages in thread

* Re: [Qemu-devel] [PATCH qom-next for-1.6 19/29] spitz: QOM'ify SpitzKeyboardState
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 19/29] spitz: QOM'ify SpitzKeyboardState Andreas Färber
@ 2013-07-27 14:12   ` Andreas Färber
  0 siblings, 0 replies; 39+ messages in thread
From: Andreas Färber @ 2013-07-27 14:12 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Paul Brook

Am 24.07.2013 09:48, schrieb Andreas Färber:
> Signed-off-by: Andreas Färber <afaerber@suse.de>
> ---
>  hw/arm/spitz.c | 17 ++++++++++-------
>  1 file changed, 10 insertions(+), 7 deletions(-)
> 
> diff --git a/hw/arm/spitz.c b/hw/arm/spitz.c
> index 0bf5c5c..70f23b3 100644
> --- a/hw/arm/spitz.c
> +++ b/hw/arm/spitz.c
> @@ -215,8 +215,13 @@ static const int spitz_gpiomap[5] = {
>      SPITZ_GPIO_SWA, SPITZ_GPIO_SWB,
>  };
>  
> +#define TYPE_SPITZ_KEYBOARD "spitz-keyboard"
> +#define SPITZ_KEYBOARD(obj) \
> +    OBJECT_CHECK(SpitzKeyboardState, (obj), TYPE_SPITZ_KEYBOARD)
> +
>  typedef struct {
> -    SysBusDevice busdev;
> +    SysBusDevice parent_obj;
> +
>      qemu_irq sense[SPITZ_KEY_SENSE_NUM];
>      qemu_irq gpiomap[5];
>      int keymap[0x80];
> @@ -461,8 +466,8 @@ static void spitz_keyboard_register(PXA2xxState *cpu)
>      DeviceState *dev;
>      SpitzKeyboardState *s;
>  
> -    dev = sysbus_create_simple("spitz-keyboard", -1, NULL);
> -    s = FROM_SYSBUS(SpitzKeyboardState, SYS_BUS_DEVICE(dev));
> +    dev = sysbus_create_simple(TYPE_SPITZ_KEYBOARD, -1, NULL);
> +    s = SPITZ_KEYBOARD(dev);
>  
>      for (i = 0; i < SPITZ_KEY_SENSE_NUM; i ++)
>          qdev_connect_gpio_out(dev, i, qdev_get_gpio_in(cpu->gpio, spitz_gpio_key_sense[i]));
> @@ -487,11 +492,9 @@ static void spitz_keyboard_register(PXA2xxState *cpu)
>  
>  static int spitz_keyboard_init(SysBusDevice *dev)
>  {
> -    SpitzKeyboardState *s;
> +    SpitzKeyboardState *s = SPITZ_KEYBOARD(dev);
>      int i, j;
>  
> -    s = FROM_SYSBUS(SpitzKeyboardState, dev);
> -
>      for (i = 0; i < 0x80; i ++)
>          s->keymap[i] = -1;
>      for (i = 0; i < SPITZ_KEY_SENSE_NUM + 1; i ++)
[snip]

Needs the following addition.

Andreas

diff --git a/hw/arm/spitz.c b/hw/arm/spitz.c
index 70f23b3..34f9582 100644
--- a/hw/arm/spitz.c
+++ b/hw/arm/spitz.c
@@ -490,8 +490,9 @@ static void spitz_keyboard_register(PXA2xxState *cpu)
     qemu_add_kbd_event_handler(spitz_keyboard_handler, s);
 }

-static int spitz_keyboard_init(SysBusDevice *dev)
+static int spitz_keyboard_init(SysBusDevice *sbd)
 {
+    DeviceState *dev = DEVICE(sbd);
     SpitzKeyboardState *s = SPITZ_KEYBOARD(dev);
     int i, j;

@@ -505,8 +506,8 @@ static int spitz_keyboard_init(SysBusDevice *dev)
     spitz_keyboard_pre_map(s);

     s->kbdtimer = qemu_new_timer_ns(vm_clock, spitz_keyboard_tick, s);
-    qdev_init_gpio_in(&dev->qdev, spitz_keyboard_strobe,
SPITZ_KEY_STROBE_NUM);
-    qdev_init_gpio_out(&dev->qdev, s->sense, SPITZ_KEY_SENSE_NUM);
+    qdev_init_gpio_in(dev, spitz_keyboard_strobe, SPITZ_KEY_STROBE_NUM);
+    qdev_init_gpio_out(dev, s->sense, SPITZ_KEY_SENSE_NUM);

     return 0;
 }



-- 
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 related	[flat|nested] 39+ messages in thread

* Re: [Qemu-devel] [PATCH qom-next for-1.6 20/29] stellaris: QOM'ify gptm_state
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 20/29] stellaris: QOM'ify gptm_state Andreas Färber
@ 2013-07-27 14:15   ` Andreas Färber
  0 siblings, 0 replies; 39+ messages in thread
From: Andreas Färber @ 2013-07-27 14:15 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Paul Brook

Am 24.07.2013 09:48, schrieb Andreas Färber:
> Signed-off-by: Andreas Färber <afaerber@suse.de>
> ---
>  hw/arm/stellaris.c | 13 +++++++++----
>  1 file changed, 9 insertions(+), 4 deletions(-)
> 
> diff --git a/hw/arm/stellaris.c b/hw/arm/stellaris.c
> index a2b6b17..1c69bcf 100644
> --- a/hw/arm/stellaris.c
> +++ b/hw/arm/stellaris.c
> @@ -43,8 +43,13 @@ typedef const struct {
>  
>  /* General purpose timer module.  */
>  
> +#define TYPE_STELLARIS_GPTM "stellaris-gptm"
> +#define STELLARIS_GPTM(obj) \
> +    OBJECT_CHECK(gptm_state, (obj), TYPE_STELLARIS_GPTM)
> +
>  typedef struct gptm_state {
> -    SysBusDevice busdev;
> +    SysBusDevice parent_obj;
> +
>      MemoryRegion iomem;
>      uint32_t config;
>      uint32_t mode[2];
> @@ -302,7 +307,7 @@ static const VMStateDescription vmstate_stellaris_gptm = {
>  
>  static int stellaris_gptm_init(SysBusDevice *dev)
>  {
> -    gptm_state *s = FROM_SYSBUS(gptm_state, dev);
> +    gptm_state *s = STELLARIS_GPTM(dev);
>  
>      sysbus_init_irq(dev, &s->irq);
>      qdev_init_gpio_out(&dev->qdev, &s->trigger, 1);
[snip]

Needs the following addition.

Andreas

diff --git a/hw/arm/stellaris.c b/hw/arm/stellaris.c
index 27205d0..79f6b4e 100644
--- a/hw/arm/stellaris.c
+++ b/hw/arm/stellaris.c
@@ -305,21 +305,22 @@ static const VMStateDescription
vmstate_stellaris_gptm = {
     }
 };

-static int stellaris_gptm_init(SysBusDevice *dev)
+static int stellaris_gptm_init(SysBusDevice *sbd)
 {
+    DeviceState *dev = DEVICE(sbd);
     gptm_state *s = STELLARIS_GPTM(dev);

-    sysbus_init_irq(dev, &s->irq);
-    qdev_init_gpio_out(&dev->qdev, &s->trigger, 1);
+    sysbus_init_irq(sbd, &s->irq);
+    qdev_init_gpio_out(dev, &s->trigger, 1);

     memory_region_init_io(&s->iomem, OBJECT(s), &gptm_ops, s,
                           "gptm", 0x1000);
-    sysbus_init_mmio(dev, &s->iomem);
+    sysbus_init_mmio(sbd, &s->iomem);

     s->opaque[0] = s->opaque[1] = s;
     s->timer[0] = qemu_new_timer_ns(vm_clock, gptm_tick, &s->opaque[0]);
     s->timer[1] = qemu_new_timer_ns(vm_clock, gptm_tick, &s->opaque[1]);
-    vmstate_register(&dev->qdev, -1, &vmstate_stellaris_gptm, s);
+    vmstate_register(dev, -1, &vmstate_stellaris_gptm, s);
     return 0;
 }




-- 
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 related	[flat|nested] 39+ messages in thread

* Re: [Qemu-devel] [PATCH qom-next for-1.6 15/29] pxa2xx: QOM'ify PXA2xxI2CState
  2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 15/29] pxa2xx: QOM'ify PXA2xxI2CState Andreas Färber
@ 2013-07-27 14:19   ` Andreas Färber
  0 siblings, 0 replies; 39+ messages in thread
From: Andreas Färber @ 2013-07-27 14:19 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Paul Brook

Am 24.07.2013 09:48, schrieb Andreas Färber:
> Signed-off-by: Andreas Färber <afaerber@suse.de>
> ---
>  hw/arm/pxa2xx.c | 26 +++++++++++++++++---------
>  1 file changed, 17 insertions(+), 9 deletions(-)
> 
> diff --git a/hw/arm/pxa2xx.c b/hw/arm/pxa2xx.c
> index 6548338..ab145ee 100644
> --- a/hw/arm/pxa2xx.c
> +++ b/hw/arm/pxa2xx.c
> @@ -1224,8 +1224,15 @@ typedef struct {
>      PXA2xxI2CState *host;
>  } PXA2xxI2CSlaveState;
>  
> +#define TYPE_PXA2XX_I2C "pxa2xx_i2c"
> +#define PXA2XX_I2C(obj) \
> +    OBJECT_CHECK(PXA2xxI2CState, (obj), TYPE_PXA2XX_I2C)
> +
>  struct PXA2xxI2CState {
> -    SysBusDevice busdev;
> +    /*< private >*/
> +    SysBusDevice parent_obj;
> +    /*< public >*/
> +
>      MemoryRegion iomem;
>      PXA2xxI2CSlaveState *slave;
>      i2c_bus *bus;
> @@ -1473,7 +1480,7 @@ PXA2xxI2CState *pxa2xx_i2c_init(hwaddr base,
>      SysBusDevice *i2c_dev;
>      PXA2xxI2CState *s;
>  
> -    i2c_dev = SYS_BUS_DEVICE(qdev_create(NULL, "pxa2xx_i2c"));
> +    i2c_dev = SYS_BUS_DEVICE(qdev_create(NULL, TYPE_PXA2XX_I2C));
>      qdev_prop_set_uint32(&i2c_dev->qdev, "size", region_size + 1);
>      qdev_prop_set_uint32(&i2c_dev->qdev, "offset", base & region_size);
>  
> @@ -1482,7 +1489,7 @@ PXA2xxI2CState *pxa2xx_i2c_init(hwaddr base,
>      sysbus_mmio_map(i2c_dev, 0, base & ~region_size);
>      sysbus_connect_irq(i2c_dev, 0, irq);
>  
> -    s = FROM_SYSBUS(PXA2xxI2CState, i2c_dev);
> +    s = PXA2XX_I2C(i2c_dev);
>      /* FIXME: Should the slave device really be on a separate bus?  */
>      dev = i2c_create_slave(i2c_init_bus(NULL, "dummy"), "pxa2xx-i2c-slave", 0);
>      s->slave = FROM_I2C_SLAVE(PXA2xxI2CSlaveState, I2C_SLAVE(dev));
[snip]

Needs the following addition.

Andreas

diff --git a/hw/arm/pxa2xx.c b/hw/arm/pxa2xx.c
index ab145ee..ec3ac58 100644
--- a/hw/arm/pxa2xx.c
+++ b/hw/arm/pxa2xx.c
@@ -1480,11 +1480,12 @@ PXA2xxI2CState *pxa2xx_i2c_init(hwaddr base,
     SysBusDevice *i2c_dev;
     PXA2xxI2CState *s;

-    i2c_dev = SYS_BUS_DEVICE(qdev_create(NULL, TYPE_PXA2XX_I2C));
-    qdev_prop_set_uint32(&i2c_dev->qdev, "size", region_size + 1);
-    qdev_prop_set_uint32(&i2c_dev->qdev, "offset", base & region_size);
+    dev = qdev_create(NULL, TYPE_PXA2XX_I2C);
+    i2c_dev = SYS_BUS_DEVICE(dev);
+    qdev_prop_set_uint32(dev, "size", region_size + 1);
+    qdev_prop_set_uint32(dev, "offset", base & region_size);

-    qdev_init_nofail(&i2c_dev->qdev);
+    qdev_init_nofail(dev);

     sysbus_mmio_map(i2c_dev, 0, base & ~region_size);
     sysbus_connect_irq(i2c_dev, 0, irq);


-- 
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 related	[flat|nested] 39+ messages in thread

* Re: [Qemu-devel] [PATCH qom-next for-1.6 06/29] musicpal: QOM'ify musicpal_lcd_state
  2013-07-27 14:10   ` Andreas Färber
@ 2013-07-27 14:33     ` Jan Kiszka
  2013-07-27 15:32       ` Andreas Färber
  0 siblings, 1 reply; 39+ messages in thread
From: Jan Kiszka @ 2013-07-27 14:33 UTC (permalink / raw)
  To: Andreas Färber; +Cc: Peter Maydell, qemu-devel, Paul Brook

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

On 2013-07-27 16:10, Andreas Färber wrote:
> Am 24.07.2013 09:48, schrieb Andreas Färber:
>> Signed-off-by: Andreas Färber <afaerber@suse.de>
>> ---
>>  hw/arm/musicpal.c | 15 +++++++++++----
>>  1 file changed, 11 insertions(+), 4 deletions(-)
>>
>> diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c
>> index 293ab26..e7efed9 100644
>> --- a/hw/arm/musicpal.c
>> +++ b/hw/arm/musicpal.c
>> @@ -461,8 +461,15 @@ static const TypeInfo mv88w8618_eth_info = {
>>  
>>  #define MP_LCD_TEXTCOLOR        0xe0e0ff /* RRGGBB */
>>  
>> +#define TYPE_MUSICPAL_LCD "musicpal_lcd"
>> +#define MUSICPAL_LCD(obj) \
>> +    OBJECT_CHECK(musicpal_lcd_state, (obj), TYPE_MUSICPAL_LCD)
>> +
>>  typedef struct musicpal_lcd_state {
>> -    SysBusDevice busdev;
>> +    /*< private >*/
>> +    SysBusDevice parent_obj;
>> +    /*< public >*/
>> +
>>      MemoryRegion iomem;
>>      uint32_t brightness;
>>      uint32_t mode;
>> @@ -615,7 +622,7 @@ static const GraphicHwOps musicpal_gfx_ops = {
>>  
>>  static int musicpal_lcd_init(SysBusDevice *dev)
>>  {
>> -    musicpal_lcd_state *s = FROM_SYSBUS(musicpal_lcd_state, dev);
>> +    musicpal_lcd_state *s = MUSICPAL_LCD(dev);
>>  
>>      s->brightness = 7;
>>  
> [snip]
> 
> Needs the following addition:
> 
> diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c
> index 6065051..9174b87 100644
> --- a/hw/arm/musicpal.c
> +++ b/hw/arm/musicpal.c
> @@ -621,20 +621,21 @@ static const GraphicHwOps musicpal_gfx_ops = {
>      .gfx_update  = lcd_refresh,
>  };
> 
> -static int musicpal_lcd_init(SysBusDevice *dev)
> +static int musicpal_lcd_init(SysBusDevice *sbd)
>  {
> +    DeviceState *dev = DEVICE(sbd);
>      musicpal_lcd_state *s = MUSICPAL_LCD(dev);
> 
>      s->brightness = 7;
> 
>      memory_region_init_io(&s->iomem, OBJECT(s), &musicpal_lcd_ops, s,
>                            "musicpal-lcd", MP_LCD_SIZE);
> -    sysbus_init_mmio(dev, &s->iomem);
> +    sysbus_init_mmio(sbd, &s->iomem);
> 
> -    s->con = graphic_console_init(DEVICE(dev), &musicpal_gfx_ops, s);
> +    s->con = graphic_console_init(dev, &musicpal_gfx_ops, s);
>      qemu_console_resize(s->con, 128*3, 64*3);
> 
> -    qdev_init_gpio_in(&dev->qdev, musicpal_lcd_gpio_brigthness_in, 3);
> +    qdev_init_gpio_in(dev, musicpal_lcd_gpio_brigthness_in, 3);
> 
>      return 0;
>  }
> 
> 

Didn't find the time to look at this yet. But do you have images to test
the musicpal?

Jan


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 263 bytes --]

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

* Re: [Qemu-devel] [PATCH qom-next for-1.6 06/29] musicpal: QOM'ify musicpal_lcd_state
  2013-07-27 14:33     ` Jan Kiszka
@ 2013-07-27 15:32       ` Andreas Färber
  0 siblings, 0 replies; 39+ messages in thread
From: Andreas Färber @ 2013-07-27 15:32 UTC (permalink / raw)
  To: Jan Kiszka; +Cc: Peter Maydell, Stefan Weil, qemu-devel, Paul Brook

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Am 27.07.2013 16:33, schrieb Jan Kiszka:
> On 2013-07-27 16:10, Andreas Färber wrote:
>> Needs the following addition:
>> 
>> diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c index
>> 6065051..9174b87 100644 --- a/hw/arm/musicpal.c +++
>> b/hw/arm/musicpal.c @@ -621,20 +621,21 @@ static const
>> GraphicHwOps musicpal_gfx_ops = { .gfx_update  = lcd_refresh, };
>> 
>> -static int musicpal_lcd_init(SysBusDevice *dev) +static int
>> musicpal_lcd_init(SysBusDevice *sbd) { +    DeviceState *dev =
>> DEVICE(sbd); musicpal_lcd_state *s = MUSICPAL_LCD(dev);
>> 
>> s->brightness = 7;
>> 
>> memory_region_init_io(&s->iomem, OBJECT(s), &musicpal_lcd_ops,
>> s, "musicpal-lcd", MP_LCD_SIZE); -    sysbus_init_mmio(dev,
>> &s->iomem); +    sysbus_init_mmio(sbd, &s->iomem);
>> 
>> -    s->con = graphic_console_init(DEVICE(dev),
>> &musicpal_gfx_ops, s); +    s->con = graphic_console_init(dev,
>> &musicpal_gfx_ops, s); qemu_console_resize(s->con, 128*3, 64*3);
>> 
>> -    qdev_init_gpio_in(&dev->qdev,
>> musicpal_lcd_gpio_brigthness_in, 3); +    qdev_init_gpio_in(dev,
>> musicpal_lcd_gpio_brigthness_in, 3);

"brightness" FWIW, but won't change it here. CC'ing Mr. codespell.

>> 
>> return 0; }
>> 
>> 
> 
> Didn't find the time to look at this yet. But do you have images to
> test the musicpal?

No, unfortunately I don't have any for the musicpal. I am relying on
make check and the few test images I have around, as well as trivially
being able to fix any breakage during Hard Freeze.

In this case it looked like a 1:1 relation between type and struct,
which should make the conversion unproblematic. (The not-so-trivial
cases have multiple device names in the subject.)

My latest WIP is on git://github.com/afaerber/qemu-cpu.git
qom-devices; if booting your favorite machine does not immediately
assert() then it should be OK. (ppc/s390x/arm KVM devices are still
being tested)

Andreas

- -- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)

iQIcBAEBAgAGBQJR8+gIAAoJEPou0S0+fgE/QoQP/iOLNR4wFRZ5pBkZi2B/Nif6
Tszu86cOqrDvFnFRf1fcN3sYtieKzzq2iUOaVBh8LDWr0SFsWWf3NeCOWLUpr30p
dGMIjkgIdyojmPZiqvwme1MbW8D/pCz0IADlRYlZghwkGqV/iTClOCPqgf+e4Tj8
wi2aoeBk7IHTWfmMdOqnjNeQjM/a68vEQw48gLDqPa0p+eySvFAA8P0mdlRcatub
gvoRwME3PhmjQ13qOuWw+rEHlYFokZackF++cAigM9P7Fms108a49fYaj744d3m5
A0DBqm0aV+zrdnZPZjBvOFqb4h6UO2K2i9eSyxqS0FihI3UBKjlSkzwLcKUg3iDS
9diGV1y9SruLUyestGrrQhwMG/FacZ/kWPh6vi63BrlUQlkzjfEOBa14ABYib2cS
J/QX/f+h760mEorQlF2KubeLEpTQeHlD8edtJrM1T87G57CQGCUlnJjr8zIMMXd7
IOE81yaxOp9TNz+nKZiPncoJzTJjmlS59lcgCjuU9v6185o5b7hs4ya5+Rdx2Zqr
CitjVZuJmevn5zlgJunKrT/fbVrAuflULzB5BvzL+bVZltu/tHbkXgq1adQKg7ba
AUbHnHu+Gnw1fVhye9jOVzDO6ZKbIXqbgLAb925V9lD/iGPDPOQd9Awm7zE87Y1U
lkBdP+qRIZSXWZh8pwKV
=4Ye0
-----END PGP SIGNATURE-----

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

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

Thread overview: 39+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-24  7:47 [Qemu-devel] [PATCH qom-next for-1.6 00/29] arm: QOM cast cleanups Andreas Färber
2013-07-24  7:47 ` [Qemu-devel] [PATCH qom-next for-1.6 01/29] armv7m: QOM'ify BitBandState Andreas Färber
2013-07-24  7:47 ` [Qemu-devel] [PATCH qom-next for-1.6 02/29] highbank: QOM'ify HighbankRegsState Andreas Färber
2013-07-24  7:47 ` [Qemu-devel] [PATCH qom-next for-1.6 03/29] integratorcp: QOM'ify integratorcm_state Andreas Färber
2013-07-24  7:47 ` [Qemu-devel] [PATCH qom-next for-1.6 04/29] integratorcp: QOM'ify icp_pic_state Andreas Färber
2013-07-27 14:04   ` Andreas Färber
2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 05/29] musicpal: QOM'ify mv88w8618_eth_state Andreas Färber
2013-07-27 14:07   ` Andreas Färber
2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 06/29] musicpal: QOM'ify musicpal_lcd_state Andreas Färber
2013-07-27 14:10   ` Andreas Färber
2013-07-27 14:33     ` Jan Kiszka
2013-07-27 15:32       ` Andreas Färber
2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 07/29] musicpal: Use TYPE_MV88W8618_ETH Andreas Färber
2013-07-24  7:56   ` Andreas Färber
2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 08/29] musicpal: QOM'ify mv88w8618_pic_state Andreas Färber
2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 09/29] musicpal: QOM'ify mv88w8618_pit_state Andreas Färber
2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 10/29] musicpal: QOM'ify mv88w8618_flashcfg Andreas Färber
2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 11/29] musicpal: QOM'ify musicpal_gpio_state Andreas Färber
2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 12/29] musicpal: QOM'ify musicpal_key_state Andreas Färber
2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 13/29] pxa2xx: QOM'ify PXA2xxSSPState Andreas Färber
2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 14/29] pxa2xx: QOM'ify PXA2xxRTCState Andreas Färber
2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 15/29] pxa2xx: QOM'ify PXA2xxI2CState Andreas Färber
2013-07-27 14:19   ` Andreas Färber
2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 16/29] pxa2xx_gpio: QOM'ify PXA2xxGPIOInfo Andreas Färber
2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 17/29] pxa2xx_pic: QOM'ify PXA2xxPICState Andreas Färber
2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 18/29] spitz: QOM'ify SLNANDState Andreas Färber
2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 19/29] spitz: QOM'ify SpitzKeyboardState Andreas Färber
2013-07-27 14:12   ` Andreas Färber
2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 20/29] stellaris: QOM'ify gptm_state Andreas Färber
2013-07-27 14:15   ` Andreas Färber
2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 21/29] stellaris: QOM'ify stellaris_i2c_state Andreas Färber
2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 22/29] stellaris: QOM'ify stellaris_adc_state Andreas Färber
2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 23/29] strongarm: QOM'ify StrongARMPICState Andreas Färber
2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 24/29] strongarm: QOM'ify StrongARMRTCState Andreas Färber
2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 25/29] strongarm: QOM'ify StrongARMGPIOInfo Andreas Färber
2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 26/29] strongarm: QOM'ify StrongARMPPCInfo Andreas Färber
2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 27/29] strongarm: QOM'ify StrongARMUARTState Andreas Färber
2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 28/29] strongarm: QOM'ify StrongARMSSPState Andreas Färber
2013-07-24  7:48 ` [Qemu-devel] [PATCH qom-next for-1.6 29/29] versatilepb: QOM'ify vpb_sic_state Andreas Färber

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).