Message ID | 1377969760-17489-3-git-send-email-antonynpavlov@gmail.com |
---|---|
State | New |
Headers | show |
Am 31.08.2013 19:22, schrieb Antony Pavlov: > Use of SysBusDevice::init is deprecated. > Use Device::realize instead of SysBusDevice::init. > Check dma/pl330.c for an example of the pattern. > > Also introduce TypeInfo::instance_init milkymist_uart_init() > as char/pl011.c does. > > Reported-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> > Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> > CC: Peter Crosthwaite <peter.crosthwaite@xilinx.com> > CC: Michael Walle <michael@walle.cc> > CC: Andreas Färber <afaerber@suse.de> > --- > hw/char/milkymist-uart.c | 24 ++++++++++++++---------- > 1 file changed, 14 insertions(+), 10 deletions(-) Thanks, applied to qom-next (with shortened commit message): https://github.com/afaerber/qemu-cpu/commits/qom-next Andreas
On Sat, 31 Aug 2013 21:09:20 +0200 Andreas Färber <afaerber@suse.de> wrote: > Am 31.08.2013 19:22, schrieb Antony Pavlov: > > Use of SysBusDevice::init is deprecated. > > Use Device::realize instead of SysBusDevice::init. > > Check dma/pl330.c for an example of the pattern. > > > > Also introduce TypeInfo::instance_init milkymist_uart_init() > > as char/pl011.c does. > > > > Reported-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> > > Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> > > CC: Peter Crosthwaite <peter.crosthwaite@xilinx.com> > > CC: Michael Walle <michael@walle.cc> > > CC: Andreas Färber <afaerber@suse.de> > > --- > > hw/char/milkymist-uart.c | 24 ++++++++++++++---------- > > 1 file changed, 14 insertions(+), 10 deletions(-) > > Thanks, applied to qom-next (with shortened commit message): > https://github.com/afaerber/qemu-cpu/commits/qom-next > That's about the patch number 1 ( milkymist-uart: use qemu_chr_fe_write_all() instead of qemu_chr_fe_write()) ? -- Best regards, Antony Pavlov
On Sun, Sep 1, 2013 at 3:22 AM, Antony Pavlov <antonynpavlov@gmail.com> wrote: > Use of SysBusDevice::init is deprecated. > Use Device::realize instead of SysBusDevice::init. > Check dma/pl330.c for an example of the pattern. > I think Andreas may have fixed in enqueue, but informal suggestion of change patterns arent really suitable for commit messages. So drop sentances like this one. Regards, Peter
Am 01.09.2013 20:28, schrieb Antony Pavlov: > On Sat, 31 Aug 2013 21:09:20 +0200 > Andreas Färber <afaerber@suse.de> wrote: > >> Am 31.08.2013 19:22, schrieb Antony Pavlov: >>> Use of SysBusDevice::init is deprecated. >>> Use Device::realize instead of SysBusDevice::init. >>> Check dma/pl330.c for an example of the pattern. >>> >>> Also introduce TypeInfo::instance_init milkymist_uart_init() >>> as char/pl011.c does. >>> >>> Reported-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> >>> Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> >>> CC: Peter Crosthwaite <peter.crosthwaite@xilinx.com> >>> CC: Michael Walle <michael@walle.cc> >>> CC: Andreas Färber <afaerber@suse.de> >>> --- >>> hw/char/milkymist-uart.c | 24 ++++++++++++++---------- >>> 1 file changed, 14 insertions(+), 10 deletions(-) >> >> Thanks, applied to qom-next (with shortened commit message): >> https://github.com/afaerber/qemu-cpu/commits/qom-next >> > > That's about the patch number 1 ( milkymist-uart: use qemu_chr_fe_write_all() instead of qemu_chr_fe_write()) ? No, it's about patch 2, which I replied to. Patch 1 is not a QOM conversion but an unrelated bug fix - it can be handled either by the lm32 maintainer or by whomever takes care of the char layer these days (Anthony/Gerd). Regards, Andreas
diff --git a/hw/char/milkymist-uart.c b/hw/char/milkymist-uart.c index 6e4bc20..da51f82 100644 --- a/hw/char/milkymist-uart.c +++ b/hw/char/milkymist-uart.c @@ -195,22 +195,26 @@ static void milkymist_uart_reset(DeviceState *d) s->regs[R_STAT] = STAT_THRE; } -static int milkymist_uart_init(SysBusDevice *dev) +static void milkymist_uart_realize(DeviceState *dev, Error **errp) { 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); - sysbus_init_mmio(dev, &s->regs_region); - s->chr = qemu_char_get_next_serial(); if (s->chr) { qemu_chr_add_handlers(s->chr, uart_can_rx, uart_rx, uart_event, s); } +} - return 0; +static void milkymist_uart_init(Object *obj) +{ + SysBusDevice *sbd = SYS_BUS_DEVICE(obj); + MilkymistUartState *s = MILKYMIST_UART(obj); + + sysbus_init_irq(sbd, &s->irq); + + memory_region_init_io(&s->regs_region, OBJECT(s), &uart_mmio_ops, s, + "milkymist-uart", R_MAX * 4); + sysbus_init_mmio(sbd, &s->regs_region); } static const VMStateDescription vmstate_milkymist_uart = { @@ -227,9 +231,8 @@ static const VMStateDescription vmstate_milkymist_uart = { static void milkymist_uart_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); - SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass); - k->init = milkymist_uart_init; + dc->realize = milkymist_uart_realize; dc->reset = milkymist_uart_reset; dc->vmsd = &vmstate_milkymist_uart; } @@ -238,6 +241,7 @@ static const TypeInfo milkymist_uart_info = { .name = TYPE_MILKYMIST_UART, .parent = TYPE_SYS_BUS_DEVICE, .instance_size = sizeof(MilkymistUartState), + .instance_init = milkymist_uart_init, .class_init = milkymist_uart_class_init, };
Use of SysBusDevice::init is deprecated. Use Device::realize instead of SysBusDevice::init. Check dma/pl330.c for an example of the pattern. Also introduce TypeInfo::instance_init milkymist_uart_init() as char/pl011.c does. Reported-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> CC: Peter Crosthwaite <peter.crosthwaite@xilinx.com> CC: Michael Walle <michael@walle.cc> CC: Andreas Färber <afaerber@suse.de> --- hw/char/milkymist-uart.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-)