From patchwork Tue Apr 16 00:23:20 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Crosthwaite X-Patchwork-Id: 236781 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id D4E812C00EF for ; Tue, 16 Apr 2013 10:27:39 +1000 (EST) Received: from localhost ([::1]:59156 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1URtkI-0006vS-15 for incoming@patchwork.ozlabs.org; Mon, 15 Apr 2013 20:27:38 -0400 Received: from eggs.gnu.org ([208.118.235.92]:34313) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1URtiM-0004qL-Cv for qemu-devel@nongnu.org; Mon, 15 Apr 2013 20:25:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1URtiL-0008AZ-2d for qemu-devel@nongnu.org; Mon, 15 Apr 2013 20:25:38 -0400 Received: from mail-da0-x235.google.com ([2607:f8b0:400e:c00::235]:39833) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1URtiK-0008AU-Rv for qemu-devel@nongnu.org; Mon, 15 Apr 2013 20:25:36 -0400 Received: by mail-da0-f53.google.com with SMTP id n34so2299729dal.12 for ; Mon, 15 Apr 2013 17:25:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:sender:from:to:cc:subject:date:message-id:x-mailer :in-reply-to:references:x-gm-message-state; bh=DpyHMyU7cSHBRJL3GI9Ptyly1LePExH5Qxw3IKSpPsw=; b=cQ8mkRIfUAIeNAZQG8idFGynqo7u6uoOIx5ACqZzAagqpJYeVdv4t/TLSiQpDetTrR xbYLYMq59wkwm2x9MoeYPTEedKVa+jjRIvXPDnF/TAxhNFOHlUNGPH3cYKKpsMZyKTqz MWULiFnd4KBqQdvG9ApdALp6kXWktQT6gdbnMWRpcRsSqlceyUKI2qQnxoHNFSrJxvfB owmfcngmErUfb+OG3wSv0eT7V8VAWuNgm9kGDQBTjJ537wL7AtbHtNxeUvF+cxb2PEQw UPZpM3GYadl/akKqQJxKqao1Tg7ICOJDPgpjoxFY8NLPMugrQcsBCBPyq6VXM/DCaYt5 4EJA== X-Received: by 10.68.93.1 with SMTP id cq1mr91005pbb.50.1366071936112; Mon, 15 Apr 2013 17:25:36 -0700 (PDT) Received: from localhost ([149.199.62.254]) by mx.google.com with ESMTPS id be7sm64958pad.20.2013.04.15.17.25.33 (version=TLSv1.1 cipher=RC4-SHA bits=128/128); Mon, 15 Apr 2013 17:25:35 -0700 (PDT) From: peter.crosthwaite@xilinx.com To: qemu-devel@nongnu.org Date: Tue, 16 Apr 2013 10:23:20 +1000 Message-Id: <59a1754bf30f6e43ce7909a433f333ef61558cfc.1366069170.git.peter.crosthwaite@xilinx.com> X-Mailer: git-send-email 1.7.0.4 In-Reply-To: References: X-Gm-Message-State: ALoCoQnwnpcOhvtYWb2YGdYIB5iZnUZDRFvc2ZPlozM45yLNRJmd4ofPTPTH7A3nfZnwNug6CQRA X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:400e:c00::235 Cc: edgar.iglesias@gmail.com Subject: [Qemu-devel] [PATCH v6 08/16] xilinx_axidma: converted init->realize X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org From: Peter Crosthwaite The prescribed transition from SysBusDevice::init to Device::realize. I'm going with Andreas suggestion to move the sysbus foo to Object::init for early IRQ visibility. Signed-off-by: Peter Crosthwaite Acked-by: Edgar E. Iglesias --- hw/dma/xilinx_axidma.c | 26 +++++++++++++------------- 1 files changed, 13 insertions(+), 13 deletions(-) diff --git a/hw/dma/xilinx_axidma.c b/hw/dma/xilinx_axidma.c index 91b8f07..2c95765 100644 --- a/hw/dma/xilinx_axidma.c +++ b/hw/dma/xilinx_axidma.c @@ -27,6 +27,7 @@ #include "hw/ptimer.h" #include "qemu/log.h" #include "hw/qdev-addr.h" +#include "qapi/qmp/qerror.h" #include "hw/stream.h" @@ -474,33 +475,33 @@ static const MemoryRegionOps axidma_ops = { .endianness = DEVICE_NATIVE_ENDIAN, }; -static int xilinx_axidma_init(SysBusDevice *dev) +static void xilinx_axidma_realize(DeviceState *dev, Error **errp) { XilinxAXIDMA *s = XILINX_AXI_DMA(dev); int i; - sysbus_init_irq(dev, &s->streams[0].irq); - sysbus_init_irq(dev, &s->streams[1].irq); - - memory_region_init_io(&s->iomem, &axidma_ops, s, - "xlnx.axi-dma", R_MAX * 4 * 2); - sysbus_init_mmio(dev, &s->iomem); - for (i = 0; i < 2; i++) { s->streams[i].nr = i; s->streams[i].bh = qemu_bh_new(timer_hit, &s->streams[i]); s->streams[i].ptimer = ptimer_init(s->streams[i].bh); ptimer_set_freq(s->streams[i].ptimer, s->freqhz); } - return 0; } -static void xilinx_axidma_initfn(Object *obj) +static void xilinx_axidma_init(Object *obj) { XilinxAXIDMA *s = XILINX_AXI_DMA(obj); + SysBusDevice *sbd = SYS_BUS_DEVICE(obj); object_property_add_link(obj, "axistream-connected", TYPE_STREAM_SLAVE, (Object **) &s->tx_dev, NULL); + + sysbus_init_irq(sbd, &s->streams[0].irq); + sysbus_init_irq(sbd, &s->streams[1].irq); + + memory_region_init_io(&s->iomem, &axidma_ops, s, + "xlnx.axi-dma", R_MAX * 4 * 2); + sysbus_init_mmio(sbd, &s->iomem); } static Property axidma_properties[] = { @@ -511,10 +512,9 @@ static Property axidma_properties[] = { static void axidma_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); - SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass); StreamSlaveClass *ssc = STREAM_SLAVE_CLASS(klass); - k->init = xilinx_axidma_init; + dc->realize = xilinx_axidma_realize, dc->reset = xilinx_axidma_reset; dc->props = axidma_properties; ssc->push = axidma_push; @@ -525,7 +525,7 @@ static const TypeInfo axidma_info = { .parent = TYPE_SYS_BUS_DEVICE, .instance_size = sizeof(XilinxAXIDMA), .class_init = axidma_class_init, - .instance_init = xilinx_axidma_initfn, + .instance_init = xilinx_axidma_init, .interfaces = (InterfaceInfo[]) { { TYPE_STREAM_SLAVE }, { }