From patchwork Sat Sep 16 16:46:16 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 112813 Delivered-To: patches@linaro.org Received: by 10.140.106.117 with SMTP id d108csp1901617qgf; Sat, 16 Sep 2017 09:45:50 -0700 (PDT) X-Google-Smtp-Source: ADKCNb5eBN5mI3IBCkK+CZTpPJ2VkbcFWG/cO6GtyTvJR7edDCXGEeV5jlX8cWNy+VS3HeFASxav X-Received: by 10.223.187.80 with SMTP id x16mr23990702wrg.33.1505580350124; Sat, 16 Sep 2017 09:45:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1505580350; cv=none; d=google.com; s=arc-20160816; b=I5jOYlYQr8NXt6LSPIQagQloNFGYFlzvjdSFObHYk4iQElEJWZ5IDp2r3hrHD8DFH9 dY1jAGQDYIGvKlGfbZwRz3DI4lrWdIBKbP/3BAMILjJd5ysKrggkNopr/r9e0sSc5o/i CircqQKpHhcrxZnAnGiBT5T0kKeJYFLtNf8+QF1NaCd0c76V671xl9CIy3nqTMHCEfm0 8fhEs9932N304b97yc01/hCrtVd9BB0NLRUF8kzCalK7VrbG7usdCGdLaAtJtSrESOrB dKbYAG2XF3Su+f71ABld3ssxUDepGPakEVt/sWGQe3kaI9MiS7v/yRqSiYOY/UIqrptj L3AA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=qIXrrER2IcJcgl7JBQodbpZnQzXPjRFqzg1DmYJeCfg=; b=OR8J9HB30sChMyVUV8huG5ZzDQdwVqRhnyxCh7vOMvTpBibOesCCMN3K5aA6pzh2HI vKep699k/ZltS/LFmpc059nvyHauz/6StLJHWpv+yZ50RXLBB7gXXe0e/FjLS5i7p75f w2KobGZb3530Ss2ipxv7Y7VDGszZW37xZ2BGnTueZiDFombqijNLjX9pZu9BlpvGllfY WkaN9FjeYZAMWlkEEg2okK+Lga/cHHMnWr8Bjlw/hYM/HJbuyFJuDCYeblERwgJVCaUd glOrwhjALNZsAoxY+sRZS7ARKk12uIqj+YyVf8GIHZckW+6zVAKzS/D7wHiRlBVUKdSb Y3lg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of pm215@archaic.org.uk designates 2001:8b0:1d0::2 as permitted sender) smtp.mailfrom=pm215@archaic.org.uk; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by mx.google.com with ESMTPS id e58si2888029wre.38.2017.09.16.09.45.49 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 16 Sep 2017 09:45:50 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of pm215@archaic.org.uk designates 2001:8b0:1d0::2 as permitted sender) client-ip=2001:8b0:1d0::2; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of pm215@archaic.org.uk designates 2001:8b0:1d0::2 as permitted sender) smtp.mailfrom=pm215@archaic.org.uk; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from pm215 by orth.archaic.org.uk with local (Exim 4.89) (envelope-from ) id 1dtGE1-00016I-H6; Sat, 16 Sep 2017 17:45:49 +0100 From: Peter Maydell To: qemu-arm@nongnu.org, qemu-devel@nongnu.org Cc: patches@linaro.org Subject: [PATCH 4/6] hw/timer/omap_gptimer: Don't use old_mmio Date: Sat, 16 Sep 2017 17:46:16 +0100 Message-Id: <1505580378-9044-5-git-send-email-peter.maydell@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1505580378-9044-1-git-send-email-peter.maydell@linaro.org> References: <1505580378-9044-1-git-send-email-peter.maydell@linaro.org> Don't use the old_mmio struct in memory region ops. Signed-off-by: Peter Maydell --- hw/timer/omap_gptimer.c | 49 +++++++++++++++++++++++++++++++++++++------------ 1 file changed, 37 insertions(+), 12 deletions(-) -- 2.7.4 Reviewed-by: Richard Henderson diff --git a/hw/timer/omap_gptimer.c b/hw/timer/omap_gptimer.c index 5e3e8a6..6d7c8a3 100644 --- a/hw/timer/omap_gptimer.c +++ b/hw/timer/omap_gptimer.c @@ -450,19 +450,44 @@ static void omap_gp_timer_writeh(void *opaque, hwaddr addr, s->writeh = (uint16_t) value; } +static uint64_t omap_gp_timer_readfn(void *opaque, hwaddr addr, + unsigned size) +{ + switch (size) { + case 1: + return omap_badwidth_read32(opaque, addr); + case 2: + return omap_gp_timer_readh(opaque, addr); + case 4: + return omap_gp_timer_readw(opaque, addr); + default: + g_assert_not_reached(); + } +} + +static void omap_gp_timer_writefn(void *opaque, hwaddr addr, + uint64_t value, unsigned size) +{ + switch (size) { + case 1: + omap_badwidth_write32(opaque, addr, value); + break; + case 2: + omap_gp_timer_writeh(opaque, addr, value); + break; + case 4: + omap_gp_timer_write(opaque, addr, value); + break; + default: + g_assert_not_reached(); + } +} + static const MemoryRegionOps omap_gp_timer_ops = { - .old_mmio = { - .read = { - omap_badwidth_read32, - omap_gp_timer_readh, - omap_gp_timer_readw, - }, - .write = { - omap_badwidth_write32, - omap_gp_timer_writeh, - omap_gp_timer_write, - }, - }, + .read = omap_gp_timer_readfn, + .write = omap_gp_timer_writefn, + .valid.min_access_size = 1, + .valid.max_access_size = 4, .endianness = DEVICE_NATIVE_ENDIAN, };