All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/6] QOM'ify hw/char devices
@ 2016-03-17  9:20 xiaoqiang zhao
  2016-03-17  9:20 ` [Qemu-devel] [PATCH 1/6] hw/char: QOM'ify escc.c xiaoqiang zhao
                   ` (5 more replies)
  0 siblings, 6 replies; 11+ messages in thread
From: xiaoqiang zhao @ 2016-03-17  9:20 UTC (permalink / raw)
  To: qemu-devel; +Cc: cornelia.huck, pbonzini, michael, agraf, edgar.iglesias

This patch set trys to QOM'ify hw/char files, see commit messages
for more details

xiaoqiang zhao (6):
  hw/char: QOM'ify escc.c
  hw/char: QOM'ify etraxfs_ser.c
  hw/char: QOM'ify lm32_juart.c
  hw/char: QOM'ify lm32_uart.c
  hw/char: QOM'ify sclpconsole-lm.c
  hw/char: QOM'ify sclpconsole.c

 hw/char/escc.c           | 12 +++++-------
 hw/char/etraxfs_ser.c    | 11 +++++------
 hw/char/lm32_juart.c     |  9 +++------
 hw/char/lm32_uart.c      | 12 +++++-------
 hw/char/sclpconsole-lm.c | 14 +++++++++-----
 hw/char/sclpconsole.c    | 12 ++++++++----
 6 files changed, 35 insertions(+), 35 deletions(-)

-- 
2.1.4

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

* [Qemu-devel] [PATCH 1/6] hw/char: QOM'ify escc.c
  2016-03-17  9:20 [Qemu-devel] [PATCH 0/6] QOM'ify hw/char devices xiaoqiang zhao
@ 2016-03-17  9:20 ` xiaoqiang zhao
  2016-03-17  9:20 ` [Qemu-devel] [PATCH 2/6] hw/char: QOM'ify etraxfs_ser.c xiaoqiang zhao
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 11+ messages in thread
From: xiaoqiang zhao @ 2016-03-17  9:20 UTC (permalink / raw)
  To: qemu-devel; +Cc: cornelia.huck, pbonzini, michael, agraf, edgar.iglesias

Drop the old SysBus init function and use instance_init

Signed-off-by: xiaoqiang zhao <zxq_yx_007@163.com>
---
 hw/char/escc.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/hw/char/escc.c b/hw/char/escc.c
index c7a24ac..370e6b1 100644
--- a/hw/char/escc.c
+++ b/hw/char/escc.c
@@ -983,9 +983,10 @@ void slavio_serial_ms_kbd_init(hwaddr base, qemu_irq irq,
     sysbus_mmio_map(s, 0, base);
 }
 
-static int escc_init1(SysBusDevice *dev)
+static void escc_init1(Object *obj)
 {
-    ESCCState *s = ESCC(dev);
+    ESCCState *s = ESCC(obj);
+    SysBusDevice *dev = SYS_BUS_DEVICE(obj);
     unsigned int i;
 
     s->chn[0].disabled = s->disabled;
@@ -1002,7 +1003,7 @@ static int escc_init1(SysBusDevice *dev)
     s->chn[0].otherchn = &s->chn[1];
     s->chn[1].otherchn = &s->chn[0];
 
-    memory_region_init_io(&s->mmio, OBJECT(s), &escc_mem_ops, s, "escc",
+    memory_region_init_io(&s->mmio, obj, &escc_mem_ops, s, "escc",
                           ESCC_SIZE << s->it_shift);
     sysbus_init_mmio(dev, &s->mmio);
 
@@ -1014,8 +1015,6 @@ static int escc_init1(SysBusDevice *dev)
         s->chn[1].hs = qemu_input_handler_register((DeviceState *)(&s->chn[1]),
                                                    &sunkbd_handler);
     }
-
-    return 0;
 }
 
 static Property escc_properties[] = {
@@ -1032,9 +1031,7 @@ static Property escc_properties[] = {
 static void escc_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
-    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
 
-    k->init = escc_init1;
     dc->reset = escc_reset;
     dc->vmsd = &vmstate_escc;
     dc->props = escc_properties;
@@ -1045,6 +1042,7 @@ static const TypeInfo escc_info = {
     .name          = TYPE_ESCC,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(ESCCState),
+    .instance_init = escc_init1,
     .class_init    = escc_class_init,
 };
 
-- 
2.1.4

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

* [Qemu-devel] [PATCH 2/6] hw/char: QOM'ify etraxfs_ser.c
  2016-03-17  9:20 [Qemu-devel] [PATCH 0/6] QOM'ify hw/char devices xiaoqiang zhao
  2016-03-17  9:20 ` [Qemu-devel] [PATCH 1/6] hw/char: QOM'ify escc.c xiaoqiang zhao
@ 2016-03-17  9:20 ` xiaoqiang zhao
  2016-05-06  7:42   ` Edgar E. Iglesias
  2016-05-09 10:51   ` Paolo Bonzini
  2016-03-17  9:20 ` [Qemu-devel] [PATCH 3/6] hw/char: QOM'ify lm32_juart.c xiaoqiang zhao
                   ` (3 subsequent siblings)
  5 siblings, 2 replies; 11+ messages in thread
From: xiaoqiang zhao @ 2016-03-17  9:20 UTC (permalink / raw)
  To: qemu-devel; +Cc: cornelia.huck, pbonzini, michael, agraf, edgar.iglesias

Drop the old SysBus init function and use instance_init

Signed-off-by: xiaoqiang zhao <zxq_yx_007@163.com>
---
 hw/char/etraxfs_ser.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/hw/char/etraxfs_ser.c b/hw/char/etraxfs_ser.c
index 146b387..ede7024 100644
--- a/hw/char/etraxfs_ser.c
+++ b/hw/char/etraxfs_ser.c
@@ -209,12 +209,13 @@ static void etraxfs_ser_reset(DeviceState *d)
 
 }
 
-static int etraxfs_ser_init(SysBusDevice *dev)
+static void etraxfs_ser_init(Object *obj)
 {
-    ETRAXSerial *s = ETRAX_SERIAL(dev);
+    ETRAXSerial *s = ETRAX_SERIAL(obj);
+    SysBusDevice *dev = SYS_BUS_DEVICE(obj);
 
     sysbus_init_irq(dev, &s->irq);
-    memory_region_init_io(&s->mmio, OBJECT(s), &ser_ops, s,
+    memory_region_init_io(&s->mmio, obj, &ser_ops, s,
                           "etraxfs-serial", R_MAX * 4);
     sysbus_init_mmio(dev, &s->mmio);
 
@@ -225,15 +226,12 @@ static int etraxfs_ser_init(SysBusDevice *dev)
                               serial_can_receive, serial_receive,
                               serial_event, s);
     }
-    return 0;
 }
 
 static void etraxfs_ser_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
-    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
 
-    k->init = etraxfs_ser_init;
     dc->reset = etraxfs_ser_reset;
     /* Reason: init() method uses qemu_char_get_next_serial() */
     dc->cannot_instantiate_with_device_add_yet = true;
@@ -243,6 +241,7 @@ static const TypeInfo etraxfs_ser_info = {
     .name          = TYPE_ETRAX_FS_SERIAL,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(ETRAXSerial),
+    .instance_init = etraxfs_ser_init,
     .class_init    = etraxfs_ser_class_init,
 };
 
-- 
2.1.4

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

* [Qemu-devel] [PATCH 3/6] hw/char: QOM'ify lm32_juart.c
  2016-03-17  9:20 [Qemu-devel] [PATCH 0/6] QOM'ify hw/char devices xiaoqiang zhao
  2016-03-17  9:20 ` [Qemu-devel] [PATCH 1/6] hw/char: QOM'ify escc.c xiaoqiang zhao
  2016-03-17  9:20 ` [Qemu-devel] [PATCH 2/6] hw/char: QOM'ify etraxfs_ser.c xiaoqiang zhao
@ 2016-03-17  9:20 ` xiaoqiang zhao
  2016-03-17  9:20 ` [Qemu-devel] [PATCH 4/6] hw/char: QOM'ify lm32_uart.c xiaoqiang zhao
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 11+ messages in thread
From: xiaoqiang zhao @ 2016-03-17  9:20 UTC (permalink / raw)
  To: qemu-devel; +Cc: cornelia.huck, pbonzini, michael, agraf, edgar.iglesias

Drop the old SysBus init function and use instance_init

Signed-off-by: xiaoqiang zhao <zxq_yx_007@163.com>
---
 hw/char/lm32_juart.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/hw/char/lm32_juart.c b/hw/char/lm32_juart.c
index 5bf8acf..cd8d0ee 100644
--- a/hw/char/lm32_juart.c
+++ b/hw/char/lm32_juart.c
@@ -114,17 +114,15 @@ static void juart_reset(DeviceState *d)
     s->jrx = 0;
 }
 
-static int lm32_juart_init(SysBusDevice *dev)
+static void lm32_juart_init(Object *obj)
 {
-    LM32JuartState *s = LM32_JUART(dev);
+    LM32JuartState *s = LM32_JUART(obj);
 
     /* FIXME use a qdev chardev prop instead of qemu_char_get_next_serial() */
     s->chr = qemu_char_get_next_serial();
     if (s->chr) {
         qemu_chr_add_handlers(s->chr, juart_can_rx, juart_rx, juart_event, s);
     }
-
-    return 0;
 }
 
 static const VMStateDescription vmstate_lm32_juart = {
@@ -141,9 +139,7 @@ static const VMStateDescription vmstate_lm32_juart = {
 static void lm32_juart_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
-    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
 
-    k->init = lm32_juart_init;
     dc->reset = juart_reset;
     dc->vmsd = &vmstate_lm32_juart;
     /* Reason: init() method uses qemu_char_get_next_serial() */
@@ -154,6 +150,7 @@ static const TypeInfo lm32_juart_info = {
     .name          = TYPE_LM32_JUART,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(LM32JuartState),
+    .instance_init = lm32_juart_init,
     .class_init    = lm32_juart_class_init,
 };
 
-- 
2.1.4

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

* [Qemu-devel] [PATCH 4/6] hw/char: QOM'ify lm32_uart.c
  2016-03-17  9:20 [Qemu-devel] [PATCH 0/6] QOM'ify hw/char devices xiaoqiang zhao
                   ` (2 preceding siblings ...)
  2016-03-17  9:20 ` [Qemu-devel] [PATCH 3/6] hw/char: QOM'ify lm32_juart.c xiaoqiang zhao
@ 2016-03-17  9:20 ` xiaoqiang zhao
  2016-03-17  9:20 ` [Qemu-devel] [PATCH 5/6] hw/char: QOM'ify sclpconsole-lm.c xiaoqiang zhao
  2016-03-17  9:20 ` [Qemu-devel] [PATCH 6/6] hw/char: QOM'ify sclpconsole.c xiaoqiang zhao
  5 siblings, 0 replies; 11+ messages in thread
From: xiaoqiang zhao @ 2016-03-17  9:20 UTC (permalink / raw)
  To: qemu-devel; +Cc: cornelia.huck, pbonzini, michael, agraf, edgar.iglesias

Drop the old SysBus init function and use instance_init

Signed-off-by: xiaoqiang zhao <zxq_yx_007@163.com>
---
 hw/char/lm32_uart.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/hw/char/lm32_uart.c b/hw/char/lm32_uart.c
index 036813d..f29054b 100644
--- a/hw/char/lm32_uart.c
+++ b/hw/char/lm32_uart.c
@@ -249,13 +249,14 @@ static void uart_reset(DeviceState *d)
     s->regs[R_LSR] = LSR_THRE | LSR_TEMT;
 }
 
-static int lm32_uart_init(SysBusDevice *dev)
+static void lm32_uart_init(Object *obj)
 {
-    LM32UartState *s = LM32_UART(dev);
+    LM32UartState *s = LM32_UART(obj);
+    SysBusDevice *dev = SYS_BUS_DEVICE(obj);
 
     sysbus_init_irq(dev, &s->irq);
 
-    memory_region_init_io(&s->iomem, OBJECT(s), &uart_ops, s,
+    memory_region_init_io(&s->iomem, obj, &uart_ops, s,
                           "uart", R_MAX * 4);
     sysbus_init_mmio(dev, &s->iomem);
 
@@ -264,8 +265,6 @@ static int lm32_uart_init(SysBusDevice *dev)
     if (s->chr) {
         qemu_chr_add_handlers(s->chr, uart_can_rx, uart_rx, uart_event, s);
     }
-
-    return 0;
 }
 
 static const VMStateDescription vmstate_lm32_uart = {
@@ -281,9 +280,7 @@ static const VMStateDescription vmstate_lm32_uart = {
 static void lm32_uart_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
-    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
 
-    k->init = lm32_uart_init;
     dc->reset = uart_reset;
     dc->vmsd = &vmstate_lm32_uart;
     /* Reason: init() method uses qemu_char_get_next_serial() */
@@ -294,6 +291,7 @@ static const TypeInfo lm32_uart_info = {
     .name          = TYPE_LM32_UART,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(LM32UartState),
+    .instance_init = lm32_uart_init,
     .class_init    = lm32_uart_class_init,
 };
 
-- 
2.1.4

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

* [Qemu-devel] [PATCH 5/6] hw/char: QOM'ify sclpconsole-lm.c
  2016-03-17  9:20 [Qemu-devel] [PATCH 0/6] QOM'ify hw/char devices xiaoqiang zhao
                   ` (3 preceding siblings ...)
  2016-03-17  9:20 ` [Qemu-devel] [PATCH 4/6] hw/char: QOM'ify lm32_uart.c xiaoqiang zhao
@ 2016-03-17  9:20 ` xiaoqiang zhao
  2016-03-17 10:08   ` Cornelia Huck
  2016-03-17  9:20 ` [Qemu-devel] [PATCH 6/6] hw/char: QOM'ify sclpconsole.c xiaoqiang zhao
  5 siblings, 1 reply; 11+ messages in thread
From: xiaoqiang zhao @ 2016-03-17  9:20 UTC (permalink / raw)
  To: qemu-devel; +Cc: cornelia.huck, pbonzini, michael, agraf, edgar.iglesias

Drop the DO_UPCAST macro

Signed-off-by: xiaoqiang zhao <zxq_yx_007@163.com>
---
 hw/char/sclpconsole-lm.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/hw/char/sclpconsole-lm.c b/hw/char/sclpconsole-lm.c
index 7d4ff81..3dcc5a5 100644
--- a/hw/char/sclpconsole-lm.c
+++ b/hw/char/sclpconsole-lm.c
@@ -44,6 +44,10 @@ typedef struct SCLPConsoleLM {
     uint8_t buf[SIZE_CONSOLE_BUFFER];
 } SCLPConsoleLM;
 
+#define TYPE_SCLP_LM_CONSOLE "sclplmconsole"
+#define SCLP_LM_CONSOLE(obj) \
+    OBJECT_CHECK(SCLPConsoleLM, (obj), TYPE_SCLP_LM_CONSOLE)
+
 /*
 *  Character layer call-back functions
  *
@@ -116,7 +120,7 @@ static int get_console_data(SCLPEvent *event, uint8_t *buf, size_t *size,
 {
     int len;
 
-    SCLPConsoleLM *cons = DO_UPCAST(SCLPConsoleLM, event, event);
+    SCLPConsoleLM *cons = SCLP_LM_CONSOLE(event);
 
     len = cons->length;
     /* data need to fit into provided SCLP buffer */
@@ -190,7 +194,7 @@ static int write_console_data(SCLPEvent *event, const uint8_t *buf, int len)
     int ret = 0;
     const uint8_t *buf_offset;
 
-    SCLPConsoleLM *scon = DO_UPCAST(SCLPConsoleLM, event, event);
+    SCLPConsoleLM *scon = SCLP_LM_CONSOLE(event);
 
     if (!scon->chr) {
         /* If there's no backend, we can just say we consumed all data. */
@@ -244,7 +248,7 @@ static int write_event_data(SCLPEvent *event, EventBufferHeader *ebh)
     int errors = 0;
     MDBO *mdbo;
     SclpMsg *data = (SclpMsg *) ebh;
-    SCLPConsoleLM *scon = DO_UPCAST(SCLPConsoleLM, event, event);
+    SCLPConsoleLM *scon = SCLP_LM_CONSOLE(event);
 
     len = be16_to_cpu(data->mdb.header.length);
     if (len < sizeof(data->mdb.header)) {
@@ -313,7 +317,7 @@ static int console_init(SCLPEvent *event)
 {
     static bool console_available;
 
-    SCLPConsoleLM *scon = DO_UPCAST(SCLPConsoleLM, event, event);
+    SCLPConsoleLM *scon = SCLP_LM_CONSOLE(event);
 
     if (console_available) {
         error_report("Multiple line-mode operator consoles are not supported");
@@ -336,7 +340,7 @@ static int console_exit(SCLPEvent *event)
 static void console_reset(DeviceState *dev)
 {
    SCLPEvent *event = SCLP_EVENT(dev);
-   SCLPConsoleLM *scon = DO_UPCAST(SCLPConsoleLM, event, event);
+   SCLPConsoleLM *scon = SCLP_LM_CONSOLE(event);
 
    event->event_pending = false;
    scon->length = 0;
-- 
2.1.4

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

* [Qemu-devel] [PATCH 6/6] hw/char: QOM'ify sclpconsole.c
  2016-03-17  9:20 [Qemu-devel] [PATCH 0/6] QOM'ify hw/char devices xiaoqiang zhao
                   ` (4 preceding siblings ...)
  2016-03-17  9:20 ` [Qemu-devel] [PATCH 5/6] hw/char: QOM'ify sclpconsole-lm.c xiaoqiang zhao
@ 2016-03-17  9:20 ` xiaoqiang zhao
  5 siblings, 0 replies; 11+ messages in thread
From: xiaoqiang zhao @ 2016-03-17  9:20 UTC (permalink / raw)
  To: qemu-devel; +Cc: cornelia.huck, pbonzini, michael, agraf, edgar.iglesias

Drop the DO_UPCAST macro

Signed-off-by: xiaoqiang zhao <zxq_yx_007@163.com>
---
 hw/char/sclpconsole.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/hw/char/sclpconsole.c b/hw/char/sclpconsole.c
index 45997ff..15a5b2b 100644
--- a/hw/char/sclpconsole.c
+++ b/hw/char/sclpconsole.c
@@ -40,6 +40,10 @@ typedef struct SCLPConsole {
     bool notify;            /* qemu_notify_event() req'd if true           */
 } SCLPConsole;
 
+#define TYPE_SCLP_CONSOLE "sclpconsole"
+#define SCLP_CONSOLE(obj) \
+    OBJECT_CHECK(SCLPConsole, (obj), TYPE_SCLP_CONSOLE)
+
 /* character layer call-back functions */
 
 /* Return number of bytes that fit into iov buffer */
@@ -95,7 +99,7 @@ static unsigned int receive_mask(void)
 static void get_console_data(SCLPEvent *event, uint8_t *buf, size_t *size,
                              int avail)
 {
-    SCLPConsole *cons = DO_UPCAST(SCLPConsole, event, event);
+    SCLPConsole *cons = SCLP_CONSOLE(event);
 
     /* first byte is hex 0 saying an ascii string follows */
     *buf++ = '\0';
@@ -157,7 +161,7 @@ static int read_event_data(SCLPEvent *event, EventBufferHeader *evt_buf_hdr,
 static ssize_t write_console_data(SCLPEvent *event, const uint8_t *buf,
                                   size_t len)
 {
-    SCLPConsole *scon = DO_UPCAST(SCLPConsole, event, event);
+    SCLPConsole *scon = SCLP_CONSOLE(event);
 
     if (!scon->chr) {
         /* If there's no backend, we can just say we consumed all data. */
@@ -214,7 +218,7 @@ static int console_init(SCLPEvent *event)
 {
     static bool console_available;
 
-    SCLPConsole *scon = DO_UPCAST(SCLPConsole, event, event);
+    SCLPConsole *scon = SCLP_CONSOLE(event);
 
     if (console_available) {
         error_report("Multiple VT220 operator consoles are not supported");
@@ -232,7 +236,7 @@ static int console_init(SCLPEvent *event)
 static void console_reset(DeviceState *dev)
 {
    SCLPEvent *event = SCLP_EVENT(dev);
-   SCLPConsole *scon = DO_UPCAST(SCLPConsole, event, event);
+   SCLPConsole *scon = SCLP_CONSOLE(event);
 
    event->event_pending = false;
    scon->iov_sclp = 0;
-- 
2.1.4

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

* Re: [Qemu-devel] [PATCH 5/6] hw/char: QOM'ify sclpconsole-lm.c
  2016-03-17  9:20 ` [Qemu-devel] [PATCH 5/6] hw/char: QOM'ify sclpconsole-lm.c xiaoqiang zhao
@ 2016-03-17 10:08   ` Cornelia Huck
  2016-03-17 10:38     ` zxq_yx_007
  0 siblings, 1 reply; 11+ messages in thread
From: Cornelia Huck @ 2016-03-17 10:08 UTC (permalink / raw)
  To: xiaoqiang zhao; +Cc: pbonzini, michael, edgar.iglesias, qemu-devel, agraf

On Thu, 17 Mar 2016 17:20:29 +0800
xiaoqiang zhao <zxq_yx_007@163.com> wrote:

> Drop the DO_UPCAST macro
> 
> Signed-off-by: xiaoqiang zhao <zxq_yx_007@163.com>
> ---
>  hw/char/sclpconsole-lm.c | 14 +++++++++-----
>  1 file changed, 9 insertions(+), 5 deletions(-)
> 
> diff --git a/hw/char/sclpconsole-lm.c b/hw/char/sclpconsole-lm.c
> index 7d4ff81..3dcc5a5 100644
> --- a/hw/char/sclpconsole-lm.c
> +++ b/hw/char/sclpconsole-lm.c
> @@ -44,6 +44,10 @@ typedef struct SCLPConsoleLM {
>      uint8_t buf[SIZE_CONSOLE_BUFFER];
>  } SCLPConsoleLM;
> 
> +#define TYPE_SCLP_LM_CONSOLE "sclplmconsole"
> +#define SCLP_LM_CONSOLE(obj) \
> +    OBJECT_CHECK(SCLPConsoleLM, (obj), TYPE_SCLP_LM_CONSOLE)

I'd prefer SCLPLM over SCLP_LM (don't know, but the 'LM' looks a bit
lonely ;)

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

* Re: [Qemu-devel] [PATCH 5/6] hw/char: QOM'ify sclpconsole-lm.c
  2016-03-17 10:08   ` Cornelia Huck
@ 2016-03-17 10:38     ` zxq_yx_007
  0 siblings, 0 replies; 11+ messages in thread
From: zxq_yx_007 @ 2016-03-17 10:38 UTC (permalink / raw)
  To: Cornelia Huck; +Cc: pbonzini, michael, qemu-devel, agraf, edgar.iglesias


At 2016-03-17 18:08:52, "Cornelia Huck" <cornelia.huck@de.ibm.com> wrote:
>On Thu, 17 Mar 2016 17:20:29 +0800
>xiaoqiang zhao <zxq_yx_007@163.com> wrote:
>
>> Drop the DO_UPCAST macro
>> 
>> Signed-off-by: xiaoqiang zhao <zxq_yx_007@163.com>
>> ---
>>  hw/char/sclpconsole-lm.c | 14 +++++++++-----
>>  1 file changed, 9 insertions(+), 5 deletions(-)
>> 
>> diff --git a/hw/char/sclpconsole-lm.c b/hw/char/sclpconsole-lm.c
>> index 7d4ff81..3dcc5a5 100644
>> --- a/hw/char/sclpconsole-lm.c
>> +++ b/hw/char/sclpconsole-lm.c
>> @@ -44,6 +44,10 @@ typedef struct SCLPConsoleLM {
>>      uint8_t buf[SIZE_CONSOLE_BUFFER];
>>  } SCLPConsoleLM;
>> 
>> +#define TYPE_SCLP_LM_CONSOLE "sclplmconsole"
>> +#define SCLP_LM_CONSOLE(obj) \
>> +    OBJECT_CHECK(SCLPConsoleLM, (obj), TYPE_SCLP_LM_CONSOLE)
>
>I'd prefer SCLPLM over SCLP_LM (don't know, but the 'LM' looks a bit
>lonely ;)
>

>
Maybe better!

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

* Re: [Qemu-devel] [PATCH 2/6] hw/char: QOM'ify etraxfs_ser.c
  2016-03-17  9:20 ` [Qemu-devel] [PATCH 2/6] hw/char: QOM'ify etraxfs_ser.c xiaoqiang zhao
@ 2016-05-06  7:42   ` Edgar E. Iglesias
  2016-05-09 10:51   ` Paolo Bonzini
  1 sibling, 0 replies; 11+ messages in thread
From: Edgar E. Iglesias @ 2016-05-06  7:42 UTC (permalink / raw)
  To: xiaoqiang zhao; +Cc: qemu-devel, pbonzini, michael, cornelia.huck, agraf

On Thu, Mar 17, 2016 at 05:20:26PM +0800, xiaoqiang zhao wrote:
> Drop the old SysBus init function and use instance_init
> 
> Signed-off-by: xiaoqiang zhao <zxq_yx_007@163.com>

Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>


> ---
>  hw/char/etraxfs_ser.c | 11 +++++------
>  1 file changed, 5 insertions(+), 6 deletions(-)
> 
> diff --git a/hw/char/etraxfs_ser.c b/hw/char/etraxfs_ser.c
> index 146b387..ede7024 100644
> --- a/hw/char/etraxfs_ser.c
> +++ b/hw/char/etraxfs_ser.c
> @@ -209,12 +209,13 @@ static void etraxfs_ser_reset(DeviceState *d)
>  
>  }
>  
> -static int etraxfs_ser_init(SysBusDevice *dev)
> +static void etraxfs_ser_init(Object *obj)
>  {
> -    ETRAXSerial *s = ETRAX_SERIAL(dev);
> +    ETRAXSerial *s = ETRAX_SERIAL(obj);
> +    SysBusDevice *dev = SYS_BUS_DEVICE(obj);
>  
>      sysbus_init_irq(dev, &s->irq);
> -    memory_region_init_io(&s->mmio, OBJECT(s), &ser_ops, s,
> +    memory_region_init_io(&s->mmio, obj, &ser_ops, s,
>                            "etraxfs-serial", R_MAX * 4);
>      sysbus_init_mmio(dev, &s->mmio);
>  
> @@ -225,15 +226,12 @@ static int etraxfs_ser_init(SysBusDevice *dev)
>                                serial_can_receive, serial_receive,
>                                serial_event, s);
>      }
> -    return 0;
>  }
>  
>  static void etraxfs_ser_class_init(ObjectClass *klass, void *data)
>  {
>      DeviceClass *dc = DEVICE_CLASS(klass);
> -    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
>  
> -    k->init = etraxfs_ser_init;
>      dc->reset = etraxfs_ser_reset;
>      /* Reason: init() method uses qemu_char_get_next_serial() */
>      dc->cannot_instantiate_with_device_add_yet = true;
> @@ -243,6 +241,7 @@ static const TypeInfo etraxfs_ser_info = {
>      .name          = TYPE_ETRAX_FS_SERIAL,
>      .parent        = TYPE_SYS_BUS_DEVICE,
>      .instance_size = sizeof(ETRAXSerial),
> +    .instance_init = etraxfs_ser_init,
>      .class_init    = etraxfs_ser_class_init,
>  };
>  
> -- 
> 2.1.4
> 
> 

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

* Re: [Qemu-devel] [PATCH 2/6] hw/char: QOM'ify etraxfs_ser.c
  2016-03-17  9:20 ` [Qemu-devel] [PATCH 2/6] hw/char: QOM'ify etraxfs_ser.c xiaoqiang zhao
  2016-05-06  7:42   ` Edgar E. Iglesias
@ 2016-05-09 10:51   ` Paolo Bonzini
  1 sibling, 0 replies; 11+ messages in thread
From: Paolo Bonzini @ 2016-05-09 10:51 UTC (permalink / raw)
  To: xiaoqiang zhao, qemu-devel; +Cc: michael, cornelia.huck, agraf, edgar.iglesias



On 17/03/2016 10:20, xiaoqiang zhao wrote:
> Drop the old SysBus init function and use instance_init
> 
> Signed-off-by: xiaoqiang zhao <zxq_yx_007@163.com>
> ---
>  hw/char/etraxfs_ser.c | 11 +++++------
>  1 file changed, 5 insertions(+), 6 deletions(-)
> 
> diff --git a/hw/char/etraxfs_ser.c b/hw/char/etraxfs_ser.c
> index 146b387..ede7024 100644
> --- a/hw/char/etraxfs_ser.c
> +++ b/hw/char/etraxfs_ser.c
> @@ -209,12 +209,13 @@ static void etraxfs_ser_reset(DeviceState *d)
>  
>  }
>  
> -static int etraxfs_ser_init(SysBusDevice *dev)
> +static void etraxfs_ser_init(Object *obj)
>  {
> -    ETRAXSerial *s = ETRAX_SERIAL(dev);
> +    ETRAXSerial *s = ETRAX_SERIAL(obj);
> +    SysBusDevice *dev = SYS_BUS_DEVICE(obj);
>  
>      sysbus_init_irq(dev, &s->irq);
> -    memory_region_init_io(&s->mmio, OBJECT(s), &ser_ops, s,
> +    memory_region_init_io(&s->mmio, obj, &ser_ops, s,
>                            "etraxfs-serial", R_MAX * 4);
>      sysbus_init_mmio(dev, &s->mmio);
>  
> @@ -225,15 +226,12 @@ static int etraxfs_ser_init(SysBusDevice *dev)
>                                serial_can_receive, serial_receive,
>                                serial_event, s);

The missing context has a qemu_char_get_next_serial() call, so this
patch is not good either.

Paolo

>      }
> -    return 0;
>  }
>  
>  static void etraxfs_ser_class_init(ObjectClass *klass, void *data)
>  {
>      DeviceClass *dc = DEVICE_CLASS(klass);
> -    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
>  
> -    k->init = etraxfs_ser_init;
>      dc->reset = etraxfs_ser_reset;
>      /* Reason: init() method uses qemu_char_get_next_serial() */
>      dc->cannot_instantiate_with_device_add_yet = true;
> @@ -243,6 +241,7 @@ static const TypeInfo etraxfs_ser_info = {
>      .name          = TYPE_ETRAX_FS_SERIAL,
>      .parent        = TYPE_SYS_BUS_DEVICE,
>      .instance_size = sizeof(ETRAXSerial),
> +    .instance_init = etraxfs_ser_init,
>      .class_init    = etraxfs_ser_class_init,
>  };
>  
> 

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

end of thread, other threads:[~2016-05-09 10:51 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-17  9:20 [Qemu-devel] [PATCH 0/6] QOM'ify hw/char devices xiaoqiang zhao
2016-03-17  9:20 ` [Qemu-devel] [PATCH 1/6] hw/char: QOM'ify escc.c xiaoqiang zhao
2016-03-17  9:20 ` [Qemu-devel] [PATCH 2/6] hw/char: QOM'ify etraxfs_ser.c xiaoqiang zhao
2016-05-06  7:42   ` Edgar E. Iglesias
2016-05-09 10:51   ` Paolo Bonzini
2016-03-17  9:20 ` [Qemu-devel] [PATCH 3/6] hw/char: QOM'ify lm32_juart.c xiaoqiang zhao
2016-03-17  9:20 ` [Qemu-devel] [PATCH 4/6] hw/char: QOM'ify lm32_uart.c xiaoqiang zhao
2016-03-17  9:20 ` [Qemu-devel] [PATCH 5/6] hw/char: QOM'ify sclpconsole-lm.c xiaoqiang zhao
2016-03-17 10:08   ` Cornelia Huck
2016-03-17 10:38     ` zxq_yx_007
2016-03-17  9:20 ` [Qemu-devel] [PATCH 6/6] hw/char: QOM'ify sclpconsole.c xiaoqiang zhao

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