mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-02-26 20:37:16 +00:00
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 <sr@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
parent
65341967ce
commit
28027521be
2 changed files with 15 additions and 0 deletions
|
@ -673,6 +673,11 @@ fdt_addr_t dev_get_addr(struct udevice *dev)
|
||||||
return dev_get_addr_index(dev, 0);
|
return dev_get_addr_index(dev, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void *dev_get_addr_ptr(struct udevice *dev)
|
||||||
|
{
|
||||||
|
return (void *)(uintptr_t)dev_get_addr_index(dev, 0);
|
||||||
|
}
|
||||||
|
|
||||||
bool device_has_children(struct udevice *dev)
|
bool device_has_children(struct udevice *dev)
|
||||||
{
|
{
|
||||||
return !list_empty(&dev->child_head);
|
return !list_empty(&dev->child_head);
|
||||||
|
|
|
@ -453,6 +453,16 @@ int device_find_next_child(struct udevice **devp);
|
||||||
*/
|
*/
|
||||||
fdt_addr_t dev_get_addr(struct udevice *dev);
|
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_get_addr_index() - Get the indexed reg property of a device
|
||||||
*
|
*
|
||||||
|
|
Loading…
Add table
Reference in a new issue