From 28027521be95d27fcb83669e09ce3563bb4dd977 Mon Sep 17 00:00:00 2001 From: Stefan Roese Date: Thu, 21 Apr 2016 07:11:34 +0200 Subject: dm: core: Add dev_get_addr_ptr() to return a pointer to the reg address On some platforms (e.g. x86), the return value of dev_get_addr() can't be assigned to a pointer type variable directly. As there might be a difference between the size of fdt_addr_t and the pointer type. On x86 for example, "fdt_addr_t" is 64bit but "void *" only 32bit. So assigning the register base directly in dev_get_addr() results in this compilation warning: warning: cast to pointer from integer of different size This patch introduces the new function dev_get_addr_ptr() that returns a pointer to the 'reg' address that can be used by drivers in this case. Signed-off-by: Stefan Roese Reviewed-by: Simon Glass Reviewed-by: Bin Meng --- include/dm/device.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'include/dm') diff --git a/include/dm/device.h b/include/dm/device.h index dad7591..8970fc0 100644 --- a/include/dm/device.h +++ b/include/dm/device.h @@ -454,6 +454,16 @@ int device_find_next_child(struct udevice **devp); fdt_addr_t dev_get_addr(struct udevice *dev); /** + * dev_get_addr_ptr() - Return pointer to the address of the reg property + * of a device + * + * @dev: Pointer to a device + * + * @return Pointer to addr, or NULL if there is no such property + */ +void *dev_get_addr_ptr(struct udevice *dev); + +/** * dev_get_addr_index() - Get the indexed reg property of a device * * @dev: Pointer to a device -- cgit v1.1