dm: Provide dev_read_addr_index_ptr() wrapper
authorBin Meng <bmeng.cn@gmail.com>
Sun, 12 Sep 2021 03:15:13 +0000 (11:15 +0800)
committerLeo Yu-Chi Liang <ycliang@andestech.com>
Wed, 20 Oct 2021 02:59:09 +0000 (10:59 +0800)
Like dev_read_addr_ptr(), provide a wrapper for the indexed version.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
include/dm/read.h

index 5bf3405..890bf3d 100644 (file)
@@ -181,6 +181,18 @@ int dev_read_size(const struct udevice *dev, const char *propname);
 fdt_addr_t dev_read_addr_index(const struct udevice *dev, int index);
 
 /**
+ * dev_read_addr_index_ptr() - Get the indexed reg property of a device
+ *                             as a pointer
+ *
+ * @dev: Device to read from
+ * @index: the 'reg' property can hold a list of <addr, size> pairs
+ *        and @index is used to select which one is required
+ *
+ * @return pointer or NULL if not found
+ */
+void *dev_read_addr_index_ptr(const struct udevice *dev, int index);
+
+/**
  * dev_read_addr_size_index() - Get the indexed reg property of a device
  *
  * @dev: Device to read from
@@ -805,6 +817,12 @@ static inline fdt_addr_t dev_read_addr_index(const struct udevice *dev,
        return devfdt_get_addr_index(dev, index);
 }
 
+static inline void *dev_read_addr_index_ptr(const struct udevice *dev,
+                                           int index)
+{
+       return devfdt_get_addr_index_ptr(dev, index);
+}
+
 static inline fdt_addr_t dev_read_addr_size_index(const struct udevice *dev,
                                                  int index,
                                                  fdt_size_t *size)