dm: introduce dev_get_addr interface

Abstracting dev_get_addr can improve drivers that want to
get device's address.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
Acked-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Peng Fan 2015-02-10 14:46:32 +08:00 committed by Simon Glass
parent be9891c52d
commit c9cac3f841
2 changed files with 22 additions and 0 deletions

View File

@ -449,3 +449,15 @@ enum uclass_id device_get_uclass_id(struct udevice *dev)
{
return dev->uclass->uc_drv->id;
}
#ifdef CONFIG_OF_CONTROL
fdt_addr_t dev_get_addr(struct udevice *dev)
{
return fdtdec_get_addr(gd->fdt_blob, dev->of_offset, "reg");
}
#else
fdt_addr_t dev_get_addr(struct udevice *dev)
{
return FDT_ADDR_T_NONE;
}
#endif

View File

@ -12,6 +12,7 @@
#define _DM_DEVICE_H
#include <dm/uclass-id.h>
#include <fdtdec.h>
#include <linker_lists.h>
#include <linux/list.h>
@ -351,4 +352,13 @@ int device_find_first_child(struct udevice *parent, struct udevice **devp);
*/
int device_find_next_child(struct udevice **devp);
/**
* dev_get_addr() - Get the reg property of a device
*
* @dev: Pointer to a device
*
* @return addr
*/
fdt_addr_t dev_get_addr(struct udevice *dev);
#endif