From 78e24f235eda4d3313917a50e135b7e06a046407 Mon Sep 17 00:00:00 2001 From: Eric Auger Date: Fri, 19 Feb 2016 09:42:30 -0700 Subject: device_tree: qemu_fdt_getprop converted to use the error API Current qemu_fdt_getprop exits if the property is not found. It is sometimes needed to read an optional property, in which case we do not wish to exit but simply returns a null value. This patch converts qemu_fdt_getprop to accept an Error **, and existing users are converted to pass &error_fatal. This preserves the existing behaviour. Then to use the API with your optional semantic a null parameter can be conveyed. Signed-off-by: Eric Auger Reviewed-by: Peter Crosthwaite Signed-off-by: Alex Williamson --- include/sysemu/device_tree.h | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'include/sysemu') diff --git a/include/sysemu/device_tree.h b/include/sysemu/device_tree.h index 552df2179b..48bf3b5ab1 100644 --- a/include/sysemu/device_tree.h +++ b/include/sysemu/device_tree.h @@ -54,8 +54,19 @@ int qemu_fdt_setprop_string(void *fdt, const char *node_path, int qemu_fdt_setprop_phandle(void *fdt, const char *node_path, const char *property, const char *target_node_path); +/** + * qemu_fdt_getprop: retrieve the value of a given property + * @fdt: pointer to the device tree blob + * @node_path: node path + * @property: name of the property to find + * @lenp: fdt error if any or length of the property on success + * @errp: handle to an error object + * + * returns a pointer to the property on success and NULL on failure + */ const void *qemu_fdt_getprop(void *fdt, const char *node_path, - const char *property, int *lenp); + const char *property, int *lenp, + Error **errp); uint32_t qemu_fdt_getprop_cell(void *fdt, const char *node_path, const char *property); uint32_t qemu_fdt_get_phandle(void *fdt, const char *path); -- cgit v1.2.3