From: Johan Jonker <jbx6244@gmail.com>
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
Subject: [PATCH v7 13/23] core: fdtaddr: add devfdt_get_addr_size_index_ptr function
Date: Fri, 10 Mar 2023 17:44:25 +0100 [thread overview]
Message-ID: <8bf0b2ee-6263-dedb-41f0-0cb9999d923f@gmail.com> (raw)
In-Reply-To: <4caa17bc-6d32-5b07-68f3-f5ced40bfcbb@gmail.com>
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.
Use map_sysmem() function as cast for the return.
Make same fix for devfdt_get_addr_index_ptr() function.
Suggested-by: Michael Nazzareno Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Reviewed-by: Michael Trimarchi <michael@amarulasolutions.com>
---
Changed V7:
use map_sysmem()
Changed V5:
fix spelling
use tabs
---
drivers/core/fdtaddr.c | 17 ++++++++++++++++-
include/dm/fdtaddr.h | 17 ++++++++++++++++-
2 files changed, 32 insertions(+), 2 deletions(-)
diff --git a/drivers/core/fdtaddr.c b/drivers/core/fdtaddr.c
index 91bcd1a2..546db675 100644
--- a/drivers/core/fdtaddr.c
+++ b/drivers/core/fdtaddr.c
@@ -12,6 +12,7 @@
#include <dm.h>
#include <fdt_support.h>
#include <log.h>
+#include <mapmem.h>
#include <asm/global_data.h>
#include <asm/io.h>
#include <dm/device-internal.h>
@@ -97,7 +98,10 @@ void *devfdt_get_addr_index_ptr(const struct udevice *dev, int index)
{
fdt_addr_t addr = devfdt_get_addr_index(dev, index);
- return (addr == FDT_ADDR_T_NONE) ? NULL : (void *)(uintptr_t)addr;
+ if (addr == FDT_ADDR_T_NONE)
+ return NULL;
+
+ return map_sysmem(addr, 0);
}
fdt_addr_t devfdt_get_addr_size_index(const struct udevice *dev, int index,
@@ -122,6 +126,17 @@ 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);
+
+ if (addr == FDT_ADDR_T_NONE)
+ return NULL;
+
+ return map_sysmem(addr, 0);
+}
+
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 <addr, size> 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 <addr, size> 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
*
--
2.20.1
next prev parent reply other threads:[~2023-03-10 16:44 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-10 16:36 [PATCH v7 00/23] Fixes for Rockchip NFC driver part 1 Johan Jonker
2023-03-10 16:40 ` [PATCH v7 01/23] mtd: nand: raw: rockchip_nfc: use dev_read_addr_ptr Johan Jonker
2023-03-10 16:42 ` Michael Nazzareno Trimarchi
2023-03-10 16:40 ` [PATCH v7 02/23] mtd: nand: raw: rockchip_nfc: remove the compatible string "rockchip,rk3308-nfc" Johan Jonker
2023-03-10 16:40 ` [PATCH v7 03/23] mtd: nand: raw: rockchip_nfc: add layout structure Johan Jonker
2023-03-10 16:41 ` [PATCH v7 04/23] mtd: nand: raw: rockchip_nfc: add flash_node to chip structure Johan Jonker
2023-03-10 16:41 ` [PATCH v7 05/23] mtd: nand: raw: rockchip_nfc: fix oobfree offset and description Johan Jonker
2023-03-10 16:41 ` [PATCH v7 06/23] mtd: nand: add support for the Sandisk SDTNQGAMA chip Johan Jonker
2023-03-10 16:41 ` [PATCH v7 07/23] rockchip: adc: rockchip-saradc: use dev_read_addr_ptr Johan Jonker
2023-03-10 16:42 ` [PATCH v7 08/23] rockchip: timer: dw-apb-timer: use reg variable with phys_addr_t size Johan Jonker
2023-03-10 16:42 ` [PATCH v7 10/23] include: dm: ofnode: fix headers Johan Jonker
2023-03-10 16:42 ` [PATCH v7 11/23] core: remap: fix regmap_init_mem_plat() reg size handeling Johan Jonker
2023-03-11 1:37 ` Simon Glass
2023-03-12 12:21 ` Johan Jonker
2023-03-13 3:10 ` Simon Glass
2023-03-10 16:43 ` [PATCH v7 12/23] rockchip: rk3288: syscon_rk3288: store syscon platdata in regmap Johan Jonker
2023-03-10 16:44 ` Johan Jonker [this message]
2023-03-11 1:37 ` [PATCH v7 13/23] core: fdtaddr: add devfdt_get_addr_size_index_ptr function Simon Glass
2023-03-10 16:45 ` [PATCH v7 14/23] core: read: add dev_read_addr_index_ptr function Johan Jonker
2023-03-10 16:45 ` [PATCH v7 15/23] spi: spi-aspeed-smc: use devfdt_get_addr_index_ptr Johan Jonker
2023-03-10 16:45 ` [PATCH v7 16/23] drivers: use dev_read_addr_index_ptr when cast to pointer Johan Jonker
2023-03-11 1:37 ` Simon Glass
2023-03-10 16:45 ` [PATCH v7 17/23] drivers: use dev_read_addr_ptr " Johan Jonker
2023-03-10 16:46 ` [PATCH v7 18/23] drivers: use devfdt_get_addr_size_index_ptr " Johan Jonker
2023-03-10 16:46 ` [PATCH v7 19/23] drivers: use devfdt_get_addr_index_ptr " Johan Jonker
2023-03-10 16:46 ` [PATCH v7 20/23] drivers: use devfdt_get_addr_ptr " Johan Jonker
2023-03-10 16:46 ` [PATCH v7 21/23] drivers: fix debug string with fdt_addr_t input Johan Jonker
2023-03-10 16:47 ` [PATCH v7 22/23] arm: stm32mp: spl: fix function " Johan Jonker
2023-03-11 1:37 ` Simon Glass
2023-03-10 16:47 ` [PATCH v7 23/23] include: fdtdec: decouple fdt_addr_t and phys_addr_t size Johan Jonker
2023-03-10 16:50 ` [RESEND PATCH v7 09/23] rockchip: pwm: rk_pwm: use reg variable with " Johan Jonker
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8bf0b2ee-6263-dedb-41f0-0cb9999d923f@gmail.com \
--to=jbx6244@gmail.com \
--cc=dario.binacchi@amarulasolutions.com \
--cc=kever.yang@rock-chips.com \
--cc=michael@amarulasolutions.com \
--cc=philipp.tomsich@vrull.eu \
--cc=sjg@chromium.org \
--cc=u-boot@lists.denx.de \
--cc=yifeng.zhao@rock-chips.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox