From patchwork Sun Jun 29 16:21:42 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andre Heider X-Patchwork-Id: 4444801 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 81E489F32E for ; Sun, 29 Jun 2014 16:26:27 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id ADCE92021A for ; Sun, 29 Jun 2014 16:26:26 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D0DC92024D for ; Sun, 29 Jun 2014 16:26:25 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1X1Htz-0004vd-VE; Sun, 29 Jun 2014 16:24:27 +0000 Received: from mail-we0-x235.google.com ([2a00:1450:400c:c03::235]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1X1Hs3-0003OQ-Mh for linux-arm-kernel@lists.infradead.org; Sun, 29 Jun 2014 16:22:28 +0000 Received: by mail-we0-f181.google.com with SMTP id q59so7244852wes.40 for ; Sun, 29 Jun 2014 09:22:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=eZWmr36RTkTdcJFmc+ulJKmQdgDAOyBWDpopKscfgyg=; b=JwxoWRsfroR6S4+1KGjFkLmYkiblIBBJVN/75wxwnuaYfeqrmCb/BGKwxfCN8su0aY OoQQkPN1Qi9diMqMiS8u89vUI4S9UzxLMjanqICvxFCbpVW4Id50zQKgc0vJM3YDp117 xfBvjL5JZOyKbsJjv4gvhhp4fU4EIjhJzgSNHBgP5lI4JDmGJj/W0bGm1eYRG7cH5YsB 0HbliVGDlF+e3YY9K6X4f5lXkQKlKT5wE3f4DyRay22oyhq1ydJCfd+/KbWAKyxGM4bX H5JxXdQjP62W7dYopSGXyRnmult8Stxc7p2xHBNOxIKJGJPcS5bkn7KJn+oUzc3L1KZp 63FA== X-Received: by 10.194.192.201 with SMTP id hi9mr35120632wjc.28.1404058924502; Sun, 29 Jun 2014 09:22:04 -0700 (PDT) Received: from mamamia.internal (a89-182-10-130.net-htp.de. [89.182.10.130]) by mx.google.com with ESMTPSA id gh16sm21137573wic.3.2014.06.29.09.22.03 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 29 Jun 2014 09:22:04 -0700 (PDT) From: Andre Heider To: linux-omap@vger.kernel.org Subject: [PATCH 08/13] uio: uio_pruss: make the UIO SRAM memory region optional Date: Sun, 29 Jun 2014 18:21:42 +0200 Message-Id: <1404058907-21112-9-git-send-email-a.heider@gmail.com> X-Mailer: git-send-email 2.0.0 In-Reply-To: <1404058907-21112-1-git-send-email-a.heider@gmail.com> References: <1404058907-21112-1-git-send-email-a.heider@gmail.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20140629_092227_952379_E876011C X-CRM114-Status: GOOD ( 13.46 ) X-Spam-Score: -0.8 (/) Cc: devicetree@vger.kernel.org, Paul Walmsley , Tony Lindgren , Greg Kroah-Hartman , Matt Porter , "Hans J . Koch" , =?UTF-8?q?Beno=C3=AEt=20Cousson?= , linux-arm-kernel@lists.infradead.org X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, T_DKIM_INVALID, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=no version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Skip creating the UIO SRAM memory region if no SRAM genalloc has been passed along. This will be the case for am33xx SoCs. The order of the memory regions is not changed for already supported platforms. That is to keep the current behavior for existing userland drivers. For am33x this gives one memory region less. This behavior is in line with downstream patches and userland driver support for this SoC family. Signed-off-by: Andre Heider --- drivers/uio/uio_pruss.c | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/drivers/uio/uio_pruss.c b/drivers/uio/uio_pruss.c index 50ff206..afaf726 100644 --- a/drivers/uio/uio_pruss.c +++ b/drivers/uio/uio_pruss.c @@ -111,7 +111,7 @@ static int pruss_probe(struct platform_device *pdev) struct uio_pruss_dev *gdev; struct resource *regs_prussio; struct device *dev = &pdev->dev; - int ret = -ENODEV, cnt = 0; + int ret = -ENODEV, cnt = 0, i; struct uio_pruss_pdata *pdata = dev_get_platdata(dev); dma_addr_t ddr_paddr; @@ -160,17 +160,24 @@ static int pruss_probe(struct platform_device *pdev) gdev->hostirq_start = platform_get_irq(pdev, 0); for (cnt = 0, p = gdev->info; cnt < MAX_PRUSS_EVT; cnt++, p++) { - p->mem[0].addr = regs_prussio->start; - p->mem[0].size = resource_size(regs_prussio); - p->mem[0].memtype = UIO_MEM_PHYS; - - p->mem[1].addr = gdev->sram_paddr; - p->mem[1].size = sram_pool_sz; - p->mem[1].memtype = UIO_MEM_PHYS; + i = 0; + + p->mem[i].addr = regs_prussio->start; + p->mem[i].size = resource_size(regs_prussio); + p->mem[i].memtype = UIO_MEM_PHYS; + i++; + + if (gdev->sram_vaddr) { + p->mem[i].addr = gdev->sram_paddr; + p->mem[i].size = sram_pool_sz; + p->mem[i].memtype = UIO_MEM_PHYS; + i++; + } - p->mem[2].addr = ddr_paddr; - p->mem[2].size = extram_pool_sz; - p->mem[2].memtype = UIO_MEM_PHYS; + p->mem[i].addr = ddr_paddr; + p->mem[i].size = extram_pool_sz; + p->mem[i].memtype = UIO_MEM_PHYS; + i++; p->name = kasprintf(GFP_KERNEL, "pruss_evt%d", cnt); p->version = DRV_VERSION;