From patchwork Sun Mar 29 16:04:42 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 1263472 X-Patchwork-Delegate: sjg@chromium.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=quarantine dis=none) header.from=libero.it Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=libero.it header.i=@libero.it header.a=rsa-sha256 header.s=s2014 header.b=K2B1Kjjg; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 48r0nb4By7z9sRR for ; Mon, 30 Mar 2020 03:06:11 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 71C44818D0; Sun, 29 Mar 2020 18:06:00 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none) header.from=libero.it Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=libero.it header.i=@libero.it header.b="K2B1Kjjg"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 550AC818D9; Sun, 29 Mar 2020 18:05:57 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FORGED_SPF_HELO, FREEMAIL_FROM, SPF_HELO_PASS, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from libero.it (smtp-34.italiaonline.it [213.209.10.34]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 4FE48818BD for ; Sun, 29 Mar 2020 18:05:51 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none) header.from=libero.it Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=dariobin@libero.it Received: from localhost.localdomain ([79.45.94.224]) by smtp-34.iol.local with ESMTPA id IaR4jI7q4cy2wIaRajboEu; Sun, 29 Mar 2020 18:05:51 +0200 x-libjamoibt: 1601 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=libero.it; s=s2014; t=1585497951; bh=MbNuAUPJXSY0V2evT7TKuUSou44xFxnifwyq9cGK+Wc=; h=From; b=K2B1KjjgW9eg9OLbt4MksUTPrliB/b53empZMP/+Pyf83pDMZNKW7YMx441TsikMG ZP9m8v+If/DyVym8wd/cYTKBHlr6s3bMSaJE79Z8AiW75xfFta+pAUUL4twW58Dbvs /q/+MbOhwQ375EeLzupAbXQoHclPhiKr4ifSpHxc25FYE+TGh1eaH/pIHnHIa88otq KIZVzSPqMpW3z6dYd2hh81jeMLaNMY+TcS2mXCOzjIarjEPYrOieDuRr3EUyUWJCZ9 hpQO3LYwOLj5McL/zFMZv7dQEpVzVvOGcFFFCmXWaPpkcVJBxy+TuGmNEe3NMUJPoZ 6Xculhwbhv/mA== X-CNFS-Analysis: v=2.3 cv=XINOtjpE c=1 sm=1 tr=0 a=31YWZ2jLnToYGIwP5Rnx9w==:117 a=31YWZ2jLnToYGIwP5Rnx9w==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=VyzCIZW8NGLn2DbIR6AA:9 From: Dario Binacchi To: u-boot@lists.denx.de Cc: Dario Binacchi , Simon Glass Subject: [PATCH 3/3] dm: core: refactor functions reading an u32 from dt Date: Sun, 29 Mar 2020 18:04:42 +0200 Message-Id: <20200329160443.11518-4-dariobin@libero.it> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200329160443.11518-1-dariobin@libero.it> References: <20200329160443.11518-1-dariobin@libero.it> X-CMAE-Envelope: MS4wfJb2EmGjmMe3DGR/CDjjfQN7mJhhzwT4ZCqhZrUEyVwOCfIkGSyLQoUtLspCH5V7hgnMMdmWFbCT7yzeCA6uwVLicqdn1dICzXssgtRhL9UMA79QgXmV 7ZS2HaOIXIuPem0K9w5uhWuKhxkriszkyIkQIJLn5HLm6jGsr3ed5VXfcyJ3yratzWIH+RAcVGmdrmF01MrGbvzlHaPLeQ4YyZT9KgNdWVHz3B6wtmZjQDt/ X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean Now reading a 32 bit value from a device-tree property can be expressed as reading the first element of an array with a single value. Signed-off-by: Dario Binacchi Reviewed-by: Simon Glass --- drivers/core/of_access.c | 16 +--------------- drivers/core/ofnode.c | 23 ++--------------------- 2 files changed, 3 insertions(+), 36 deletions(-) diff --git a/drivers/core/of_access.c b/drivers/core/of_access.c index 55e4a38fc5..d116d106d9 100644 --- a/drivers/core/of_access.c +++ b/drivers/core/of_access.c @@ -449,21 +449,7 @@ static void *of_find_property_value_of_size(const struct device_node *np, int of_read_u32(const struct device_node *np, const char *propname, u32 *outp) { - const __be32 *val; - - debug("%s: %s: ", __func__, propname); - if (!np) - return -EINVAL; - val = of_find_property_value_of_size(np, propname, sizeof(*outp)); - if (IS_ERR(val)) { - debug("(not found)\n"); - return PTR_ERR(val); - } - - *outp = be32_to_cpup(val); - debug("%#x (%d)\n", *outp, *outp); - - return 0; + return of_read_u32_index(np, propname, 0, outp); } int of_read_u32_array(const struct device_node *np, const char *propname, diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c index 5bc3b02996..b0be7cbe19 100644 --- a/drivers/core/ofnode.c +++ b/drivers/core/ofnode.c @@ -18,32 +18,13 @@ int ofnode_read_u32(ofnode node, const char *propname, u32 *outp) { - assert(ofnode_valid(node)); - debug("%s: %s: ", __func__, propname); - - if (ofnode_is_np(node)) { - return of_read_u32(ofnode_to_np(node), propname, outp); - } else { - const fdt32_t *cell; - int len; - - cell = fdt_getprop(gd->fdt_blob, ofnode_to_offset(node), - propname, &len); - if (!cell || len < sizeof(int)) { - debug("(not found)\n"); - return -EINVAL; - } - *outp = fdt32_to_cpu(cell[0]); - } - debug("%#x (%d)\n", *outp, *outp); - - return 0; + return ofnode_read_u32_index(node, propname, 0, outp); } u32 ofnode_read_u32_default(ofnode node, const char *propname, u32 def) { assert(ofnode_valid(node)); - ofnode_read_u32(node, propname, &def); + ofnode_read_u32_index(node, propname, 0, &def); return def; }