Hi Johan, On Mon, 6 Mar 2023 at 12:55, Johan Jonker <jbx6...@gmail.com> wrote: > > > > On 3/6/23 18:53, Simon Glass wrote: > > Hi Johan, > > > > On Thu, 2 Mar 2023 at 17:15, Johan Jonker <jbx6...@gmail.com> wrote: > >> > >> 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 <mich...@amarulasolutions.com> > >> Signed-off-by: Johan Jonker <jbx6...@gmail.com> > >> Reviewed-by: Michael Trimarchi <mich...@amarulasolutions.com> > >> --- > >> > >> Changed V5: > >> fix spelling > >> use tabs > >> --- > >> drivers/core/fdtaddr.c | 8 ++++++++ > >> include/dm/fdtaddr.h | 17 ++++++++++++++++- > >> 2 files changed, 24 insertions(+), 1 deletion(-) > >> > >> 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; > > > Just wondering, as a side question: > Why is Uboot maintaining/exporting 2 sets of functions that do the do the > more or less the same thing. > > For example: > devfdt_get_addr_size_index_ptr vs. dev_read_addr_size_index_ptr > > Or should we standardize and replace all by dev_read_addr_size_index_ptr if > possible?
Yes that is a bit wonky. The flat/live tree selection is supposed to be in ofnode.c, so we could change it to call the ofnode version in both cases, moving the logic into there. That is how other functions work. Regards, Simon