[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [UNIKRAFT PATCH RFCv2 16/27] plat/ofw: Add fdt_prop_read_bool
This fdt_prop_read_bool helper returns true when the property is existed. This is helpful when we just need to know whether the property is there instead of getting its value. Signed-off-by: Jia He <justin.he@xxxxxxx> --- plat/drivers/include/ofw/fdt.h | 14 ++++++++++++++ plat/drivers/ofw/fdt.c | 8 ++++++++ 2 files changed, 22 insertions(+) diff --git a/plat/drivers/include/ofw/fdt.h b/plat/drivers/include/ofw/fdt.h index 0220fad..a3896ff 100644 --- a/plat/drivers/include/ofw/fdt.h +++ b/plat/drivers/include/ofw/fdt.h @@ -35,6 +35,8 @@ #ifndef _PLAT_DRIVER_OFW_FDT_H #define _PLAT_DRIVER_OFW_FDT_H +#include <stdbool.h> + #define FDT_BAD_ADDR (uint64_t)(-1) /** @@ -186,4 +188,16 @@ int fdt_node_offset_idx_by_compatible_list(const void *fdt, int startoffset, */ int fdt_get_interrupt(const void *fdt, int nodeoffset, uint32_t index, int *size, fdt32_t **prop); + +/** + * fdt_prop_read_bool - Find a property + * @fdt: pointer to the device tree blob + * @start_offset: start offset of the node to find the address for + * @propname: name of the property to be searched. + * + * Search for a property in a device node. + * Returns true if the property exists false otherwise. + */ +bool fdt_prop_read_bool(const void *fdt, int start_offset, + const char *propname); #endif diff --git a/plat/drivers/ofw/fdt.c b/plat/drivers/ofw/fdt.c index 876637d..48c5dfd 100644 --- a/plat/drivers/ofw/fdt.c +++ b/plat/drivers/ofw/fdt.c @@ -337,3 +337,11 @@ int fdt_get_interrupt(const void *fdt, int nodeoffset, return 0; } + +bool fdt_prop_read_bool(const void *fdt, int start_offset, + const char *propname) +{ + const struct fdt_property *prop = fdt_getprop(fdt, start_offset, propname, NULL); + + return prop ? true : false; +} -- 2.17.1
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |