Message ID | 1338940402-28502-9-git-send-email-agraf@suse.de |
---|---|
State | New |
Headers | show |
On Wed, 2012-06-06 at 01:52 +0200, Alexander Graf wrote: > Some times in the device tree, we find an array of 2 u32 cells that > really are a single u64 value. This patch adds a helper to make the > creation of these easy. > > Signed-off-by: Alexander Graf <agraf@suse.de> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@petalogix.com> > --- > > v1 -> v2: > > - rename cell64 -> u64 > --- > device_tree.c | 7 +++++++ > device_tree.h | 2 ++ > 2 files changed, 9 insertions(+), 0 deletions(-) > > diff --git a/device_tree.c b/device_tree.c > index 317bdd0..644d766 100644 > --- a/device_tree.c > +++ b/device_tree.c > @@ -154,6 +154,13 @@ int qemu_devtree_setprop_cell(void *fdt, const char *node_path, > return r; > } > > +int qemu_devtree_setprop_u64(void *fdt, const char *node_path, > + const char *property, uint64_t val) > +{ > + val = cpu_to_be64(val); > + return qemu_devtree_setprop(fdt, node_path, property, &val, sizeof(val)); > +} > + > int qemu_devtree_setprop_cell2(void *fdt, const char *node_path, > const char *property, uint32_t val, > uint32_t val2) > diff --git a/device_tree.h b/device_tree.h > index f37a4da..39dd259 100644 > --- a/device_tree.h > +++ b/device_tree.h > @@ -21,6 +21,8 @@ int qemu_devtree_setprop(void *fdt, const char *node_path, > const char *property, void *val_array, int size); > int qemu_devtree_setprop_cell(void *fdt, const char *node_path, > const char *property, uint32_t val); > +int qemu_devtree_setprop_u64(void *fdt, const char *node_path, > + const char *property, uint64_t val); > int qemu_devtree_setprop_cell2(void *fdt, const char *node_path, > const char *property, uint32_t val, > uint32_t val2);
diff --git a/device_tree.c b/device_tree.c index 317bdd0..644d766 100644 --- a/device_tree.c +++ b/device_tree.c @@ -154,6 +154,13 @@ int qemu_devtree_setprop_cell(void *fdt, const char *node_path, return r; } +int qemu_devtree_setprop_u64(void *fdt, const char *node_path, + const char *property, uint64_t val) +{ + val = cpu_to_be64(val); + return qemu_devtree_setprop(fdt, node_path, property, &val, sizeof(val)); +} + int qemu_devtree_setprop_cell2(void *fdt, const char *node_path, const char *property, uint32_t val, uint32_t val2) diff --git a/device_tree.h b/device_tree.h index f37a4da..39dd259 100644 --- a/device_tree.h +++ b/device_tree.h @@ -21,6 +21,8 @@ int qemu_devtree_setprop(void *fdt, const char *node_path, const char *property, void *val_array, int size); int qemu_devtree_setprop_cell(void *fdt, const char *node_path, const char *property, uint32_t val); +int qemu_devtree_setprop_u64(void *fdt, const char *node_path, + const char *property, uint64_t val); int qemu_devtree_setprop_cell2(void *fdt, const char *node_path, const char *property, uint32_t val, uint32_t val2);
Some times in the device tree, we find an array of 2 u32 cells that really are a single u64 value. This patch adds a helper to make the creation of these easy. Signed-off-by: Alexander Graf <agraf@suse.de> --- v1 -> v2: - rename cell64 -> u64 --- device_tree.c | 7 +++++++ device_tree.h | 2 ++ 2 files changed, 9 insertions(+), 0 deletions(-)