From patchwork Thu Mar 24 13:32:42 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 64355 Delivered-To: patch@linaro.org Received: by 10.112.199.169 with SMTP id jl9csp648361lbc; Thu, 24 Mar 2016 06:32:41 -0700 (PDT) X-Received: by 10.194.62.102 with SMTP id x6mr10094750wjr.18.1458826361745; Thu, 24 Mar 2016 06:32:41 -0700 (PDT) Return-Path: Received: from theia.denx.de (theia.denx.de. [85.214.87.163]) by mx.google.com with ESMTP id 130si32699612wmt.100.2016.03.24.06.32.41; Thu, 24 Mar 2016 06:32:41 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of u-boot-bounces@lists.denx.de designates 85.214.87.163 as permitted sender) client-ip=85.214.87.163; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of u-boot-bounces@lists.denx.de designates 85.214.87.163 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 821EEA75F0; Thu, 24 Mar 2016 14:32:33 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id e-dM5PKfDcyb; Thu, 24 Mar 2016 14:32:33 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 92235A75C6; Thu, 24 Mar 2016 14:32:29 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id F35E1A7518 for ; Thu, 24 Mar 2016 14:32:23 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ays7JtsVcoOl for ; Thu, 24 Mar 2016 14:32:23 +0100 (CET) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from conuserg010-v.nifty.com (conuserg010.nifty.com [202.248.44.36]) by theia.denx.de (Postfix) with ESMTPS id 24AA3A7498 for ; Thu, 24 Mar 2016 14:32:19 +0100 (CET) Received: from beagle.diag.org (p14090-ipngnfx01kyoto.kyoto.ocn.ne.jp [153.142.97.90]) (authenticated) by conuserg010-v.nifty.com with ESMTP id u2ODW5nJ018160; Thu, 24 Mar 2016 22:32:08 +0900 X-Nifty-SrcIP: [153.142.97.90] From: Masahiro Yamada To: u-boot@lists.denx.de Date: Thu, 24 Mar 2016 22:32:42 +0900 Message-Id: <1458826368-2159-6-git-send-email-yamada.masahiro@socionext.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1458826368-2159-1-git-send-email-yamada.masahiro@socionext.com> References: <1458826368-2159-1-git-send-email-yamada.masahiro@socionext.com> Cc: Pantelis Antoniou Subject: [U-Boot] [PATCH 05/10] mmc: uniphier: use devm_get_addr() to get base address X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.15 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Currently, fdtdec_get_addr_size() does not support the address translation, so it cannot handle device trees with non-straight "ranges" properties. (This would be a problem with DTS for UniPhier ARMv8 SoCs.) Signed-off-by: Masahiro Yamada --- drivers/mmc/uniphier-sd.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) -- 1.9.1 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot diff --git a/drivers/mmc/uniphier-sd.c b/drivers/mmc/uniphier-sd.c index 3bc4d94..81a80cd 100644 --- a/drivers/mmc/uniphier-sd.c +++ b/drivers/mmc/uniphier-sd.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include @@ -650,15 +651,17 @@ int uniphier_sd_probe(struct udevice *dev) struct uniphier_sd_priv *priv = dev_get_priv(dev); struct mmc_uclass_priv *upriv = dev_get_uclass_priv(dev); fdt_addr_t base; - fdt_size_t size; struct udevice *clk_dev; int clk_id; int ret; priv->dev = dev; - base = fdtdec_get_addr_size(gd->fdt_blob, dev->of_offset, "reg", &size); - priv->regbase = map_sysmem(base, size); + base = dev_get_addr(dev); + if (base == FDT_ADDR_T_NONE) + return -EINVAL; + + priv->regbase = map_sysmem(base, SZ_2K); if (!priv->regbase) return -ENOMEM;