> On 6 Oct 2017, at 13:47, Heinrich Schuchardt <xypron.g...@gmx.de> wrote: > > On 09/11/2017 10:04 PM, Philipp Tomsich wrote: >> The dev_read_addr_ptr() mimics the behaviour of the devfdt_get_addr_ptr(), >> retrieving the first address of the node's reg-property and returning >> it as a pointer (or NULL on failure). >> >> Signed-off-by: Philipp Tomsich <philipp.toms...@theobroma-systems.com> >> Acked-by: Philipp Tomsich <philipp.toms...@theobroma-systems.com> >> --- >> >> Changes in v3: None >> Changes in v2: >> - implements the dev_read_addr_ptr() function >> >> drivers/core/read.c | 7 +++++++ >> include/dm/read.h | 15 +++++++++++++++ >> 2 files changed, 22 insertions(+) >> >> diff --git a/drivers/core/read.c b/drivers/core/read.c >> index 6acb333..065589a 100644 >> --- a/drivers/core/read.c >> +++ b/drivers/core/read.c >> @@ -57,6 +57,13 @@ fdt_addr_t dev_read_addr(struct udevice *dev) >> return dev_read_addr_index(dev, 0); >> } >> >> +void *dev_read_addr_ptr(struct udevice *dev) >> +{ >> + fdt_addr_t addr = dev_read_addr(dev); >> + >> + return (addr == FDT_ADDR_T_NONE) ? NULL : (void *)addr; > > Hello Philipp, > > this line produces a compiler warning: > > sandbox: + sandbox > + return (addr == FDT_ADDR_T_NONE) ? NULL : (void *)addr; > + ^ > w+drivers/core/read.c: In function ?dev_read_addr_ptr?: > w+drivers/core/read.c:64:44: warning: cast to pointer from integer of > different size [-Wint-to-pointer-cast] > > Could you, please, provide a follow-up patch.
Heinrich, I don’t fully understand what exactly to do here, as there is a patch to address this in flight (https://patchwork.ozlabs.org/patch/819567/) and you had even been on the CC-list for that one… Regards, Philipp. > > Regards > > Heinrich > >> +} >> + >> fdt_addr_t dev_read_addr_size(struct udevice *dev, const char *property, >> fdt_size_t *sizep) >> { >> diff --git a/include/dm/read.h b/include/dm/read.h >> index 49d69c9..e7f7125 100644 >> --- a/include/dm/read.h >> +++ b/include/dm/read.h >> @@ -113,6 +113,16 @@ fdt_addr_t dev_read_addr_index(struct udevice *dev, int >> index); >> fdt_addr_t dev_read_addr(struct udevice *dev); >> >> /** >> + * dev_read_addr_ptr() - Get the reg property of a device >> + * as a pointer >> + * >> + * @dev: Device to read from >> + * >> + * @return pointer or NULL if not found >> + */ >> +void *dev_read_addr_ptr(struct udevice *dev); >> + >> +/** >> * dev_read_addr_size() - get address and size from a device property >> * >> * This does no address translation. It simply reads an property that >> contains >> @@ -417,6 +427,11 @@ static inline fdt_addr_t dev_read_addr(struct udevice >> *dev) >> return devfdt_get_addr(dev); >> } >> >> +static inline void *dev_read_addr_ptr(struct udevice *dev) >> +{ >> + return devfdt_get_addr_ptr(dev); >> +} >> + >> static inline fdt_addr_t dev_read_addr_size(struct udevice *dev, >> const char *propname, >> fdt_size_t *sizep) >> > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot