* [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 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).