From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1N0bCc-00084y-BX for qemu-devel@nongnu.org; Wed, 21 Oct 2009 09:26:10 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1N0bCX-0007yO-Bp for qemu-devel@nongnu.org; Wed, 21 Oct 2009 09:26:09 -0400 Received: from [199.232.76.173] (port=55734 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N0bCX-0007yC-5t for qemu-devel@nongnu.org; Wed, 21 Oct 2009 09:26:05 -0400 Received: from mx1.redhat.com ([209.132.183.28]:55180) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1N0bCW-0007SA-Bx for qemu-devel@nongnu.org; Wed, 21 Oct 2009 09:26:04 -0400 Received: from int-mx04.intmail.prod.int.phx2.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.17]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n9LDQ3XZ015576 for ; Wed, 21 Oct 2009 09:26:03 -0400 From: Gerd Hoffmann Date: Wed, 21 Oct 2009 15:25:40 +0200 Message-Id: <1256131543-28416-20-git-send-email-kraxel@redhat.com> In-Reply-To: <1256131543-28416-1-git-send-email-kraxel@redhat.com> References: <1256131543-28416-1-git-send-email-kraxel@redhat.com> Subject: [Qemu-devel] [PATCH 19/22] musicpal: use qdev properties for configuration. List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Gerd Hoffmann Signed-off-by: Gerd Hoffmann --- hw/musicpal.c | 14 +++++++++----- 1 files changed, 9 insertions(+), 5 deletions(-) diff --git a/hw/musicpal.c b/hw/musicpal.c index 02d4c70..cb1ac6d 100644 --- a/hw/musicpal.c +++ b/hw/musicpal.c @@ -152,6 +152,7 @@ typedef struct mv88w8618_eth_state { uint32_t frx_queue[4]; uint32_t cur_rx[4]; VLANClientState *vc; + NICConf conf; } mv88w8618_eth_state; static void eth_rx_desc_put(uint32_t addr, mv88w8618_rx_desc *desc) @@ -368,9 +369,7 @@ static void eth_cleanup(VLANClientState *vc) { mv88w8618_eth_state *s = vc->opaque; - cpu_unregister_io_memory(s->mmio_index); - - qemu_free(s); + s->vc = NULL; } static int mv88w8618_eth_init(SysBusDevice *dev) @@ -378,7 +377,8 @@ static int mv88w8618_eth_init(SysBusDevice *dev) mv88w8618_eth_state *s = FROM_SYSBUS(mv88w8618_eth_state, dev); sysbus_init_irq(dev, &s->irq); - s->vc = qdev_get_vlan_client(&dev->qdev, + s->vc = qemu_new_vlan_client(s->conf.vlan, s->conf.peer, + dev->qdev.info->name, dev->qdev.id, eth_can_receive, eth_receive, NULL, eth_cleanup, s); s->mmio_index = cpu_register_io_memory(mv88w8618_eth_readfn, @@ -410,6 +410,10 @@ static SysBusDeviceInfo mv88w8618_eth_info = { .qdev.name = "mv88w8618_eth", .qdev.size = sizeof(mv88w8618_eth_state), .qdev.vmsd = &mv88w8618_eth_vmsd, + .qdev.props = (Property[]) { + DEFINE_NIC_PROPERTIES(mv88w8618_eth_state, conf), + DEFINE_PROP_END_OF_LIST(), + }, }; /* LCD register offsets */ @@ -1550,7 +1554,7 @@ static void musicpal_init(ram_addr_t ram_size, qemu_check_nic_model(&nd_table[0], "mv88w8618"); dev = qdev_create(NULL, "mv88w8618_eth"); - dev->nd = &nd_table[0]; + qdev_set_nic_properties(dev, &nd_table[0]); qdev_init_nofail(dev); sysbus_mmio_map(sysbus_from_qdev(dev), 0, MP_ETH_BASE); sysbus_connect_irq(sysbus_from_qdev(dev), 0, pic[MP_ETH_IRQ]); -- 1.6.2.5