devicetree: Add method to delete property by name

Will be used on Cavium SoC to delete devicetree entries that aren't
available with the board/configuration.

Change-Id: I7c58a2411206bca62d0e96fa627530e937383ac9
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/26693
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
This commit is contained in:
Patrick Rudolph
2018-05-30 15:05:28 +02:00
committed by Patrick Georgi
parent eb5d76a510
commit 5ccc73145f
2 changed files with 20 additions and 0 deletions

View File

@ -762,6 +762,24 @@ void dt_write_int(u8 *dest, u64 src, size_t length)
}
}
/*
* Delete a property by name in a given node if it exists.
*
* @param node The device tree node to operate on.
* @param name The name of the property to delete.
*/
void dt_delete_prop(struct device_tree_node *node, const char *name)
{
struct device_tree_property *prop;
list_for_each(prop, node->properties, list_node) {
if (!strcmp(prop->prop.name, name)) {
list_remove(&prop->list_node);
return;
}
}
}
/*
* Add an arbitrary property to a node, or update it if it already exists.
*