[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: |
Scott Wood |
Subject: |
Re: [Qemu-ppc] [Qemu-devel] [PATCH 02/31] dt: add helpers for 2, 3 and 4 cell adds |
Date: |
Wed, 6 Jun 2012 16:52:57 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120430 Thunderbird/12.0.1 |
On 06/06/2012 10:55 AM, Alexander Graf wrote:
> On 06/06/2012 07:01 AM, Peter Crosthwaite wrote:
>> 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));
>>> +}
>From the subject line I was expecting these to add multi-cell numbers
together (e.g. for ranges parsing).
>>> +
>>> +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)
>
> You mean internally? Yeah, probably. Externally? The point of these
> helpers is to make the code look less cluttered. We can already pass in
> an array just fine, but C is quite annoying about generating those on
> the fly, while it's easy to pass in ints as parameters :)
Varargs?
-Scott
- [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, 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/06
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 02/31] dt: add helpers for 2, 3 and 4 cell adds,
Scott Wood <=
- 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
[Qemu-ppc] [PATCH 05/31] dt: add helper for phandle enumeration, Alexander Graf, 2012/06/05