From patchwork Sat Feb 12 22:39:45 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Blue Swirl X-Patchwork-Id: 82946 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 6E3C5B710D for ; Sun, 13 Feb 2011 09:41:09 +1100 (EST) Received: from localhost ([127.0.0.1]:48173 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PoO9J-0004RG-FF for incoming@patchwork.ozlabs.org; Sat, 12 Feb 2011 17:41:05 -0500 Received: from [140.186.70.92] (port=38574 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PoO8N-0004OL-Uy for qemu-devel@nongnu.org; Sat, 12 Feb 2011 17:40:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PoO8M-0007vZ-Kb for qemu-devel@nongnu.org; Sat, 12 Feb 2011 17:40:07 -0500 Received: from mail-vx0-f173.google.com ([209.85.220.173]:64096) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PoO8M-0007vT-B2 for qemu-devel@nongnu.org; Sat, 12 Feb 2011 17:40:06 -0500 Received: by vxb40 with SMTP id 40so1996192vxb.4 for ; Sat, 12 Feb 2011 14:40:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:from:date:message-id:subject:to :content-type; bh=Vt4go4vmnNLKH2tj/7A6bDhb2pDRTj5ir7v+rHVDpLM=; b=n3MFjjTKc6OtdMxzgk7CYRjHqybak89GZ1Jv/I+wo9gYR6hBiAOgI3YXiD+GWkl6A2 VDA7rYmzAi6842EUCz5DVlIaKmLL3Wzm29lDReghIiFHpp7DzoguLjfBmhKxhFwrUCuD bVffW6QGd16cs8+6v4lgETVOQzKRIrI4Y1NjA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:from:date:message-id:subject:to:content-type; b=Uis7na77qfTHsm3cU0TGGCHDP/3bfHAmq4VV2/D/V8s7CU9snz269yeO0NmyfKRCq3 v4hJh1CS04xylNzVH+uj5WjLg1xzPXNu4RYlJWICZGhuzsblltptbtbgPawzJwTHpkzc mqg+LyLERA2fBTZVtN571Cv5hBTbfnuHNbnCc= Received: by 10.220.200.133 with SMTP id ew5mr2674757vcb.274.1297550405720; Sat, 12 Feb 2011 14:40:05 -0800 (PST) MIME-Version: 1.0 Received: by 10.220.186.7 with HTTP; Sat, 12 Feb 2011 14:39:45 -0800 (PST) From: Blue Swirl Date: Sun, 13 Feb 2011 00:39:45 +0200 Message-ID: To: qemu-devel X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 209.85.220.173 Subject: [Qemu-devel] [PATCH 01/10] parallel: refactor device creation X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Turn parallel_init into an inline function. Don't expose ParallelState. Signed-off-by: Blue Swirl --- hw/parallel.c | 21 +++++---------------- hw/pc.h | 19 +++++++++++++++---- 2 files changed, 20 insertions(+), 20 deletions(-) /* i8259.c */ diff --git a/hw/parallel.c b/hw/parallel.c index ce311aa..cc853a5 100644 --- a/hw/parallel.c +++ b/hw/parallel.c @@ -64,7 +64,7 @@ #define PARA_CTR_SIGNAL (PARA_CTR_SELECT|PARA_CTR_INIT|PARA_CTR_AUTOLF|PARA_CTR_STROBE) -struct ParallelState { +typedef struct ParallelState { uint8_t dataw; uint8_t datar; uint8_t status; @@ -77,7 +77,7 @@ struct ParallelState { uint32_t last_read_offset; /* For debugging */ /* Memory-mapped interface */ int it_shift; -}; +} ParallelState; typedef struct ISAParallelState { ISADevice dev; @@ -500,18 +500,6 @@ static int parallel_isa_initfn(ISADevice *dev) return 0; } -ParallelState *parallel_init(int index, CharDriverState *chr) -{ - ISADevice *dev; - - dev = isa_create("isa-parallel"); - qdev_prop_set_uint32(&dev->qdev, "index", index); - qdev_prop_set_chr(&dev->qdev, "chardev", chr); - if (qdev_init(&dev->qdev) < 0) - return NULL; - return &DO_UPCAST(ISAParallelState, dev, dev)->state; -} - /* Memory mapped interface */ static uint32_t parallel_mm_readb (void *opaque, target_phys_addr_t addr) { @@ -571,7 +559,8 @@ static CPUWriteMemoryFunc * const parallel_mm_write_sw[] = { }; /* If fd is zero, it means that the parallel device uses the console */ -ParallelState *parallel_mm_init(target_phys_addr_t base, int it_shift, qemu_irq irq, CharDriverState *chr) +bool parallel_mm_init(target_phys_addr_t base, int it_shift, qemu_irq irq, + CharDriverState *chr) { ParallelState *s; int io_sw; @@ -585,7 +574,7 @@ ParallelState *parallel_mm_init(target_phys_addr_t base, int it_shift, qemu_irq io_sw = cpu_register_io_memory(parallel_mm_read_sw, parallel_mm_write_sw, s, DEVICE_NATIVE_ENDIAN); cpu_register_physical_memory(base, 8 << it_shift, io_sw); - return s; + return true; } static ISADeviceInfo parallel_isa_info = { diff --git a/hw/pc.h b/hw/pc.h index d5d2f42..443ba34 100644 --- a/hw/pc.h +++ b/hw/pc.h @@ -20,10 +20,21 @@ SerialState *serial_isa_init(int index, CharDriverState *chr); void serial_set_frequency(SerialState *s, uint32_t frequency); /* parallel.c */ +static inline bool parallel_init(int index, CharDriverState *chr) +{ + ISADevice *dev; + + dev = isa_create("isa-parallel"); + qdev_prop_set_uint32(&dev->qdev, "index", index); + qdev_prop_set_chr(&dev->qdev, "chardev", chr); + if (qdev_init(&dev->qdev) < 0) { + return false; + } + return true; +} -typedef struct ParallelState ParallelState; -ParallelState *parallel_init(int index, CharDriverState *chr); -ParallelState *parallel_mm_init(target_phys_addr_t base, int it_shift, qemu_irq irq, CharDriverState *chr); +bool parallel_mm_init(target_phys_addr_t base, int it_shift, qemu_irq irq, + CharDriverState *chr);