dm: add dev_read_u32()
dev_read_u32_default() always returns something even when the property is missing. So, it is impossible to do nothing in the case. One solution is to use ofnode_read_u32() instead, but adding dev_read_u32() will be helpful. BTW, Linux has an equvalent function, device_property_read_u32(); it is clearer that it reads a property. I cannot understand the behavior of dev_read_u32() from its name. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
This commit is contained in:
parent
557767ed29
commit
3ab48f6223
@ -10,6 +10,11 @@
|
||||
#include <mapmem.h>
|
||||
#include <dm/of_access.h>
|
||||
|
||||
int dev_read_u32(struct udevice *dev, const char *propname, u32 *outp)
|
||||
{
|
||||
return ofnode_read_u32(dev_ofnode(dev), propname, outp);
|
||||
}
|
||||
|
||||
int dev_read_u32_default(struct udevice *dev, const char *propname, int def)
|
||||
{
|
||||
return ofnode_read_u32_default(dev_ofnode(dev), propname, def);
|
||||
|
@ -45,6 +45,16 @@ static inline bool dev_of_valid(struct udevice *dev)
|
||||
}
|
||||
|
||||
#ifndef CONFIG_DM_DEV_READ_INLINE
|
||||
/**
|
||||
* dev_read_u32() - read a 32-bit integer from a device's DT property
|
||||
*
|
||||
* @dev: device to read DT property from
|
||||
* @propname: name of the property to read from
|
||||
* @outp: place to put value (if found)
|
||||
* @return 0 if OK, -ve on error
|
||||
*/
|
||||
int dev_read_u32(struct udevice *dev, const char *propname, u32 *outp);
|
||||
|
||||
/**
|
||||
* dev_read_u32_default() - read a 32-bit integer from a device's DT property
|
||||
*
|
||||
@ -412,6 +422,12 @@ int dev_read_resource_byname(struct udevice *dev, const char *name,
|
||||
|
||||
#else /* CONFIG_DM_DEV_READ_INLINE is enabled */
|
||||
|
||||
static inline int dev_read_u32(struct udevice *dev,
|
||||
const char *propname, u32 *outp)
|
||||
{
|
||||
return ofnode_read_u32(dev_ofnode(dev), propname, outp);
|
||||
}
|
||||
|
||||
static inline int dev_read_u32_default(struct udevice *dev,
|
||||
const char *propname, int def)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user