From patchwork Tue Feb 28 21:19:50 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Johan Jonker X-Patchwork-Id: 1749644 X-Patchwork-Delegate: ykai007@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=Yp8tKFYH; 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 ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4PR9Hg2yNGz245t for ; Wed, 1 Mar 2023 08:19:59 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 05D1D85C26; Tue, 28 Feb 2023 22:19:57 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com 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=gmail.com header.i=@gmail.com header.b="Yp8tKFYH"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 3C5B385C0C; Tue, 28 Feb 2023 22:19:55 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com [IPv6:2a00:1450:4864:20::52f]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 4ACDC85C0C for ; Tue, 28 Feb 2023 22:19:52 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=jbx6244@gmail.com Received: by mail-ed1-x52f.google.com with SMTP id i34so45685724eda.7 for ; Tue, 28 Feb 2023 13:19:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677619192; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:subject:from:user-agent:mime-version:date:message-id:from:to :cc:subject:date:message-id:reply-to; bh=Sw14djtIrSP75nNCr7M8nSgU9s/B6yRh69uHLLuSAsQ=; b=Yp8tKFYHOCW55iFwzQyy355cbMhgdSUd9T2QdVb3ETMPFIrqiEeKMgfCvx6JHgoWo7 r0/VSFIs4wlyiSVygLchUeGT/zQ/1rl1KIDyMrmUc/EzFRK1cgKFax8+OtqAyUKoRtMv JpjEDTVVInMfNlaY4KYXaDamGPLupij/NHr8CN+ZKMEOl+0t4gpz6zSn8mwcC2Y/pLgQ 9w7vxr/mbnyAhwrv7mPUSCwhCTg+gEeiFSl+bkGFIA8iB+9hqD/OjPjG+20bMaHBWsDT xnMvQpXaqK7Oc1gjBG0Vv1IdCqlhc4igKzemuj3iERRpEYAatv4yC5+uMr1DscRVKtZV rLHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677619192; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:subject:from:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Sw14djtIrSP75nNCr7M8nSgU9s/B6yRh69uHLLuSAsQ=; b=y6fpkDBXAJJW96qbKGPHvYhGUKDkn3yKsj++7kfHl6GGTblPQj51MTsZD71GN2qq/8 2hVWoB3wt1K7hO3MQT8lHJKVdwlik5QVKFYc/kmKNdilEgg8pDiFovpjCggZYSChTTF/ EUuWUozwYDs7mgDtGR8wdC5gHrkFqJjdYwmM8UzQ+nMLrJCfAvMllYNjmR3omyrwd39e zZG/Tnk48ndMRXXsM+HQBCkkqY4T1xRrpDd477+3Yj44f5BpRuJACIFFuRoUQENeThNU 9uv6i+eR6fATjPjiQ3cK3XjURJu3jVULCSyyE/vqcLfDTlbyvJ54MIrkOrjaXYHXfcQd smlQ== X-Gm-Message-State: AO0yUKVFRlRCVxUNcwNFcOVJpZxPBi8Aoxm91E1h1i0ok5J1RYDU0w/D BMjzj2tCoSLW44qNBrt4iNk= X-Google-Smtp-Source: AK7set9nQZgJ5E9U30jhqsoCbFo3E3fG2+/R/ZHqCWvdXcOKo2oi6U2Xflb6qnCdaqpkCV6DYiW7Zg== X-Received: by 2002:a17:906:4785:b0:895:58be:957 with SMTP id cw5-20020a170906478500b0089558be0957mr5683052ejc.2.1677619191837; Tue, 28 Feb 2023 13:19:51 -0800 (PST) Received: from [192.168.2.1] (81-204-249-205.fixed.kpn.net. [81.204.249.205]) by smtp.gmail.com with ESMTPSA id x10-20020a1709064a8a00b008b1815e30e3sm4931193eju.117.2023.02.28.13.19.51 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 28 Feb 2023 13:19:51 -0800 (PST) Message-ID: <677a7184-f4b7-61e3-6e16-42f43e7f8cb3@gmail.com> Date: Tue, 28 Feb 2023 22:19:50 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0 From: Johan Jonker Subject: [PATCH v5 11/21] core: fdtaddr: add devfdt_get_addr_size_index_ptr function To: dario.binacchi@amarulasolutions.com, michael@amarulasolutions.com, sjg@chromium.org, philipp.tomsich@vrull.eu, kever.yang@rock-chips.com Cc: u-boot@lists.denx.de, yifeng.zhao@rock-chips.com References: Content-Language: en-US In-Reply-To: X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 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.103.6 at phobos.denx.de X-Virus-Status: Clean Add devfdt_get_addr_size_index_ptr function with the same functionality as devfdt_get_addr_size_index, but instead a return pointer is given. Suggested-by: Michael Nazzareno Trimarchi Signed-off-by: Johan Jonker Reviewed-by: Michael Trimarchi --- Changed V5: fix spelling use tabs --- drivers/core/fdtaddr.c | 8 ++++++++ include/dm/fdtaddr.h | 17 ++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) -- 2.20.1 diff --git a/drivers/core/fdtaddr.c b/drivers/core/fdtaddr.c index 91bcd1a2..f5906ff9 100644 --- a/drivers/core/fdtaddr.c +++ b/drivers/core/fdtaddr.c @@ -122,6 +122,14 @@ fdt_addr_t devfdt_get_addr_size_index(const struct udevice *dev, int index, #endif } +void *devfdt_get_addr_size_index_ptr(const struct udevice *dev, int index, + fdt_size_t *size) +{ + fdt_addr_t addr = devfdt_get_addr_size_index(dev, index, size); + + return (addr == FDT_ADDR_T_NONE) ? NULL : (void *)(uintptr_t)addr; +} + fdt_addr_t devfdt_get_addr_name(const struct udevice *dev, const char *name) { #if CONFIG_IS_ENABLED(OF_CONTROL) diff --git a/include/dm/fdtaddr.h b/include/dm/fdtaddr.h index c9d2b27b..dcdc1913 100644 --- a/include/dm/fdtaddr.h +++ b/include/dm/fdtaddr.h @@ -111,7 +111,7 @@ void *devfdt_get_addr_index_ptr(const struct udevice *dev, int index); * @dev: Pointer to a device * @index: the 'reg' property can hold a list of pairs * and @index is used to select which one is required - * @size: Pointer to size varible - this function returns the size + * @size: Pointer to size variable - this function returns the size * specified in the 'reg' property here * * Return: addr @@ -119,6 +119,21 @@ void *devfdt_get_addr_index_ptr(const struct udevice *dev, int index); fdt_addr_t devfdt_get_addr_size_index(const struct udevice *dev, int index, fdt_size_t *size); +/** + * devfdt_get_addr_size_index_ptr() - Return indexed pointer to the address of the + * reg property of a device + * + * @dev: Pointer to a device + * @index: the 'reg' property can hold a list of pairs + * and @index is used to select which one is required + * @size: Pointer to size variable - this function returns the size + * specified in the 'reg' property here + * + * Return: Pointer to addr, or NULL if there is no such property + */ +void *devfdt_get_addr_size_index_ptr(const struct udevice *dev, int index, + fdt_size_t *size); + /** * devfdt_get_addr_name() - Get the reg property of a device, indexed by name *