diff options
Diffstat (limited to 'lib/fdtdec.c')
| -rw-r--r-- | lib/fdtdec.c | 22 | 
1 files changed, 22 insertions, 0 deletions
| diff --git a/lib/fdtdec.c b/lib/fdtdec.c index 4c23f458f..1f500224d 100644 --- a/lib/fdtdec.c +++ b/lib/fdtdec.c @@ -512,3 +512,25 @@ const u8 *fdtdec_locate_byte_array(const void *blob, int node,  		return NULL;  	return cell;  } + +/** + * Look in the FDT for a config item with the given name and return its value + * as a 32-bit integer. The property must have at least 4 bytes of data. The + * value of the first cell is returned. + * + * @param blob		FDT blob to use + * @param prop_name	Node property name + * @param default_val	default value to return if the property is not found + * @return integer value, if found, or default_val if not + */ +int fdtdec_get_config_int(const void *blob, const char *prop_name, +		int default_val) +{ +	int config_node; + +	debug("%s: %s\n", __func__, prop_name); +	config_node = fdt_path_offset(blob, "/config"); +	if (config_node < 0) +		return default_val; +	return fdtdec_get_int(blob, config_node, prop_name, default_val); +} |