qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH qom-next for-1.6 00/14] char: QOM cast cleanups
@ 2013-07-24 21:42 Andreas Färber
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 01/14] cadence_uart: QOM'ify Andreas Färber
                   ` (14 more replies)
  0 siblings, 15 replies; 19+ messages in thread
From: Andreas Färber @ 2013-07-24 21:42 UTC (permalink / raw)
  To: qemu-devel; +Cc: Hu Tao, Andreas Färber

Hello,

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

Regards,
Andreas

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

Andreas Färber (14):
  cadence_uart: QOM'ify
  escc: QOM'ify
  etraxfs_ser: QOM'ify
  exynos4210_uart: QOM'ify
  grlib_apbuart: QOM'ify
  imx_serial: QOM'ify
  lm32_juart: Relocate and tidy header
  lm32_juart: QOM'ify
  lm32_uart: QOM'ify
  milkymist-uart: QOM'ify
  pl011: Rename pl011_state
  pl011: QOM'ify pl011 and pl011_luminary
  xilinx_uartlite: Rename xlx_uartlite to XilinxUARTLite
  xilinx_uartlite: QOM'ify

 MAINTAINERS                            |   1 +
 hw/char/cadence_uart.c                 |  10 ++-
 hw/char/escc.c                         |  19 +++---
 hw/char/etraxfs_ser.c                  |  37 ++++++-----
 hw/char/exynos4210_uart.c              |  26 ++++----
 hw/char/grlib_apbuart.c                |  13 ++--
 hw/char/imx_serial.c                   |  16 +++--
 hw/char/lm32_juart.c                   |  21 ++++---
 hw/char/lm32_uart.c                    |  12 ++--
 hw/char/milkymist-uart.c               |  15 +++--
 hw/char/pl011.c                        | 110 +++++++++++++++++----------------
 hw/char/xilinx_uartlite.c              |  30 +++++----
 hw/lm32/lm32.h                         |   5 +-
 include/hw/char/escc.h                 |   1 +
 include/hw/{lm32 => char}/lm32_juart.h |   8 ++-
 target-lm32/op_helper.c                |   2 +-
 16 files changed, 186 insertions(+), 140 deletions(-)
 rename include/hw/{lm32 => char}/lm32_juart.h (65%)

-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 01/14] cadence_uart: QOM'ify
  2013-07-24 21:42 [Qemu-devel] [PATCH qom-next for-1.6 00/14] char: QOM cast cleanups Andreas Färber
@ 2013-07-24 21:42 ` Andreas Färber
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 02/14] escc: QOM'ify Andreas Färber
                   ` (13 subsequent siblings)
  14 siblings, 0 replies; 19+ messages in thread
From: Andreas Färber @ 2013-07-24 21:42 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Crosthwaite, Andreas Färber

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

diff --git a/hw/char/cadence_uart.c b/hw/char/cadence_uart.c
index 4d457f8..3c2e960 100644
--- a/hw/char/cadence_uart.c
+++ b/hw/char/cadence_uart.c
@@ -106,8 +106,12 @@
 
 #define R_MAX (R_TTRIG + 1)
 
+#define TYPE_CADENCE_UART "cadence_uart"
+#define CADENCE_UART(obj) OBJECT_CHECK(UartState, (obj), TYPE_CADENCE_UART)
+
 typedef struct {
-    SysBusDevice busdev;
+    SysBusDevice parent_obj;
+
     MemoryRegion iomem;
     uint32_t r[R_MAX];
     uint8_t r_fifo[RX_FIFO_SIZE];
@@ -442,7 +446,7 @@ static void cadence_uart_reset(UartState *s)
 
 static int cadence_uart_init(SysBusDevice *dev)
 {
-    UartState *s = FROM_SYSBUS(UartState, dev);
+    UartState *s = CADENCE_UART(dev);
 
     memory_region_init_io(&s->iomem, OBJECT(s), &uart_ops, s, "uart", 0x1000);
     sysbus_init_mmio(dev, &s->iomem);
@@ -504,7 +508,7 @@ static void cadence_uart_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo cadence_uart_info = {
-    .name          = "cadence_uart",
+    .name          = TYPE_CADENCE_UART,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(UartState),
     .class_init    = cadence_uart_class_init,
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 02/14] escc: QOM'ify
  2013-07-24 21:42 [Qemu-devel] [PATCH qom-next for-1.6 00/14] char: QOM cast cleanups Andreas Färber
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 01/14] cadence_uart: QOM'ify Andreas Färber
@ 2013-07-24 21:42 ` Andreas Färber
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 03/14] etraxfs_ser: QOM'ify Andreas Färber
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 19+ messages in thread
From: Andreas Färber @ 2013-07-24 21:42 UTC (permalink / raw)
  To: qemu-devel; +Cc: Andreas Färber

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/char/escc.c         | 19 +++++++++++--------
 include/hw/char/escc.h |  1 +
 2 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/hw/char/escc.c b/hw/char/escc.c
index 4c42198..6397f6f 100644
--- a/hw/char/escc.c
+++ b/hw/char/escc.c
@@ -96,8 +96,11 @@ typedef struct ChannelState {
     uint8_t rx, tx;
 } ChannelState;
 
+#define ESCC(obj) OBJECT_CHECK(ESCCState, (obj), TYPE_ESCC)
+
 typedef struct ESCCState {
-    SysBusDevice busdev;
+    SysBusDevice parent_obj;
+
     struct ChannelState chn[2];
     uint32_t it_shift;
     MemoryRegion mmio;
@@ -309,7 +312,7 @@ static void escc_reset_chn(ChannelState *s)
 
 static void escc_reset(DeviceState *d)
 {
-    ESCCState *s = container_of(d, ESCCState, busdev.qdev);
+    ESCCState *s = ESCC(d);
 
     escc_reset_chn(&s->chn[0]);
     escc_reset_chn(&s->chn[1]);
@@ -534,7 +537,7 @@ static void escc_mem_write(void *opaque, hwaddr addr,
                 escc_reset_chn(&serial->chn[1]);
                 return;
             case MINTR_RST_ALL:
-                escc_reset(&serial->busdev.qdev);
+                escc_reset(DEVICE(serial));
                 return;
             }
             break;
@@ -691,7 +694,7 @@ MemoryRegion *escc_init(hwaddr base, qemu_irq irqA, qemu_irq irqB,
     SysBusDevice *s;
     ESCCState *d;
 
-    dev = qdev_create(NULL, "escc");
+    dev = qdev_create(NULL, TYPE_ESCC);
     qdev_prop_set_uint32(dev, "disabled", 0);
     qdev_prop_set_uint32(dev, "frequency", clock);
     qdev_prop_set_uint32(dev, "it_shift", it_shift);
@@ -707,7 +710,7 @@ MemoryRegion *escc_init(hwaddr base, qemu_irq irqA, qemu_irq irqB,
         sysbus_mmio_map(s, 0, base);
     }
 
-    d = FROM_SYSBUS(ESCCState, s);
+    d = ESCC(s);
     return &d->mmio;
 }
 
@@ -852,7 +855,7 @@ void slavio_serial_ms_kbd_init(hwaddr base, qemu_irq irq,
     DeviceState *dev;
     SysBusDevice *s;
 
-    dev = qdev_create(NULL, "escc");
+    dev = qdev_create(NULL, TYPE_ESCC);
     qdev_prop_set_uint32(dev, "disabled", disabled);
     qdev_prop_set_uint32(dev, "frequency", clock);
     qdev_prop_set_uint32(dev, "it_shift", it_shift);
@@ -869,7 +872,7 @@ void slavio_serial_ms_kbd_init(hwaddr base, qemu_irq irq,
 
 static int escc_init1(SysBusDevice *dev)
 {
-    ESCCState *s = FROM_SYSBUS(ESCCState, dev);
+    ESCCState *s = ESCC(dev);
     unsigned int i;
 
     s->chn[0].disabled = s->disabled;
@@ -924,7 +927,7 @@ static void escc_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo escc_info = {
-    .name          = "escc",
+    .name          = TYPE_ESCC,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(ESCCState),
     .class_init    = escc_class_init,
diff --git a/include/hw/char/escc.h b/include/hw/char/escc.h
index bda3213..2742d70 100644
--- a/include/hw/char/escc.h
+++ b/include/hw/char/escc.h
@@ -2,6 +2,7 @@
 #define HW_ESCC_H 1
 
 /* escc.c */
+#define TYPE_ESCC "escc"
 #define ESCC_SIZE 4
 MemoryRegion *escc_init(hwaddr base, qemu_irq irqA, qemu_irq irqB,
               CharDriverState *chrA, CharDriverState *chrB,
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 03/14] etraxfs_ser: QOM'ify
  2013-07-24 21:42 [Qemu-devel] [PATCH qom-next for-1.6 00/14] char: QOM cast cleanups Andreas Färber
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 01/14] cadence_uart: QOM'ify Andreas Färber
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 02/14] escc: QOM'ify Andreas Färber
@ 2013-07-24 21:42 ` Andreas Färber
  2013-07-26  3:04   ` Edgar E. Iglesias
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 04/14] exynos4210_uart: QOM'ify Andreas Färber
                   ` (11 subsequent siblings)
  14 siblings, 1 reply; 19+ messages in thread
From: Andreas Färber @ 2013-07-24 21:42 UTC (permalink / raw)
  To: qemu-devel; +Cc: Edgar E. Iglesias, Andreas Färber

Rename etrax_serial to ETRAXSerial, introduce type constant and use QOM
casts.

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

diff --git a/hw/char/etraxfs_ser.c b/hw/char/etraxfs_ser.c
index d19af00..460094e 100644
--- a/hw/char/etraxfs_ser.c
+++ b/hw/char/etraxfs_ser.c
@@ -44,9 +44,13 @@
 #define STAT_TR_IDLE 22
 #define STAT_TR_RDY  24
 
-struct etrax_serial
-{
-    SysBusDevice busdev;
+#define TYPE_ETRAX_FS_SERIAL "etraxfs,serial"
+#define ETRAX_SERIAL(obj) \
+    OBJECT_CHECK(ETRAXSerial, (obj), TYPE_ETRAX_FS_SERIAL)
+
+typedef struct ETRAXSerial {
+    SysBusDevice parent_obj;
+
     MemoryRegion mmio;
     CharDriverState *chr;
     qemu_irq irq;
@@ -59,9 +63,9 @@ struct etrax_serial
 
     /* Control registers.  */
     uint32_t regs[R_MAX];
-};
+} ETRAXSerial;
 
-static void ser_update_irq(struct etrax_serial *s)
+static void ser_update_irq(ETRAXSerial *s)
 {
 
     if (s->rx_fifo_len) {
@@ -77,7 +81,7 @@ static void ser_update_irq(struct etrax_serial *s)
 static uint64_t
 ser_read(void *opaque, hwaddr addr, unsigned int size)
 {
-    struct etrax_serial *s = opaque;
+    ETRAXSerial *s = opaque;
     uint32_t r = 0;
 
     addr >>= 2;
@@ -112,7 +116,7 @@ static void
 ser_write(void *opaque, hwaddr addr,
           uint64_t val64, unsigned int size)
 {
-    struct etrax_serial *s = opaque;
+    ETRAXSerial *s = opaque;
     uint32_t value = val64;
     unsigned char ch = val64;
 
@@ -156,7 +160,7 @@ static const MemoryRegionOps ser_ops = {
 
 static void serial_receive(void *opaque, const uint8_t *buf, int size)
 {
-    struct etrax_serial *s = opaque;
+    ETRAXSerial *s = opaque;
     int i;
 
     /* Got a byte.  */
@@ -177,7 +181,7 @@ static void serial_receive(void *opaque, const uint8_t *buf, int size)
 
 static int serial_can_receive(void *opaque)
 {
-    struct etrax_serial *s = opaque;
+    ETRAXSerial *s = opaque;
     int r;
 
     /* Is the receiver enabled?  */
@@ -196,7 +200,7 @@ static void serial_event(void *opaque, int event)
 
 static void etraxfs_ser_reset(DeviceState *d)
 {
-    struct etrax_serial *s = container_of(d, typeof(*s), busdev.qdev);
+    ETRAXSerial *s = ETRAX_SERIAL(d);
 
     /* transmitter begins ready and idle.  */
     s->regs[RS_STAT_DIN] |= (1 << STAT_TR_RDY);
@@ -208,7 +212,7 @@ static void etraxfs_ser_reset(DeviceState *d)
 
 static int etraxfs_ser_init(SysBusDevice *dev)
 {
-    struct etrax_serial *s = FROM_SYSBUS(typeof (*s), dev);
+    ETRAXSerial *s = ETRAX_SERIAL(dev);
 
     sysbus_init_irq(dev, &s->irq);
     memory_region_init_io(&s->mmio, OBJECT(s), &ser_ops, s,
@@ -216,10 +220,11 @@ static int etraxfs_ser_init(SysBusDevice *dev)
     sysbus_init_mmio(dev, &s->mmio);
 
     s->chr = qemu_char_get_next_serial();
-    if (s->chr)
+    if (s->chr) {
         qemu_chr_add_handlers(s->chr,
-                      serial_can_receive, serial_receive,
-                      serial_event, s);
+                              serial_can_receive, serial_receive,
+                              serial_event, s);
+    }
     return 0;
 }
 
@@ -233,9 +238,9 @@ static void etraxfs_ser_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo etraxfs_ser_info = {
-    .name          = "etraxfs,serial",
+    .name          = TYPE_ETRAX_FS_SERIAL,
     .parent        = TYPE_SYS_BUS_DEVICE,
-    .instance_size = sizeof(struct etrax_serial),
+    .instance_size = sizeof(ETRAXSerial),
     .class_init    = etraxfs_ser_class_init,
 };
 
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 04/14] exynos4210_uart: QOM'ify
  2013-07-24 21:42 [Qemu-devel] [PATCH qom-next for-1.6 00/14] char: QOM cast cleanups Andreas Färber
                   ` (2 preceding siblings ...)
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 03/14] etraxfs_ser: QOM'ify Andreas Färber
@ 2013-07-24 21:42 ` Andreas Färber
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 05/14] grlib_apbuart: QOM'ify Andreas Färber
                   ` (10 subsequent siblings)
  14 siblings, 0 replies; 19+ messages in thread
From: Andreas Färber @ 2013-07-24 21:42 UTC (permalink / raw)
  To: qemu-devel
  Cc: Maksim Kozlov, Igor Mitsyanko, Andreas Färber,
	Evgeny Voevodin, Dmitry Solodkiy

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

diff --git a/hw/char/exynos4210_uart.c b/hw/char/exynos4210_uart.c
index 855ce7a..eef23a0 100644
--- a/hw/char/exynos4210_uart.c
+++ b/hw/char/exynos4210_uart.c
@@ -166,8 +166,13 @@ typedef struct {
     uint32_t    size;
 } Exynos4210UartFIFO;
 
-typedef struct {
-    SysBusDevice busdev;
+#define TYPE_EXYNOS4210_UART "exynos4210.uart"
+#define EXYNOS4210_UART(obj) \
+    OBJECT_CHECK(Exynos4210UartState, (obj), TYPE_EXYNOS4210_UART)
+
+typedef struct Exynos4210UartState {
+    SysBusDevice parent_obj;
+
     MemoryRegion iomem;
 
     uint32_t             reg[EXYNOS4210_UART_REGS_MEM_SIZE / sizeof(uint32_t)];
@@ -538,8 +543,7 @@ static void exynos4210_uart_event(void *opaque, int event)
 
 static void exynos4210_uart_reset(DeviceState *dev)
 {
-    Exynos4210UartState *s =
-            container_of(dev, Exynos4210UartState, busdev.qdev);
+    Exynos4210UartState *s = EXYNOS4210_UART(dev);
     int regs_number = sizeof(exynos4210_uart_regs)/sizeof(Exynos4210UartReg);
     int i;
 
@@ -582,10 +586,10 @@ static const VMStateDescription vmstate_exynos4210_uart = {
 };
 
 DeviceState *exynos4210_uart_create(hwaddr addr,
-                                 int fifo_size,
-                                 int channel,
-                                 CharDriverState *chr,
-                                 qemu_irq irq)
+                                    int fifo_size,
+                                    int channel,
+                                    CharDriverState *chr,
+                                    qemu_irq irq)
 {
     DeviceState  *dev;
     SysBusDevice *bus;
@@ -593,7 +597,7 @@ DeviceState *exynos4210_uart_create(hwaddr addr,
     const char chr_name[] = "serial";
     char label[ARRAY_SIZE(chr_name) + 1];
 
-    dev = qdev_create(NULL, "exynos4210.uart");
+    dev = qdev_create(NULL, TYPE_EXYNOS4210_UART);
 
     if (!chr) {
         if (channel >= MAX_SERIAL_PORTS) {
@@ -627,7 +631,7 @@ DeviceState *exynos4210_uart_create(hwaddr addr,
 
 static int exynos4210_uart_init(SysBusDevice *dev)
 {
-    Exynos4210UartState *s = FROM_SYSBUS(Exynos4210UartState, dev);
+    Exynos4210UartState *s = EXYNOS4210_UART(dev);
 
     /* memory mapping */
     memory_region_init_io(&s->iomem, OBJECT(s), &exynos4210_uart_ops, s,
@@ -662,7 +666,7 @@ static void exynos4210_uart_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo exynos4210_uart_info = {
-    .name          = "exynos4210.uart",
+    .name          = TYPE_EXYNOS4210_UART,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(Exynos4210UartState),
     .class_init    = exynos4210_uart_class_init,
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 05/14] grlib_apbuart: QOM'ify
  2013-07-24 21:42 [Qemu-devel] [PATCH qom-next for-1.6 00/14] char: QOM cast cleanups Andreas Färber
                   ` (3 preceding siblings ...)
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 04/14] exynos4210_uart: QOM'ify Andreas Färber
@ 2013-07-24 21:42 ` Andreas Färber
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 06/14] imx_serial: QOM'ify Andreas Färber
                   ` (9 subsequent siblings)
  14 siblings, 0 replies; 19+ messages in thread
From: Andreas Färber @ 2013-07-24 21:42 UTC (permalink / raw)
  To: qemu-devel; +Cc: Andreas Färber, Fabien Chouteau

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

diff --git a/hw/char/grlib_apbuart.c b/hw/char/grlib_apbuart.c
index 82e1b95..35ef661 100644
--- a/hw/char/grlib_apbuart.c
+++ b/hw/char/grlib_apbuart.c
@@ -67,8 +67,13 @@
 
 #define FIFO_LENGTH 1024
 
+#define TYPE_GRLIB_APB_UART "grlib,apbuart"
+#define GRLIB_APB_UART(obj) \
+    OBJECT_CHECK(UART, (obj), TYPE_GRLIB_APB_UART)
+
 typedef struct UART {
-    SysBusDevice busdev;
+    SysBusDevice parent_obj;
+
     MemoryRegion iomem;
     qemu_irq irq;
 
@@ -232,7 +237,7 @@ static const MemoryRegionOps grlib_apbuart_ops = {
 
 static int grlib_apbuart_init(SysBusDevice *dev)
 {
-    UART *uart = FROM_SYSBUS(typeof(*uart), dev);
+    UART *uart = GRLIB_APB_UART(dev);
 
     qemu_chr_add_handlers(uart->chr,
                           grlib_apbuart_can_receive,
@@ -252,7 +257,7 @@ static int grlib_apbuart_init(SysBusDevice *dev)
 
 static void grlib_apbuart_reset(DeviceState *d)
 {
-    UART *uart = container_of(d, UART, busdev.qdev);
+    UART *uart = GRLIB_APB_UART(d);
 
     /* Transmitter FIFO and shift registers are always empty in QEMU */
     uart->status =  UART_TRANSMIT_FIFO_EMPTY | UART_TRANSMIT_SHIFT_EMPTY;
@@ -279,7 +284,7 @@ static void grlib_apbuart_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo grlib_apbuart_info = {
-    .name          = "grlib,apbuart",
+    .name          = TYPE_GRLIB_APB_UART,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(UART),
     .class_init    = grlib_apbuart_class_init,
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 06/14] imx_serial: QOM'ify
  2013-07-24 21:42 [Qemu-devel] [PATCH qom-next for-1.6 00/14] char: QOM cast cleanups Andreas Färber
                   ` (4 preceding siblings ...)
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 05/14] grlib_apbuart: QOM'ify Andreas Färber
@ 2013-07-24 21:42 ` Andreas Färber
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 07/14] lm32_juart: Relocate and tidy header Andreas Färber
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 19+ messages in thread
From: Andreas Färber @ 2013-07-24 21:42 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Chubb, Andreas Färber

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/char/imx_serial.c | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/hw/char/imx_serial.c b/hw/char/imx_serial.c
index 69b9ed2..d5d21c9 100644
--- a/hw/char/imx_serial.c
+++ b/hw/char/imx_serial.c
@@ -43,8 +43,12 @@ do { printf("imx_serial: " fmt , ##args); } while (0)
 #  define IPRINTF(fmt, args...) do {} while (0)
 #endif
 
-typedef struct {
-    SysBusDevice busdev;
+#define TYPE_IMX_SERIAL "imx-serial"
+#define IMX_SERIAL(obj) OBJECT_CHECK(IMXSerialState, (obj), TYPE_IMX_SERIAL)
+
+typedef struct IMXSerialState {
+    SysBusDevice parent_obj;
+
     MemoryRegion iomem;
     int32_t readbuff;
 
@@ -169,7 +173,7 @@ static void imx_serial_reset(IMXSerialState *s)
 
 static void imx_serial_reset_at_boot(DeviceState *dev)
 {
-    IMXSerialState *s = container_of(dev, IMXSerialState, busdev.qdev);
+    IMXSerialState *s = IMX_SERIAL(dev);
 
     imx_serial_reset(s);
 
@@ -383,7 +387,7 @@ static const struct MemoryRegionOps imx_serial_ops = {
 
 static int imx_serial_init(SysBusDevice *dev)
 {
-    IMXSerialState *s = FROM_SYSBUS(IMXSerialState, dev);
+    IMXSerialState *s = IMX_SERIAL(dev);
 
 
     memory_region_init_io(&s->iomem, OBJECT(s), &imx_serial_ops, s,
@@ -410,7 +414,7 @@ void imx_serial_create(int uart, const hwaddr addr, qemu_irq irq)
     const char chr_name[] = "serial";
     char label[ARRAY_SIZE(chr_name) + 1];
 
-    dev = qdev_create(NULL, "imx-serial");
+    dev = qdev_create(NULL, TYPE_IMX_SERIAL);
 
     if (uart >= MAX_SERIAL_PORTS) {
         hw_error("Cannot assign uart %d: QEMU supports only %d ports\n",
@@ -454,7 +458,7 @@ static void imx_serial_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo imx_serial_info = {
-    .name = "imx-serial",
+    .name = TYPE_IMX_SERIAL,
     .parent = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(IMXSerialState),
     .class_init = imx_serial_class_init,
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 07/14] lm32_juart: Relocate and tidy header
  2013-07-24 21:42 [Qemu-devel] [PATCH qom-next for-1.6 00/14] char: QOM cast cleanups Andreas Färber
                   ` (5 preceding siblings ...)
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 06/14] imx_serial: QOM'ify Andreas Färber
@ 2013-07-24 21:42 ` Andreas Färber
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 08/14] lm32_juart: QOM'ify Andreas Färber
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 19+ messages in thread
From: Andreas Färber @ 2013-07-24 21:42 UTC (permalink / raw)
  To: qemu-devel; +Cc: Michael Walle, Andreas Färber

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 MAINTAINERS                            | 1 +
 hw/char/lm32_juart.c                   | 2 +-
 include/hw/{lm32 => char}/lm32_juart.h | 6 +++---
 target-lm32/op_helper.c                | 2 +-
 4 files changed, 6 insertions(+), 5 deletions(-)
 rename include/hw/{lm32 => char}/lm32_juart.h (72%)

diff --git a/MAINTAINERS b/MAINTAINERS
index 93ad19d..82ca5fb 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -80,6 +80,7 @@ M: Michael Walle <michael@walle.cc>
 S: Maintained
 F: target-lm32/
 F: hw/lm32/
+F: hw/char/lm32_*
 
 M68K
 M: Paul Brook <paul@codesourcery.com>
diff --git a/hw/char/lm32_juart.c b/hw/char/lm32_juart.c
index 839f3eb..154511e 100644
--- a/hw/char/lm32_juart.c
+++ b/hw/char/lm32_juart.c
@@ -22,7 +22,7 @@
 #include "trace.h"
 #include "sysemu/char.h"
 
-#include "hw/lm32/lm32_juart.h"
+#include "hw/char/lm32_juart.h"
 
 enum {
     LM32_JUART_MIN_SAVE_VERSION = 0,
diff --git a/include/hw/lm32/lm32_juart.h b/include/hw/char/lm32_juart.h
similarity index 72%
rename from include/hw/lm32/lm32_juart.h
rename to include/hw/char/lm32_juart.h
index 67fc586..1cd3148 100644
--- a/include/hw/lm32/lm32_juart.h
+++ b/include/hw/char/lm32_juart.h
@@ -1,7 +1,7 @@
-#ifndef QEMU_HW_LM32_JUART_H
-#define QEMU_HW_LM32_JUART_H
+#ifndef QEMU_HW_CHAR_LM32_JUART_H
+#define QEMU_HW_CHAR_LM32_JUART_H
 
-#include "qemu-common.h"
+#include "hw/qdev.h"
 
 uint32_t lm32_juart_get_jtx(DeviceState *d);
 uint32_t lm32_juart_get_jrx(DeviceState *d);
diff --git a/target-lm32/op_helper.c b/target-lm32/op_helper.c
index f106873..2dab9f2 100644
--- a/target-lm32/op_helper.c
+++ b/target-lm32/op_helper.c
@@ -4,7 +4,7 @@
 #include "qemu/host-utils.h"
 
 #include "hw/lm32/lm32_pic.h"
-#include "hw/lm32/lm32_juart.h"
+#include "hw/char/lm32_juart.h"
 
 #if !defined(CONFIG_USER_ONLY)
 #define MMUSUFFIX _mmu
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 08/14] lm32_juart: QOM'ify
  2013-07-24 21:42 [Qemu-devel] [PATCH qom-next for-1.6 00/14] char: QOM cast cleanups Andreas Färber
                   ` (6 preceding siblings ...)
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 07/14] lm32_juart: Relocate and tidy header Andreas Färber
@ 2013-07-24 21:42 ` Andreas Färber
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 09/14] lm32_uart: QOM'ify Andreas Färber
                   ` (6 subsequent siblings)
  14 siblings, 0 replies; 19+ messages in thread
From: Andreas Färber @ 2013-07-24 21:42 UTC (permalink / raw)
  To: qemu-devel; +Cc: Michael Walle, Andreas Färber

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/char/lm32_juart.c         | 19 +++++++++++--------
 hw/lm32/lm32.h               |  5 ++---
 include/hw/char/lm32_juart.h |  2 ++
 3 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/hw/char/lm32_juart.c b/hw/char/lm32_juart.c
index 154511e..252fe46 100644
--- a/hw/char/lm32_juart.c
+++ b/hw/char/lm32_juart.c
@@ -38,8 +38,11 @@ enum {
     JRX_FULL = (1<<8),
 };
 
+#define LM32_JUART(obj) OBJECT_CHECK(LM32JuartState, (obj), TYPE_LM32_JUART)
+
 struct LM32JuartState {
-    SysBusDevice busdev;
+    SysBusDevice parent_obj;
+
     CharDriverState *chr;
 
     uint32_t jtx;
@@ -49,7 +52,7 @@ typedef struct LM32JuartState LM32JuartState;
 
 uint32_t lm32_juart_get_jtx(DeviceState *d)
 {
-    LM32JuartState *s = container_of(d, LM32JuartState, busdev.qdev);
+    LM32JuartState *s = LM32_JUART(d);
 
     trace_lm32_juart_get_jtx(s->jtx);
     return s->jtx;
@@ -57,7 +60,7 @@ uint32_t lm32_juart_get_jtx(DeviceState *d)
 
 uint32_t lm32_juart_get_jrx(DeviceState *d)
 {
-    LM32JuartState *s = container_of(d, LM32JuartState, busdev.qdev);
+    LM32JuartState *s = LM32_JUART(d);
 
     trace_lm32_juart_get_jrx(s->jrx);
     return s->jrx;
@@ -65,7 +68,7 @@ uint32_t lm32_juart_get_jrx(DeviceState *d)
 
 void lm32_juart_set_jtx(DeviceState *d, uint32_t jtx)
 {
-    LM32JuartState *s = container_of(d, LM32JuartState, busdev.qdev);
+    LM32JuartState *s = LM32_JUART(d);
     unsigned char ch = jtx & 0xff;
 
     trace_lm32_juart_set_jtx(s->jtx);
@@ -78,7 +81,7 @@ void lm32_juart_set_jtx(DeviceState *d, uint32_t jtx)
 
 void lm32_juart_set_jrx(DeviceState *d, uint32_t jtx)
 {
-    LM32JuartState *s = container_of(d, LM32JuartState, busdev.qdev);
+    LM32JuartState *s = LM32_JUART(d);
 
     trace_lm32_juart_set_jrx(s->jrx);
     s->jrx &= ~JRX_FULL;
@@ -104,7 +107,7 @@ static void juart_event(void *opaque, int event)
 
 static void juart_reset(DeviceState *d)
 {
-    LM32JuartState *s = container_of(d, LM32JuartState, busdev.qdev);
+    LM32JuartState *s = LM32_JUART(d);
 
     s->jtx = 0;
     s->jrx = 0;
@@ -112,7 +115,7 @@ static void juart_reset(DeviceState *d)
 
 static int lm32_juart_init(SysBusDevice *dev)
 {
-    LM32JuartState *s = FROM_SYSBUS(typeof(*s), dev);
+    LM32JuartState *s = LM32_JUART(dev);
 
     s->chr = qemu_char_get_next_serial();
     if (s->chr) {
@@ -145,7 +148,7 @@ static void lm32_juart_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo lm32_juart_info = {
-    .name          = "lm32-juart",
+    .name          = TYPE_LM32_JUART,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(LM32JuartState),
     .class_init    = lm32_juart_class_init,
diff --git a/hw/lm32/lm32.h b/hw/lm32/lm32.h
index 236686e..18aa6fd 100644
--- a/hw/lm32/lm32.h
+++ b/hw/lm32/lm32.h
@@ -1,8 +1,7 @@
 #ifndef HW_LM32_H
 #define HW_LM32_H 1
 
-
-#include "qemu-common.h"
+#include "hw/char/lm32_juart.h"
 
 static inline DeviceState *lm32_pic_init(qemu_irq cpu_irq)
 {
@@ -21,7 +20,7 @@ static inline DeviceState *lm32_juart_init(void)
 {
     DeviceState *dev;
 
-    dev = qdev_create(NULL, "lm32-juart");
+    dev = qdev_create(NULL, TYPE_LM32_JUART);
     qdev_init_nofail(dev);
 
     return dev;
diff --git a/include/hw/char/lm32_juart.h b/include/hw/char/lm32_juart.h
index 1cd3148..70dc416 100644
--- a/include/hw/char/lm32_juart.h
+++ b/include/hw/char/lm32_juart.h
@@ -3,6 +3,8 @@
 
 #include "hw/qdev.h"
 
+#define TYPE_LM32_JUART "lm32-juart"
+
 uint32_t lm32_juart_get_jtx(DeviceState *d);
 uint32_t lm32_juart_get_jrx(DeviceState *d);
 void lm32_juart_set_jtx(DeviceState *d, uint32_t jtx);
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 09/14] lm32_uart: QOM'ify
  2013-07-24 21:42 [Qemu-devel] [PATCH qom-next for-1.6 00/14] char: QOM cast cleanups Andreas Färber
                   ` (7 preceding siblings ...)
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 08/14] lm32_juart: QOM'ify Andreas Färber
@ 2013-07-24 21:42 ` Andreas Färber
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 10/14] milkymist-uart: QOM'ify Andreas Färber
                   ` (5 subsequent siblings)
  14 siblings, 0 replies; 19+ messages in thread
From: Andreas Färber @ 2013-07-24 21:42 UTC (permalink / raw)
  To: qemu-devel; +Cc: Michael Walle, Andreas Färber

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

diff --git a/hw/char/lm32_uart.c b/hw/char/lm32_uart.c
index 37b38ba..85d7265 100644
--- a/hw/char/lm32_uart.c
+++ b/hw/char/lm32_uart.c
@@ -89,8 +89,12 @@ enum {
     MSR_DCD  = (1<<7),
 };
 
+#define TYPE_LM32_UART "lm32-uart"
+#define LM32_UART(obj) OBJECT_CHECK(LM32UartState, (obj), TYPE_LM32_UART)
+
 struct LM32UartState {
-    SysBusDevice busdev;
+    SysBusDevice parent_obj;
+
     MemoryRegion iomem;
     CharDriverState *chr;
     qemu_irq irq;
@@ -233,7 +237,7 @@ static void uart_event(void *opaque, int event)
 
 static void uart_reset(DeviceState *d)
 {
-    LM32UartState *s = container_of(d, LM32UartState, busdev.qdev);
+    LM32UartState *s = LM32_UART(d);
     int i;
 
     for (i = 0; i < R_MAX; i++) {
@@ -246,7 +250,7 @@ static void uart_reset(DeviceState *d)
 
 static int lm32_uart_init(SysBusDevice *dev)
 {
-    LM32UartState *s = FROM_SYSBUS(typeof(*s), dev);
+    LM32UartState *s = LM32_UART(dev);
 
     sysbus_init_irq(dev, &s->irq);
 
@@ -284,7 +288,7 @@ static void lm32_uart_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo lm32_uart_info = {
-    .name          = "lm32-uart",
+    .name          = TYPE_LM32_UART,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(LM32UartState),
     .class_init    = lm32_uart_class_init,
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 10/14] milkymist-uart: QOM'ify
  2013-07-24 21:42 [Qemu-devel] [PATCH qom-next for-1.6 00/14] char: QOM cast cleanups Andreas Färber
                   ` (8 preceding siblings ...)
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 09/14] lm32_uart: QOM'ify Andreas Färber
@ 2013-07-24 21:42 ` Andreas Färber
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 11/14] pl011: Rename pl011_state Andreas Färber
                   ` (4 subsequent siblings)
  14 siblings, 0 replies; 19+ messages in thread
From: Andreas Färber @ 2013-07-24 21:42 UTC (permalink / raw)
  To: qemu-devel; +Cc: Andreas Färber

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

diff --git a/hw/char/milkymist-uart.c b/hw/char/milkymist-uart.c
index 46deab2..2e4b5c5 100644
--- a/hw/char/milkymist-uart.c
+++ b/hw/char/milkymist-uart.c
@@ -52,8 +52,13 @@ enum {
     DBG_BREAK_EN = (1<<0),
 };
 
+#define TYPE_MILKYMIST_UART "milkymist-uart"
+#define MILKYMIST_UART(obj) \
+    OBJECT_CHECK(MilkymistUartState, (obj), TYPE_MILKYMIST_UART)
+
 struct MilkymistUartState {
-    SysBusDevice busdev;
+    SysBusDevice parent_obj;
+
     MemoryRegion regs_region;
     CharDriverState *chr;
     qemu_irq irq;
@@ -179,7 +184,7 @@ static void uart_event(void *opaque, int event)
 
 static void milkymist_uart_reset(DeviceState *d)
 {
-    MilkymistUartState *s = container_of(d, MilkymistUartState, busdev.qdev);
+    MilkymistUartState *s = MILKYMIST_UART(d);
     int i;
 
     for (i = 0; i < R_MAX; i++) {
@@ -192,12 +197,12 @@ static void milkymist_uart_reset(DeviceState *d)
 
 static int milkymist_uart_init(SysBusDevice *dev)
 {
-    MilkymistUartState *s = FROM_SYSBUS(typeof(*s), dev);
+    MilkymistUartState *s = MILKYMIST_UART(dev);
 
     sysbus_init_irq(dev, &s->irq);
 
     memory_region_init_io(&s->regs_region, OBJECT(s), &uart_mmio_ops, s,
-            "milkymist-uart", R_MAX * 4);
+                          "milkymist-uart", R_MAX * 4);
     sysbus_init_mmio(dev, &s->regs_region);
 
     s->chr = qemu_char_get_next_serial();
@@ -230,7 +235,7 @@ static void milkymist_uart_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo milkymist_uart_info = {
-    .name          = "milkymist-uart",
+    .name          = TYPE_MILKYMIST_UART,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(MilkymistUartState),
     .class_init    = milkymist_uart_class_init,
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 11/14] pl011: Rename pl011_state
  2013-07-24 21:42 [Qemu-devel] [PATCH qom-next for-1.6 00/14] char: QOM cast cleanups Andreas Färber
                   ` (9 preceding siblings ...)
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 10/14] milkymist-uart: QOM'ify Andreas Färber
@ 2013-07-24 21:42 ` Andreas Färber
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 12/14] pl011: QOM'ify pl011 and pl011_luminary Andreas Färber
                   ` (3 subsequent siblings)
  14 siblings, 0 replies; 19+ messages in thread
From: Andreas Färber @ 2013-07-24 21:42 UTC (permalink / raw)
  To: qemu-devel; +Cc: Andreas Färber

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

diff --git a/hw/char/pl011.c b/hw/char/pl011.c
index ebec64f..e0f7071 100644
--- a/hw/char/pl011.c
+++ b/hw/char/pl011.c
@@ -10,7 +10,7 @@
 #include "hw/sysbus.h"
 #include "sysemu/char.h"
 
-typedef struct {
+typedef struct PL011State {
     SysBusDevice busdev;
     MemoryRegion iomem;
     uint32_t readbuff;
@@ -31,7 +31,7 @@ typedef struct {
     CharDriverState *chr;
     qemu_irq irq;
     const unsigned char *id;
-} pl011_state;
+} PL011State;
 
 #define PL011_INT_TX 0x20
 #define PL011_INT_RX 0x10
@@ -46,7 +46,7 @@ static const unsigned char pl011_id_arm[8] =
 static const unsigned char pl011_id_luminary[8] =
   { 0x11, 0x00, 0x18, 0x01, 0x0d, 0xf0, 0x05, 0xb1 };
 
-static void pl011_update(pl011_state *s)
+static void pl011_update(PL011State *s)
 {
     uint32_t flags;
 
@@ -57,7 +57,7 @@ static void pl011_update(pl011_state *s)
 static uint64_t pl011_read(void *opaque, hwaddr offset,
                            unsigned size)
 {
-    pl011_state *s = (pl011_state *)opaque;
+    PL011State *s = (PL011State *)opaque;
     uint32_t c;
 
     if (offset >= 0xfe0 && offset < 0x1000) {
@@ -113,7 +113,7 @@ static uint64_t pl011_read(void *opaque, hwaddr offset,
     }
 }
 
-static void pl011_set_read_trigger(pl011_state *s)
+static void pl011_set_read_trigger(PL011State *s)
 {
 #if 0
     /* The docs say the RX interrupt is triggered when the FIFO exceeds
@@ -130,7 +130,7 @@ static void pl011_set_read_trigger(pl011_state *s)
 static void pl011_write(void *opaque, hwaddr offset,
                         uint64_t value, unsigned size)
 {
-    pl011_state *s = (pl011_state *)opaque;
+    PL011State *s = (PL011State *)opaque;
     unsigned char ch;
 
     switch (offset >> 2) {
@@ -191,7 +191,7 @@ static void pl011_write(void *opaque, hwaddr offset,
 
 static int pl011_can_receive(void *opaque)
 {
-    pl011_state *s = (pl011_state *)opaque;
+    PL011State *s = (PL011State *)opaque;
 
     if (s->lcr & 0x10)
         return s->read_count < 16;
@@ -201,7 +201,7 @@ static int pl011_can_receive(void *opaque)
 
 static void pl011_put_fifo(void *opaque, uint32_t value)
 {
-    pl011_state *s = (pl011_state *)opaque;
+    PL011State *s = (PL011State *)opaque;
     int slot;
 
     slot = s->read_pos + s->read_count;
@@ -242,28 +242,28 @@ static const VMStateDescription vmstate_pl011 = {
     .minimum_version_id = 1,
     .minimum_version_id_old = 1,
     .fields      = (VMStateField[]) {
-        VMSTATE_UINT32(readbuff, pl011_state),
-        VMSTATE_UINT32(flags, pl011_state),
-        VMSTATE_UINT32(lcr, pl011_state),
-        VMSTATE_UINT32(cr, pl011_state),
-        VMSTATE_UINT32(dmacr, pl011_state),
-        VMSTATE_UINT32(int_enabled, pl011_state),
-        VMSTATE_UINT32(int_level, pl011_state),
-        VMSTATE_UINT32_ARRAY(read_fifo, pl011_state, 16),
-        VMSTATE_UINT32(ilpr, pl011_state),
-        VMSTATE_UINT32(ibrd, pl011_state),
-        VMSTATE_UINT32(fbrd, pl011_state),
-        VMSTATE_UINT32(ifl, pl011_state),
-        VMSTATE_INT32(read_pos, pl011_state),
-        VMSTATE_INT32(read_count, pl011_state),
-        VMSTATE_INT32(read_trigger, pl011_state),
+        VMSTATE_UINT32(readbuff, PL011State),
+        VMSTATE_UINT32(flags, PL011State),
+        VMSTATE_UINT32(lcr, PL011State),
+        VMSTATE_UINT32(cr, PL011State),
+        VMSTATE_UINT32(dmacr, PL011State),
+        VMSTATE_UINT32(int_enabled, PL011State),
+        VMSTATE_UINT32(int_level, PL011State),
+        VMSTATE_UINT32_ARRAY(read_fifo, PL011State, 16),
+        VMSTATE_UINT32(ilpr, PL011State),
+        VMSTATE_UINT32(ibrd, PL011State),
+        VMSTATE_UINT32(fbrd, PL011State),
+        VMSTATE_UINT32(ifl, PL011State),
+        VMSTATE_INT32(read_pos, PL011State),
+        VMSTATE_INT32(read_count, PL011State),
+        VMSTATE_INT32(read_trigger, PL011State),
         VMSTATE_END_OF_LIST()
     }
 };
 
 static int pl011_init(SysBusDevice *dev, const unsigned char *id)
 {
-    pl011_state *s = FROM_SYSBUS(pl011_state, dev);
+    PL011State *s = FROM_SYSBUS(PL011State, dev);
 
     memory_region_init_io(&s->iomem, OBJECT(s), &pl011_ops, s, "pl011", 0x1000);
     sysbus_init_mmio(dev, &s->iomem);
@@ -303,7 +303,7 @@ static void pl011_arm_class_init(ObjectClass *klass, void *data)
 static const TypeInfo pl011_arm_info = {
     .name          = "pl011",
     .parent        = TYPE_SYS_BUS_DEVICE,
-    .instance_size = sizeof(pl011_state),
+    .instance_size = sizeof(PL011State),
     .class_init    = pl011_arm_class_init,
 };
 
@@ -317,7 +317,7 @@ static void pl011_luminary_class_init(ObjectClass *klass, void *data)
 static const TypeInfo pl011_luminary_info = {
     .name          = "pl011_luminary",
     .parent        = TYPE_SYS_BUS_DEVICE,
-    .instance_size = sizeof(pl011_state),
+    .instance_size = sizeof(PL011State),
     .class_init    = pl011_luminary_class_init,
 };
 
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 12/14] pl011: QOM'ify pl011 and pl011_luminary
  2013-07-24 21:42 [Qemu-devel] [PATCH qom-next for-1.6 00/14] char: QOM cast cleanups Andreas Färber
                   ` (10 preceding siblings ...)
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 11/14] pl011: Rename pl011_state Andreas Färber
@ 2013-07-24 21:42 ` Andreas Färber
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 13/14] xilinx_uartlite: Rename xlx_uartlite to XilinxUARTLite Andreas Färber
                   ` (2 subsequent siblings)
  14 siblings, 0 replies; 19+ messages in thread
From: Andreas Färber @ 2013-07-24 21:42 UTC (permalink / raw)
  To: qemu-devel; +Cc: Andreas Färber

Let the Luminary variant inherit from the ARM one, overwriting its ID on
instance_init. Introduce type constant and use QOM casts. Replace
triplicated SysBusDevice initfn with QOM realizefn and instance_init.

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

diff --git a/hw/char/pl011.c b/hw/char/pl011.c
index e0f7071..a8ae6f4 100644
--- a/hw/char/pl011.c
+++ b/hw/char/pl011.c
@@ -10,8 +10,12 @@
 #include "hw/sysbus.h"
 #include "sysemu/char.h"
 
+#define TYPE_PL011 "pl011"
+#define PL011(obj) OBJECT_CHECK(PL011State, (obj), TYPE_PL011)
+
 typedef struct PL011State {
-    SysBusDevice busdev;
+    SysBusDevice parent_obj;
+
     MemoryRegion iomem;
     uint32_t readbuff;
     uint32_t flags;
@@ -261,64 +265,62 @@ static const VMStateDescription vmstate_pl011 = {
     }
 };
 
-static int pl011_init(SysBusDevice *dev, const unsigned char *id)
+static void pl011_init(Object *obj)
 {
-    PL011State *s = FROM_SYSBUS(PL011State, dev);
+    SysBusDevice *sbd = SYS_BUS_DEVICE(obj);
+    PL011State *s = PL011(obj);
 
     memory_region_init_io(&s->iomem, OBJECT(s), &pl011_ops, s, "pl011", 0x1000);
-    sysbus_init_mmio(dev, &s->iomem);
-    sysbus_init_irq(dev, &s->irq);
-    s->id = id;
-    s->chr = qemu_char_get_next_serial();
+    sysbus_init_mmio(sbd, &s->iomem);
+    sysbus_init_irq(sbd, &s->irq);
 
     s->read_trigger = 1;
     s->ifl = 0x12;
     s->cr = 0x300;
     s->flags = 0x90;
-    if (s->chr) {
-        qemu_chr_add_handlers(s->chr, pl011_can_receive, pl011_receive,
-                              pl011_event, s);
-    }
-    vmstate_register(&dev->qdev, -1, &vmstate_pl011, s);
-    return 0;
-}
 
-static int pl011_arm_init(SysBusDevice *dev)
-{
-    return pl011_init(dev, pl011_id_arm);
+    s->id = pl011_id_arm;
 }
 
-static int pl011_luminary_init(SysBusDevice *dev)
+static void pl011_realize(DeviceState *dev, Error **errp)
 {
-    return pl011_init(dev, pl011_id_luminary);
+    PL011State *s = PL011(dev);
+
+    s->chr = qemu_char_get_next_serial();
+
+    if (s->chr) {
+        qemu_chr_add_handlers(s->chr, pl011_can_receive, pl011_receive,
+                              pl011_event, s);
+    }
 }
 
-static void pl011_arm_class_init(ObjectClass *klass, void *data)
+static void pl011_class_init(ObjectClass *oc, void *data)
 {
-    SysBusDeviceClass *sdc = SYS_BUS_DEVICE_CLASS(klass);
+    DeviceClass *dc = DEVICE_CLASS(oc);
 
-    sdc->init = pl011_arm_init;
+    dc->realize = pl011_realize;
+    dc->vmsd = &vmstate_pl011;
 }
 
 static const TypeInfo pl011_arm_info = {
-    .name          = "pl011",
+    .name          = TYPE_PL011,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(PL011State),
-    .class_init    = pl011_arm_class_init,
+    .instance_init = pl011_init,
+    .class_init    = pl011_class_init,
 };
 
-static void pl011_luminary_class_init(ObjectClass *klass, void *data)
+static void pl011_luminary_init(Object *obj)
 {
-    SysBusDeviceClass *sdc = SYS_BUS_DEVICE_CLASS(klass);
+    PL011State *s = PL011(obj);
 
-    sdc->init = pl011_luminary_init;
+    s->id = pl011_id_luminary;
 }
 
 static const TypeInfo pl011_luminary_info = {
     .name          = "pl011_luminary",
-    .parent        = TYPE_SYS_BUS_DEVICE,
-    .instance_size = sizeof(PL011State),
-    .class_init    = pl011_luminary_class_init,
+    .parent        = TYPE_PL011,
+    .instance_init = pl011_luminary_init,
 };
 
 static void pl011_register_types(void)
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 13/14] xilinx_uartlite: Rename xlx_uartlite to XilinxUARTLite
  2013-07-24 21:42 [Qemu-devel] [PATCH qom-next for-1.6 00/14] char: QOM cast cleanups Andreas Färber
                   ` (11 preceding siblings ...)
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 12/14] pl011: QOM'ify pl011 and pl011_luminary Andreas Färber
@ 2013-07-24 21:42 ` Andreas Färber
  2013-07-26  3:05   ` Edgar E. Iglesias
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 14/14] xilinx_uartlite: QOM'ify Andreas Färber
  2013-07-26 22:28 ` [Qemu-devel] [PATCH qom-next for-1.6 00/14] char: QOM cast cleanups Andreas Färber
  14 siblings, 1 reply; 19+ messages in thread
From: Andreas Färber @ 2013-07-24 21:42 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Crosthwaite, Edgar E. Iglesias, Andreas Färber

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/char/xilinx_uartlite.c | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)

diff --git a/hw/char/xilinx_uartlite.c b/hw/char/xilinx_uartlite.c
index feca497..929743c 100644
--- a/hw/char/xilinx_uartlite.c
+++ b/hw/char/xilinx_uartlite.c
@@ -46,8 +46,7 @@
 #define CONTROL_RST_RX    0x02
 #define CONTROL_IE        0x10
 
-struct xlx_uartlite
-{
+typedef struct XilinxUARTLite {
     SysBusDevice busdev;
     MemoryRegion mmio;
     CharDriverState *chr;
@@ -58,9 +57,9 @@ struct xlx_uartlite
     unsigned int rx_fifo_len;
 
     uint32_t regs[R_MAX];
-};
+} XilinxUARTLite;
 
-static void uart_update_irq(struct xlx_uartlite *s)
+static void uart_update_irq(XilinxUARTLite *s)
 {
     unsigned int irq;
 
@@ -71,7 +70,7 @@ static void uart_update_irq(struct xlx_uartlite *s)
     qemu_set_irq(s->irq, irq);
 }
 
-static void uart_update_status(struct xlx_uartlite *s)
+static void uart_update_status(XilinxUARTLite *s)
 {
     uint32_t r;
 
@@ -86,7 +85,7 @@ static void uart_update_status(struct xlx_uartlite *s)
 static uint64_t
 uart_read(void *opaque, hwaddr addr, unsigned int size)
 {
-    struct xlx_uartlite *s = opaque;
+    XilinxUARTLite *s = opaque;
     uint32_t r = 0;
     addr >>= 2;
     switch (addr)
@@ -113,7 +112,7 @@ static void
 uart_write(void *opaque, hwaddr addr,
            uint64_t val64, unsigned int size)
 {
-    struct xlx_uartlite *s = opaque;
+    XilinxUARTLite *s = opaque;
     uint32_t value = val64;
     unsigned char ch = value;
 
@@ -164,7 +163,7 @@ static const MemoryRegionOps uart_ops = {
 
 static void uart_rx(void *opaque, const uint8_t *buf, int size)
 {
-    struct xlx_uartlite *s = opaque;
+    XilinxUARTLite *s = opaque;
 
     /* Got a byte.  */
     if (s->rx_fifo_len >= 8) {
@@ -182,7 +181,7 @@ static void uart_rx(void *opaque, const uint8_t *buf, int size)
 
 static int uart_can_rx(void *opaque)
 {
-    struct xlx_uartlite *s = opaque;
+    XilinxUARTLite *s = opaque;
 
     return s->rx_fifo_len < sizeof(s->rx_fifo);
 }
@@ -194,7 +193,7 @@ static void uart_event(void *opaque, int event)
 
 static int xilinx_uartlite_init(SysBusDevice *dev)
 {
-    struct xlx_uartlite *s = FROM_SYSBUS(typeof (*s), dev);
+    XilinxUARTLite *s = FROM_SYSBUS(typeof (*s), dev);
 
     sysbus_init_irq(dev, &s->irq);
 
@@ -219,7 +218,7 @@ static void xilinx_uartlite_class_init(ObjectClass *klass, void *data)
 static const TypeInfo xilinx_uartlite_info = {
     .name          = "xlnx.xps-uartlite",
     .parent        = TYPE_SYS_BUS_DEVICE,
-    .instance_size = sizeof (struct xlx_uartlite),
+    .instance_size = sizeof(XilinxUARTLite),
     .class_init    = xilinx_uartlite_class_init,
 };
 
-- 
1.8.1.4

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

* [Qemu-devel] [PATCH qom-next for-1.6 14/14] xilinx_uartlite: QOM'ify
  2013-07-24 21:42 [Qemu-devel] [PATCH qom-next for-1.6 00/14] char: QOM cast cleanups Andreas Färber
                   ` (12 preceding siblings ...)
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 13/14] xilinx_uartlite: Rename xlx_uartlite to XilinxUARTLite Andreas Färber
@ 2013-07-24 21:42 ` Andreas Färber
  2013-07-26  3:05   ` Edgar E. Iglesias
  2013-07-26 22:28 ` [Qemu-devel] [PATCH qom-next for-1.6 00/14] char: QOM cast cleanups Andreas Färber
  14 siblings, 1 reply; 19+ messages in thread
From: Andreas Färber @ 2013-07-24 21:42 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Crosthwaite, Edgar E. Iglesias, Andreas Färber

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/char/xilinx_uartlite.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/hw/char/xilinx_uartlite.c b/hw/char/xilinx_uartlite.c
index 929743c..b0d1d04 100644
--- a/hw/char/xilinx_uartlite.c
+++ b/hw/char/xilinx_uartlite.c
@@ -46,8 +46,13 @@
 #define CONTROL_RST_RX    0x02
 #define CONTROL_IE        0x10
 
+#define TYPE_XILINX_UARTLITE "xlnx.xps-uartlite"
+#define XILINX_UARTLITE(obj) \
+    OBJECT_CHECK(XilinxUARTLite, (obj), TYPE_XILINX_UARTLITE)
+
 typedef struct XilinxUARTLite {
-    SysBusDevice busdev;
+    SysBusDevice parent_obj;
+
     MemoryRegion mmio;
     CharDriverState *chr;
     qemu_irq irq;
@@ -193,7 +198,7 @@ static void uart_event(void *opaque, int event)
 
 static int xilinx_uartlite_init(SysBusDevice *dev)
 {
-    XilinxUARTLite *s = FROM_SYSBUS(typeof (*s), dev);
+    XilinxUARTLite *s = XILINX_UARTLITE(dev);
 
     sysbus_init_irq(dev, &s->irq);
 
@@ -216,7 +221,7 @@ static void xilinx_uartlite_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo xilinx_uartlite_info = {
-    .name          = "xlnx.xps-uartlite",
+    .name          = TYPE_XILINX_UARTLITE,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(XilinxUARTLite),
     .class_init    = xilinx_uartlite_class_init,
-- 
1.8.1.4

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

* Re: [Qemu-devel] [PATCH qom-next for-1.6 03/14] etraxfs_ser: QOM'ify
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 03/14] etraxfs_ser: QOM'ify Andreas Färber
@ 2013-07-26  3:04   ` Edgar E. Iglesias
  0 siblings, 0 replies; 19+ messages in thread
From: Edgar E. Iglesias @ 2013-07-26  3:04 UTC (permalink / raw)
  To: Andreas Färber; +Cc: qemu-devel

On Wed, Jul 24, 2013 at 11:42:08PM +0200, Andreas Färber wrote:
> Rename etrax_serial to ETRAXSerial, introduce type constant and use QOM
> casts.

Acked-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>





> 
> Signed-off-by: Andreas Färber <afaerber@suse.de>
> ---
>  hw/char/etraxfs_ser.c | 37 +++++++++++++++++++++----------------
>  1 file changed, 21 insertions(+), 16 deletions(-)
> 
> diff --git a/hw/char/etraxfs_ser.c b/hw/char/etraxfs_ser.c
> index d19af00..460094e 100644
> --- a/hw/char/etraxfs_ser.c
> +++ b/hw/char/etraxfs_ser.c
> @@ -44,9 +44,13 @@
>  #define STAT_TR_IDLE 22
>  #define STAT_TR_RDY  24
>  
> -struct etrax_serial
> -{
> -    SysBusDevice busdev;
> +#define TYPE_ETRAX_FS_SERIAL "etraxfs,serial"
> +#define ETRAX_SERIAL(obj) \
> +    OBJECT_CHECK(ETRAXSerial, (obj), TYPE_ETRAX_FS_SERIAL)
> +
> +typedef struct ETRAXSerial {
> +    SysBusDevice parent_obj;
> +
>      MemoryRegion mmio;
>      CharDriverState *chr;
>      qemu_irq irq;
> @@ -59,9 +63,9 @@ struct etrax_serial
>  
>      /* Control registers.  */
>      uint32_t regs[R_MAX];
> -};
> +} ETRAXSerial;
>  
> -static void ser_update_irq(struct etrax_serial *s)
> +static void ser_update_irq(ETRAXSerial *s)
>  {
>  
>      if (s->rx_fifo_len) {
> @@ -77,7 +81,7 @@ static void ser_update_irq(struct etrax_serial *s)
>  static uint64_t
>  ser_read(void *opaque, hwaddr addr, unsigned int size)
>  {
> -    struct etrax_serial *s = opaque;
> +    ETRAXSerial *s = opaque;
>      uint32_t r = 0;
>  
>      addr >>= 2;
> @@ -112,7 +116,7 @@ static void
>  ser_write(void *opaque, hwaddr addr,
>            uint64_t val64, unsigned int size)
>  {
> -    struct etrax_serial *s = opaque;
> +    ETRAXSerial *s = opaque;
>      uint32_t value = val64;
>      unsigned char ch = val64;
>  
> @@ -156,7 +160,7 @@ static const MemoryRegionOps ser_ops = {
>  
>  static void serial_receive(void *opaque, const uint8_t *buf, int size)
>  {
> -    struct etrax_serial *s = opaque;
> +    ETRAXSerial *s = opaque;
>      int i;
>  
>      /* Got a byte.  */
> @@ -177,7 +181,7 @@ static void serial_receive(void *opaque, const uint8_t *buf, int size)
>  
>  static int serial_can_receive(void *opaque)
>  {
> -    struct etrax_serial *s = opaque;
> +    ETRAXSerial *s = opaque;
>      int r;
>  
>      /* Is the receiver enabled?  */
> @@ -196,7 +200,7 @@ static void serial_event(void *opaque, int event)
>  
>  static void etraxfs_ser_reset(DeviceState *d)
>  {
> -    struct etrax_serial *s = container_of(d, typeof(*s), busdev.qdev);
> +    ETRAXSerial *s = ETRAX_SERIAL(d);
>  
>      /* transmitter begins ready and idle.  */
>      s->regs[RS_STAT_DIN] |= (1 << STAT_TR_RDY);
> @@ -208,7 +212,7 @@ static void etraxfs_ser_reset(DeviceState *d)
>  
>  static int etraxfs_ser_init(SysBusDevice *dev)
>  {
> -    struct etrax_serial *s = FROM_SYSBUS(typeof (*s), dev);
> +    ETRAXSerial *s = ETRAX_SERIAL(dev);
>  
>      sysbus_init_irq(dev, &s->irq);
>      memory_region_init_io(&s->mmio, OBJECT(s), &ser_ops, s,
> @@ -216,10 +220,11 @@ static int etraxfs_ser_init(SysBusDevice *dev)
>      sysbus_init_mmio(dev, &s->mmio);
>  
>      s->chr = qemu_char_get_next_serial();
> -    if (s->chr)
> +    if (s->chr) {
>          qemu_chr_add_handlers(s->chr,
> -                      serial_can_receive, serial_receive,
> -                      serial_event, s);
> +                              serial_can_receive, serial_receive,
> +                              serial_event, s);
> +    }
>      return 0;
>  }
>  
> @@ -233,9 +238,9 @@ static void etraxfs_ser_class_init(ObjectClass *klass, void *data)
>  }
>  
>  static const TypeInfo etraxfs_ser_info = {
> -    .name          = "etraxfs,serial",
> +    .name          = TYPE_ETRAX_FS_SERIAL,
>      .parent        = TYPE_SYS_BUS_DEVICE,
> -    .instance_size = sizeof(struct etrax_serial),
> +    .instance_size = sizeof(ETRAXSerial),
>      .class_init    = etraxfs_ser_class_init,
>  };
>  
> -- 
> 1.8.1.4
> 

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

* Re: [Qemu-devel] [PATCH qom-next for-1.6 13/14] xilinx_uartlite: Rename xlx_uartlite to XilinxUARTLite
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 13/14] xilinx_uartlite: Rename xlx_uartlite to XilinxUARTLite Andreas Färber
@ 2013-07-26  3:05   ` Edgar E. Iglesias
  0 siblings, 0 replies; 19+ messages in thread
From: Edgar E. Iglesias @ 2013-07-26  3:05 UTC (permalink / raw)
  To: Andreas Färber; +Cc: Peter Crosthwaite, qemu-devel

On Wed, Jul 24, 2013 at 11:42:18PM +0200, Andreas Färber wrote:
> Signed-off-by: Andreas Färber <afaerber@suse.de>

Acked-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>


> ---
>  hw/char/xilinx_uartlite.c | 21 ++++++++++-----------
>  1 file changed, 10 insertions(+), 11 deletions(-)
> 
> diff --git a/hw/char/xilinx_uartlite.c b/hw/char/xilinx_uartlite.c
> index feca497..929743c 100644
> --- a/hw/char/xilinx_uartlite.c
> +++ b/hw/char/xilinx_uartlite.c
> @@ -46,8 +46,7 @@
>  #define CONTROL_RST_RX    0x02
>  #define CONTROL_IE        0x10
>  
> -struct xlx_uartlite
> -{
> +typedef struct XilinxUARTLite {
>      SysBusDevice busdev;
>      MemoryRegion mmio;
>      CharDriverState *chr;
> @@ -58,9 +57,9 @@ struct xlx_uartlite
>      unsigned int rx_fifo_len;
>  
>      uint32_t regs[R_MAX];
> -};
> +} XilinxUARTLite;
>  
> -static void uart_update_irq(struct xlx_uartlite *s)
> +static void uart_update_irq(XilinxUARTLite *s)
>  {
>      unsigned int irq;
>  
> @@ -71,7 +70,7 @@ static void uart_update_irq(struct xlx_uartlite *s)
>      qemu_set_irq(s->irq, irq);
>  }
>  
> -static void uart_update_status(struct xlx_uartlite *s)
> +static void uart_update_status(XilinxUARTLite *s)
>  {
>      uint32_t r;
>  
> @@ -86,7 +85,7 @@ static void uart_update_status(struct xlx_uartlite *s)
>  static uint64_t
>  uart_read(void *opaque, hwaddr addr, unsigned int size)
>  {
> -    struct xlx_uartlite *s = opaque;
> +    XilinxUARTLite *s = opaque;
>      uint32_t r = 0;
>      addr >>= 2;
>      switch (addr)
> @@ -113,7 +112,7 @@ static void
>  uart_write(void *opaque, hwaddr addr,
>             uint64_t val64, unsigned int size)
>  {
> -    struct xlx_uartlite *s = opaque;
> +    XilinxUARTLite *s = opaque;
>      uint32_t value = val64;
>      unsigned char ch = value;
>  
> @@ -164,7 +163,7 @@ static const MemoryRegionOps uart_ops = {
>  
>  static void uart_rx(void *opaque, const uint8_t *buf, int size)
>  {
> -    struct xlx_uartlite *s = opaque;
> +    XilinxUARTLite *s = opaque;
>  
>      /* Got a byte.  */
>      if (s->rx_fifo_len >= 8) {
> @@ -182,7 +181,7 @@ static void uart_rx(void *opaque, const uint8_t *buf, int size)
>  
>  static int uart_can_rx(void *opaque)
>  {
> -    struct xlx_uartlite *s = opaque;
> +    XilinxUARTLite *s = opaque;
>  
>      return s->rx_fifo_len < sizeof(s->rx_fifo);
>  }
> @@ -194,7 +193,7 @@ static void uart_event(void *opaque, int event)
>  
>  static int xilinx_uartlite_init(SysBusDevice *dev)
>  {
> -    struct xlx_uartlite *s = FROM_SYSBUS(typeof (*s), dev);
> +    XilinxUARTLite *s = FROM_SYSBUS(typeof (*s), dev);
>  
>      sysbus_init_irq(dev, &s->irq);
>  
> @@ -219,7 +218,7 @@ static void xilinx_uartlite_class_init(ObjectClass *klass, void *data)
>  static const TypeInfo xilinx_uartlite_info = {
>      .name          = "xlnx.xps-uartlite",
>      .parent        = TYPE_SYS_BUS_DEVICE,
> -    .instance_size = sizeof (struct xlx_uartlite),
> +    .instance_size = sizeof(XilinxUARTLite),
>      .class_init    = xilinx_uartlite_class_init,
>  };
>  
> -- 
> 1.8.1.4
> 

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

* Re: [Qemu-devel] [PATCH qom-next for-1.6 14/14] xilinx_uartlite: QOM'ify
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 14/14] xilinx_uartlite: QOM'ify Andreas Färber
@ 2013-07-26  3:05   ` Edgar E. Iglesias
  0 siblings, 0 replies; 19+ messages in thread
From: Edgar E. Iglesias @ 2013-07-26  3:05 UTC (permalink / raw)
  To: Andreas Färber; +Cc: Peter Crosthwaite, qemu-devel

On Wed, Jul 24, 2013 at 11:42:19PM +0200, Andreas Färber wrote:
> Signed-off-by: Andreas Färber <afaerber@suse.de>

Acked-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>


> ---
>  hw/char/xilinx_uartlite.c | 11 ++++++++---
>  1 file changed, 8 insertions(+), 3 deletions(-)
> 
> diff --git a/hw/char/xilinx_uartlite.c b/hw/char/xilinx_uartlite.c
> index 929743c..b0d1d04 100644
> --- a/hw/char/xilinx_uartlite.c
> +++ b/hw/char/xilinx_uartlite.c
> @@ -46,8 +46,13 @@
>  #define CONTROL_RST_RX    0x02
>  #define CONTROL_IE        0x10
>  
> +#define TYPE_XILINX_UARTLITE "xlnx.xps-uartlite"
> +#define XILINX_UARTLITE(obj) \
> +    OBJECT_CHECK(XilinxUARTLite, (obj), TYPE_XILINX_UARTLITE)
> +
>  typedef struct XilinxUARTLite {
> -    SysBusDevice busdev;
> +    SysBusDevice parent_obj;
> +
>      MemoryRegion mmio;
>      CharDriverState *chr;
>      qemu_irq irq;
> @@ -193,7 +198,7 @@ static void uart_event(void *opaque, int event)
>  
>  static int xilinx_uartlite_init(SysBusDevice *dev)
>  {
> -    XilinxUARTLite *s = FROM_SYSBUS(typeof (*s), dev);
> +    XilinxUARTLite *s = XILINX_UARTLITE(dev);
>  
>      sysbus_init_irq(dev, &s->irq);
>  
> @@ -216,7 +221,7 @@ static void xilinx_uartlite_class_init(ObjectClass *klass, void *data)
>  }
>  
>  static const TypeInfo xilinx_uartlite_info = {
> -    .name          = "xlnx.xps-uartlite",
> +    .name          = TYPE_XILINX_UARTLITE,
>      .parent        = TYPE_SYS_BUS_DEVICE,
>      .instance_size = sizeof(XilinxUARTLite),
>      .class_init    = xilinx_uartlite_class_init,
> -- 
> 1.8.1.4
> 

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

* Re: [Qemu-devel] [PATCH qom-next for-1.6 00/14] char: QOM cast cleanups
  2013-07-24 21:42 [Qemu-devel] [PATCH qom-next for-1.6 00/14] char: QOM cast cleanups Andreas Färber
                   ` (13 preceding siblings ...)
  2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 14/14] xilinx_uartlite: QOM'ify Andreas Färber
@ 2013-07-26 22:28 ` Andreas Färber
  14 siblings, 0 replies; 19+ messages in thread
From: Andreas Färber @ 2013-07-26 22:28 UTC (permalink / raw)
  To: Edgar E. Iglesias; +Cc: Hu Tao, qemu-devel

Am 24.07.2013 23:42, schrieb Andreas Färber:
> Andreas Färber (14):
[...]
>   etraxfs_ser: QOM'ify
[...]
>   xilinx_uartlite: Rename xlx_uartlite to XilinxUARTLite
>   xilinx_uartlite: QOM'ify

Thanks, applied to qom-next (with improved commit messages):
https://github.com/afaerber/qemu-cpu/commits/qom-next

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

end of thread, other threads:[~2013-07-26 22:28 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-24 21:42 [Qemu-devel] [PATCH qom-next for-1.6 00/14] char: QOM cast cleanups Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 01/14] cadence_uart: QOM'ify Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 02/14] escc: QOM'ify Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 03/14] etraxfs_ser: QOM'ify Andreas Färber
2013-07-26  3:04   ` Edgar E. Iglesias
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 04/14] exynos4210_uart: QOM'ify Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 05/14] grlib_apbuart: QOM'ify Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 06/14] imx_serial: QOM'ify Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 07/14] lm32_juart: Relocate and tidy header Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 08/14] lm32_juart: QOM'ify Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 09/14] lm32_uart: QOM'ify Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 10/14] milkymist-uart: QOM'ify Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 11/14] pl011: Rename pl011_state Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 12/14] pl011: QOM'ify pl011 and pl011_luminary Andreas Färber
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 13/14] xilinx_uartlite: Rename xlx_uartlite to XilinxUARTLite Andreas Färber
2013-07-26  3:05   ` Edgar E. Iglesias
2013-07-24 21:42 ` [Qemu-devel] [PATCH qom-next for-1.6 14/14] xilinx_uartlite: QOM'ify Andreas Färber
2013-07-26  3:05   ` Edgar E. Iglesias
2013-07-26 22:28 ` [Qemu-devel] [PATCH qom-next for-1.6 00/14] char: QOM cast cleanups 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).