[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [Qemu-devel] [PATCH 02/31] dt: add helpers for 2, 3 and 4
From: |
Peter Crosthwaite |
Subject: |
Re: [Qemu-ppc] [Qemu-devel] [PATCH 02/31] dt: add helpers for 2, 3 and 4 cell adds |
Date: |
Wed, 06 Jun 2012 15:01:07 +1000 |
On Wed, 2012-06-06 at 01:52 +0200, Alexander Graf wrote:
> We have device tree helpers that allow us to create single cell (u32)
> wide properties. However, when creating properties that contain an array of
> cells, we need to jump through hoops, manually passing in an array with
> converted endianness.
>
> To ease the pain of this a bit, create helpers for the most common array
> sizes, namely 2, 3 and 4 cells wide properties.
>
> Signed-off-by: Alexander Graf <address@hidden>
> ---
> device_tree.c | 30 ++++++++++++++++++++++++++++++
> device_tree.h | 9 +++++++++
> 2 files changed, 39 insertions(+), 0 deletions(-)
>
> diff --git a/device_tree.c b/device_tree.c
> index 94a239e..b1dff4f 100644
> --- a/device_tree.c
> +++ b/device_tree.c
> @@ -117,6 +117,36 @@ int qemu_devtree_setprop_cell(void *fdt, const char
> *node_path,
> return r;
> }
>
> +int qemu_devtree_setprop_cell2(void *fdt, const char *node_path,
> + const char *property, uint32_t val,
> + uint32_t val2)
> +{
> + uint32_t tmp[] = { cpu_to_be32(val),
> + cpu_to_be32(val2) };
> + return qemu_devtree_setprop(fdt, node_path, property, tmp, sizeof(tmp));
> +}
> +
> +int qemu_devtree_setprop_cell3(void *fdt, const char *node_path,
> + const char *property, uint32_t val,
> + uint32_t val2, uint32_t val3)
> +{
> + uint32_t tmp[] = { cpu_to_be32(val),
> + cpu_to_be32(val2),
> + cpu_to_be32(val3) };
> + return qemu_devtree_setprop(fdt, node_path, property, tmp, sizeof(tmp));
> +}
> +
> +int qemu_devtree_setprop_cell4(void *fdt, const char *node_path,
> + const char *property, uint32_t val,
> + uint32_t val2, uint32_t val3, uint32_t val4)
> +{
> + uint32_t tmp[] = { cpu_to_be32(val),
> + cpu_to_be32(val2),
> + cpu_to_be32(val3),
> + cpu_to_be32(val4) };
> + return qemu_devtree_setprop(fdt, node_path, property, tmp, sizeof(tmp));
> +}
> +
Cant this be generalised to the n case rather than having functional
replication for 2/3/4 word props?
+int qemu_devtree_setprop_celln(void *fdt, const char *node_path,
+ const char *property, uint32_t *vals, int n)
> int qemu_devtree_setprop_string(void *fdt, const char *node_path,
> const char *property, const char *string)
> {
> diff --git a/device_tree.h b/device_tree.h
> index 4378685..9db7f86 100644
> --- a/device_tree.h
> +++ b/device_tree.h
> @@ -20,6 +20,15 @@ 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_cell2(void *fdt, const char *node_path,
> + const char *property, uint32_t val,
> + uint32_t val2);
> +int qemu_devtree_setprop_cell3(void *fdt, const char *node_path,
> + const char *property, uint32_t val,
> + uint32_t val2, uint32_t val3);
> +int qemu_devtree_setprop_cell4(void *fdt, const char *node_path,
> + const char *property, uint32_t val,
> + uint32_t val2, uint32_t val3, uint32_t val4);
> int qemu_devtree_setprop_string(void *fdt, const char *node_path,
> const char *property, const char *string);
> int qemu_devtree_nop_node(void *fdt, const char *node_path);
- [Qemu-ppc] [PATCH 00/31] PPC: mpc8544ds: Create device tree dynamically, Alexander Graf, 2012/06/05
- [Qemu-ppc] [PATCH 12/31] PPC: e500: dt: create /hypervisor node dynamically, Alexander Graf, 2012/06/05
- [Qemu-ppc] [PATCH 13/31] PPC: e500: dt: create / node dynamically, Alexander Graf, 2012/06/05
- [Qemu-ppc] [PATCH 17/31] PPC: e500: dt: create mpic node dynamically, Alexander Graf, 2012/06/05
- [Qemu-ppc] [PATCH 10/31] PPC: e500: dt: create memory node dynamically, Alexander Graf, 2012/06/05
- [Qemu-ppc] [PATCH 20/31] PPC: e500: dt: start with empty device tree, Alexander Graf, 2012/06/05
- [Qemu-ppc] [PATCH 25/31] Revert "dt: temporarily disable subtree creation failure check", Alexander Graf, 2012/06/05
- [Qemu-ppc] [PATCH 02/31] dt: add helpers for 2, 3 and 4 cell adds, Alexander Graf, 2012/06/05
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 02/31] dt: add helpers for 2, 3 and 4 cell adds,
Peter Crosthwaite <=
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 02/31] dt: add helpers for 2, 3 and 4 cell adds, Alexander Graf, 2012/06/06
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 02/31] dt: add helpers for 2, 3 and 4 cell adds, Scott Wood, 2012/06/06
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 02/31] dt: add helpers for 2, 3 and 4 cell adds, David Gibson, 2012/06/06
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 02/31] dt: add helpers for 2, 3 and 4 cell adds, Alexander Graf, 2012/06/07
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 02/31] dt: add helpers for 2, 3 and 4 cell adds, David Gibson, 2012/06/07
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 02/31] dt: add helpers for 2, 3 and 4 cell adds, Alexander Graf, 2012/06/08
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 02/31] dt: add helpers for 2, 3 and 4 cell adds, David Gibson, 2012/06/08
[Qemu-ppc] [PATCH 18/31] PPC: e500: dt: create global-utils node dynamically, Alexander Graf, 2012/06/05
[Qemu-ppc] [PATCH 21/31] dt: Add -machine dumpdtb option to dump the current dtb, Alexander Graf, 2012/06/05
[Qemu-ppc] [PATCH 31/31] PPC: e500: Refactor serial dt generation, Alexander Graf, 2012/06/05