summaryrefslogtreecommitdiff
path: root/drivers/core/ofnode.c
diff options
context:
space:
mode:
authorSimon Glass <[email protected]>2023-09-26 08:14:45 -0600
committerTom Rini <[email protected]>2023-10-06 14:38:13 -0400
commit7071c82bdc55ed5d7955d8e1682b7c80af5659b5 (patch)
tree24e8c3bd7ca4fe80759f30dd3ea37b8af512bee4 /drivers/core/ofnode.c
parentd9216c8683fced4cbf6d437b4357c9368bf1bf86 (diff)
dm: core: Support writing a 64-bit value
Add support for writing a single 64-bit value into a property. Repurpose the existing tests to handle this case too. Signed-off-by: Simon Glass <[email protected]>
Diffstat (limited to 'drivers/core/ofnode.c')
-rw-r--r--drivers/core/ofnode.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c
index 4dcb3dd1c03..18d2eb0f118 100644
--- a/drivers/core/ofnode.c
+++ b/drivers/core/ofnode.c
@@ -1621,7 +1621,22 @@ int ofnode_write_u32(ofnode node, const char *propname, u32 value)
return -ENOMEM;
*val = cpu_to_fdt32(value);
- return ofnode_write_prop(node, propname, val, sizeof(value), false);
+ return ofnode_write_prop(node, propname, val, sizeof(value), true);
+}
+
+int ofnode_write_u64(ofnode node, const char *propname, u64 value)
+{
+ fdt64_t *val;
+
+ assert(ofnode_valid(node));
+
+ log_debug("%s = %llx", propname, (unsigned long long)value);
+ val = malloc(sizeof(*val));
+ if (!val)
+ return -ENOMEM;
+ *val = cpu_to_fdt64(value);
+
+ return ofnode_write_prop(node, propname, val, sizeof(value), true);
}
int ofnode_write_bool(ofnode node, const char *propname, bool value)