Commit bc4147ab authored by Thierry Reding's avatar Thierry Reding Committed by Simon Glass

fdt: Add a function to count strings

Given a device tree node and a property name, the fdt_count_strings()
function counts the number of strings found in the property value.
Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
Acked-by: default avatarSimon Glass <sjg@chromium.org>
parent a84c8107
......@@ -857,6 +857,15 @@ int fdt_node_offset_by_compatible(const void *fdt, int startoffset,
*/
int fdt_stringlist_contains(const char *strlist, int listlen, const char *str);
/**
* fdt_count_strings - count the number of strings in a string list
* @fdt: pointer to the device tree blob
* @node: offset of the node
* @property: name of the property containing the string list
* @return: the number of strings in the given property
*/
int fdt_count_strings(const void *fdt, int node, const char *property);
/**********************************************************************/
/* Read-only functions (addressing related) */
/**********************************************************************/
......
......@@ -491,6 +491,26 @@ int fdt_stringlist_contains(const char *strlist, int listlen, const char *str)
return 0;
}
int fdt_count_strings(const void *fdt, int node, const char *property)
{
int length, i, count = 0;
const char *list;
list = fdt_getprop(fdt, node, property, &length);
if (!list)
return -length;
for (i = 0; i < length; i++) {
int len = strlen(list);
list += len + 1;
i += len;
count++;
}
return count;
}
int fdt_node_check_compatible(const void *fdt, int nodeoffset,
const char *compatible)
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment