From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44324) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YXt6V-0006Xi-I7 for qemu-devel@nongnu.org; Tue, 17 Mar 2015 11:08:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YXt6N-0003Aw-7D for qemu-devel@nongnu.org; Tue, 17 Mar 2015 11:08:23 -0400 Received: from cantor2.suse.de ([195.135.220.15]:48456 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YXt6N-0003AL-0A for qemu-devel@nongnu.org; Tue, 17 Mar 2015 11:08:15 -0400 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Tue, 17 Mar 2015 16:08:06 +0100 Message-Id: <1426604892-19293-2-git-send-email-afaerber@suse.de> In-Reply-To: <1426604892-19293-1-git-send-email-afaerber@suse.de> References: <1426604892-19293-1-git-send-email-afaerber@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PULL 1/7] cadence_uart: Convert to QOM realize() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Peter Crosthwaite , =?UTF-8?q?Andreas=20F=C3=A4rber?= , Alistair Francis From: Alistair Francis Use DeviceClass::realize() and TypeInfo::instance_init() instead of the deprecated SysBusDevice::init(). Signed-off-by: Alistair Francis Reviewed-by: Peter Crosthwaite Signed-off-by: Andreas F=C3=A4rber --- hw/char/cadence_uart.c | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/hw/char/cadence_uart.c b/hw/char/cadence_uart.c index 7044b35..a5dc2a4 100644 --- a/hw/char/cadence_uart.c +++ b/hw/char/cadence_uart.c @@ -476,18 +476,12 @@ static void cadence_uart_reset(DeviceState *dev) uart_update_status(s); } =20 -static int cadence_uart_init(SysBusDevice *dev) +static void cadence_uart_realize(DeviceState *dev, Error **errp) { UartState *s =3D CADENCE_UART(dev); =20 - memory_region_init_io(&s->iomem, OBJECT(s), &uart_ops, s, "uart", 0x= 1000); - sysbus_init_mmio(dev, &s->iomem); - sysbus_init_irq(dev, &s->irq); - s->fifo_trigger_handle =3D timer_new_ns(QEMU_CLOCK_VIRTUAL, - (QEMUTimerCB *)fifo_trigger_update, s); - - s->char_tx_time =3D (get_ticks_per_sec() / 9600) * 10; + fifo_trigger_update, s); =20 s->chr =3D qemu_char_get_next_serial(); =20 @@ -495,8 +489,18 @@ static int cadence_uart_init(SysBusDevice *dev) qemu_chr_add_handlers(s->chr, uart_can_receive, uart_receive, uart_event, s); } +} =20 - return 0; +static void cadence_uart_init(Object *obj) +{ + SysBusDevice *sbd =3D SYS_BUS_DEVICE(obj); + UartState *s =3D CADENCE_UART(obj); + + memory_region_init_io(&s->iomem, obj, &uart_ops, s, "uart", 0x1000); + sysbus_init_mmio(sbd, &s->iomem); + sysbus_init_irq(sbd, &s->irq); + + s->char_tx_time =3D (get_ticks_per_sec() / 9600) * 10; } =20 static int cadence_uart_post_load(void *opaque, int version_id) @@ -528,9 +532,8 @@ static const VMStateDescription vmstate_cadence_uart = =3D { static void cadence_uart_class_init(ObjectClass *klass, void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); - SysBusDeviceClass *sdc =3D SYS_BUS_DEVICE_CLASS(klass); =20 - sdc->init =3D cadence_uart_init; + dc->realize =3D cadence_uart_realize; dc->vmsd =3D &vmstate_cadence_uart; dc->reset =3D cadence_uart_reset; } @@ -539,6 +542,7 @@ static const TypeInfo cadence_uart_info =3D { .name =3D TYPE_CADENCE_UART, .parent =3D TYPE_SYS_BUS_DEVICE, .instance_size =3D sizeof(UartState), + .instance_init =3D cadence_uart_init, .class_init =3D cadence_uart_class_init, }; =20 --=20 2.1.4