[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 1/5] device_tree: add qemu_fdt_setprop_strings() helper
From: |
Ben Dooks |
Subject: |
[PATCH v3 1/5] device_tree: add qemu_fdt_setprop_strings() helper |
Date: |
Wed, 27 Jul 2022 23:39:01 +0100 |
Add a helper to set a property from a set of strings
to reduce the following code:
static const char * const clint_compat[2] = {
"sifive,clint0", "riscv,clint0"
};
qemu_fdt_setprop_string_array(fdt, nodename, "compatible",
(char **)&clint_compat, ARRAY_SIZE(clint_compat));
Signed-off-by: Ben Dooks <qemu@ben.fluff.org>
---
v3;
- fix return value for the call
- add better help text
v2:
- fix node/path in comment
---
include/sysemu/device_tree.h | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/include/sysemu/device_tree.h b/include/sysemu/device_tree.h
index ef060a9759..83bdfe390e 100644
--- a/include/sysemu/device_tree.h
+++ b/include/sysemu/device_tree.h
@@ -87,6 +87,25 @@ int qemu_fdt_setprop_string(void *fdt, const char *node_path,
int qemu_fdt_setprop_string_array(void *fdt, const char *node_path,
const char *prop, char **array, int len);
+/**
+ * qemu_fdt_setprop_strings: set a property from a set of strings
+ *
+ * @fdt: pointer to the dt blob
+ * @path: node name
+ * @prop: property array
+ *
+ * This is a helper for the qemu_fdt_setprop_string_array() function
+ * which takes a va-arg set of strings instead of having to setup a
+ * single use string array.
+ */
+#define qemu_fdt_setprop_strings(fdt, path, prop, ...) \
+ ({ int __ret; do { \
+ static const char * const __strs[] = { __VA_ARGS__ }; \
+ __ret = qemu_fdt_setprop_string_array(fdt, path, prop, \
+ (char **)&__strs, ARRAY_SIZE(__strs)); \
+ } while(0); __ret; })
+
+
int qemu_fdt_setprop_phandle(void *fdt, const char *node_path,
const char *property,
const char *target_node_path);
--
2.35.1
- add qemu_fdt_setprop_strings() and use it in most places, Ben Dooks, 2022/07/27
- [PATCH v3 3/5] hw/core: use qemu_fdt_setprop_strings(), Ben Dooks, 2022/07/27
- [PATCH v3 1/5] device_tree: add qemu_fdt_setprop_strings() helper,
Ben Dooks <=
- [PATCH v3 4/5] hw/mips: use qemu_fdt_setprop_strings(), Ben Dooks, 2022/07/27
- [PATCH v3 2/5] hw/riscv: use qemu_fdt_setprop_strings() for string arrays, Ben Dooks, 2022/07/27
- [PATCH v3 5/5] hw/arm: change to use qemu_fdt_setprop_strings(), Ben Dooks, 2022/07/27
- Re: add qemu_fdt_setprop_strings() and use it in most places, Ben Dooks, 2022/07/27