[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 07/31] dt: add helper for phandle allocation
From: |
Scott Wood |
Subject: |
Re: [Qemu-devel] [PATCH 07/31] dt: add helper for phandle allocation |
Date: |
Wed, 6 Jun 2012 11:55:36 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120430 Thunderbird/12.0.1 |
On 06/06/2012 11:00 AM, Alexander Graf wrote:
> On 06/06/2012 07:18 AM, Peter Crosthwaite wrote:
>> On Wed, 2012-06-06 at 01:52 +0200, Alexander Graf wrote:
>>> Phandle references work by having 2 pieces:
>>>
>>> - a "phandle" 1-cell property in the device tree node
>>> - a reference to the same value in a property we want to point
>>> to the other node
>>>
>>> To generate the 1-cell property, we need an allocation mechanism that
>>> gives us a unique number space. This patch adds an allocator for these
>>> properties.
>>>
>>> Signed-off-by: Alexander Graf<address@hidden>
>>> ---
>>> device_tree.c | 7 +++++++
>>> device_tree.h | 1 +
>>> 2 files changed, 8 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/device_tree.c b/device_tree.c
>>> index d4f1f0a..317bdd0 100644
>>> --- a/device_tree.c
>>> +++ b/device_tree.c
>>> @@ -220,6 +220,13 @@ int qemu_devtree_setprop_phandle(void *fdt,
>>> const char *node_path,
>>> return qemu_devtree_setprop_cell(fdt, node_path, property,
>>> phandle);
>>> }
>>>
>>> +uint32_t qemu_devtree_alloc_phandle(void *fdt)
>>> +{
>>> + static int phandle = 0x8000;
>> can easily double check for duplicates. Would also allow you to start
>> from 1 rather than magic number 0x8000?
You can't check for duplicates, because the tree fragments you'll be
conflicting with haven't been added to the tree yet. That's done by a
tool operating on the tree output by the first pass of qemu, and is fed
back into the second pass of qemu.
-Scott
[Qemu-devel] [PATCH 12/31] PPC: e500: dt: create /hypervisor node dynamically, Alexander Graf, 2012/06/05
[Qemu-devel] [PATCH 10/31] PPC: e500: dt: create memory node dynamically, Alexander Graf, 2012/06/05
[Qemu-devel] [PATCH 11/31] PPC: e500: dt: create /cpus node dynamically, Alexander Graf, 2012/06/05
[Qemu-devel] [PATCH 13/31] PPC: e500: dt: create / node dynamically, Alexander Graf, 2012/06/05
[Qemu-devel] [PATCH 15/31] PPC: e500: dt: create /soc8544 node dynamically, Alexander Graf, 2012/06/05
[Qemu-devel] [PATCH 16/31] PPC: e500: dt: create serial nodes dynamically, Alexander Graf, 2012/06/05
[Qemu-devel] [PATCH 17/31] PPC: e500: dt: create mpic node dynamically, Alexander Graf, 2012/06/05
[Qemu-devel] [PATCH 19/31] PPC: e500: dt: create pci node dynamically, Alexander Graf, 2012/06/05