* [U-Boot] [PATCH] fdt: Add function to alloc phandle values
@ 2010-07-09 21:22 Kumar Gala
2010-07-09 21:28 ` Timur Tabi
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Kumar Gala @ 2010-07-09 21:22 UTC (permalink / raw)
To: u-boot
If we are creating reference (handles) to nodes in a device tree we need
to first create a new phandle in node and this needs a new phandle
value. So we search through the whole dtb to find the max phandle value
and return the next greater value for a new phandle allocation.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
---
common/fdt_support.c | 16 ++++++++++++++++
include/fdt_support.h | 1 +
2 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/common/fdt_support.c b/common/fdt_support.c
index 718b635..30c662a 100644
--- a/common/fdt_support.c
+++ b/common/fdt_support.c
@@ -1151,4 +1151,20 @@ int fdt_node_offset_by_compat_reg(void *blob, const char *compat,
return -FDT_ERR_NOTFOUND;
}
+/**
+ * fdt_alloc_phandle: Return next free phandle value
+ *
+ * @blob: ptr to device tree
+ */
+int fdt_alloc_phandle(void *blob)
+{
+ int offset, len, phandle = 0;
+ const u32 *val;
+ for (offset = fdt_next_node(blob, -1, NULL); offset >= 0;
+ offset = fdt_next_node(blob, offset, NULL)) {
+ val = fdt_getprop(blob, offset, "linux,phandle", &len);
+ if (val) phandle = max(*val, phandle);
+ }
+ return phandle + 1;
+}
diff --git a/include/fdt_support.h b/include/fdt_support.h
index 54af9fe..871ef45 100644
--- a/include/fdt_support.h
+++ b/include/fdt_support.h
@@ -86,6 +86,7 @@ void fdt_del_node_and_alias(void *blob, const char *alias);
u64 fdt_translate_address(void *blob, int node_offset, const u32 *in_addr);
int fdt_node_offset_by_compat_reg(void *blob, const char *compat,
phys_addr_t compat_off);
+int fdt_alloc_phandle(void *blob);
#endif /* ifdef CONFIG_OF_LIBFDT */
#endif /* ifndef __FDT_SUPPORT_H */
--
1.6.0.6
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [U-Boot] [PATCH] fdt: Add function to alloc phandle values
2010-07-09 21:22 [U-Boot] [PATCH] fdt: Add function to alloc phandle values Kumar Gala
@ 2010-07-09 21:28 ` Timur Tabi
2010-07-10 11:51 ` Sergei Shtylyov
2010-07-10 13:25 ` [U-Boot] [PATCH v3] " Kumar Gala
2 siblings, 0 replies; 9+ messages in thread
From: Timur Tabi @ 2010-07-09 21:28 UTC (permalink / raw)
To: u-boot
On Fri, Jul 9, 2010 at 4:22 PM, Kumar Gala <galak@kernel.crashing.org> wrote:
> +int fdt_alloc_phandle(void *blob)
> +{
> + ? ? ? int offset, len, phandle = 0;
> + ? ? ? const u32 *val;
> + ? ? ? ?for (offset = fdt_next_node(blob, -1, NULL); offset >= 0;
> + ? ? ? ? ? ? offset = fdt_next_node(blob, offset, NULL)) {
> + ? ? ? ? ? ? ? ?val = fdt_getprop(blob, offset, "linux,phandle", &len);
> + ? ? ? ? ? ? ? if (val) phandle = max(*val, phandle);
> + ? ? ? ?}
>
> + ? ? ? return phandle + 1;
> +}
If you incorporate my patch titled, "libfdt: introduce function
fdt_get_max_phandle", you can simplify this function.
Wolfgang rejected that patch because I didn't include any code that
called fdt_get_max_phandle(). I see you're doing the same thing here
with fdt_alloc_phandle(). It will be interesting to see if Wolfgang
rejects your patch.
--
Timur Tabi
Linux kernel developer at Freescale
^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot] [PATCH] fdt: Add function to alloc phandle values
2010-07-09 21:22 [U-Boot] [PATCH] fdt: Add function to alloc phandle values Kumar Gala
2010-07-09 21:28 ` Timur Tabi
@ 2010-07-10 11:51 ` Sergei Shtylyov
2010-07-10 13:23 ` [U-Boot] [PATCH v2] " Kumar Gala
2010-07-10 13:25 ` [U-Boot] [PATCH v3] " Kumar Gala
2 siblings, 1 reply; 9+ messages in thread
From: Sergei Shtylyov @ 2010-07-10 11:51 UTC (permalink / raw)
To: u-boot
Hello.
Kumar Gala wrote:
> If we are creating reference (handles) to nodes in a device tree we need
> to first create a new phandle in node and this needs a new phandle
> value. So we search through the whole dtb to find the max phandle value
> and return the next greater value for a new phandle allocation.
> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
[...]
> diff --git a/common/fdt_support.c b/common/fdt_support.c
> index 718b635..30c662a 100644
> --- a/common/fdt_support.c
> +++ b/common/fdt_support.c
> @@ -1151,4 +1151,20 @@ int fdt_node_offset_by_compat_reg(void *blob, const char *compat,
> return -FDT_ERR_NOTFOUND;
> }
>
> +/**
> + * fdt_alloc_phandle: Return next free phandle value
> + *
> + * @blob: ptr to device tree
> + */
> +int fdt_alloc_phandle(void *blob)
> +{
> + int offset, len, phandle = 0;
> + const u32 *val;
Shouldn't there be an emoty line after declarations?
> + for (offset = fdt_next_node(blob, -1, NULL); offset >= 0;
> + offset = fdt_next_node(blob, offset, NULL)) {
> + val = fdt_getprop(blob, offset, "linux,phandle", &len);
You indented the above 3 lines with spaces, other with tabs.
> + if (val) phandle = max(*val, phandle);
> + }
Another space-indented line...
WBR, Sergei
^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot] [PATCH v2] fdt: Add function to alloc phandle values
2010-07-10 11:51 ` Sergei Shtylyov
@ 2010-07-10 13:23 ` Kumar Gala
0 siblings, 0 replies; 9+ messages in thread
From: Kumar Gala @ 2010-07-10 13:23 UTC (permalink / raw)
To: u-boot
If we are creating reference (handles) to nodes in a device tree we need
to first create a new phandle in node and this needs a new phandle
value. So we search through the whole dtb to find the max phandle value
and return the next greater value for a new phandle allocation.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
---
* Hopefully fixed white space issues
common/fdt_support.c | 18 ++++++++++++++++++
include/fdt_support.h | 1 +
2 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/common/fdt_support.c b/common/fdt_support.c
index 718b635..65751aa 100644
--- a/common/fdt_support.c
+++ b/common/fdt_support.c
@@ -1151,4 +1151,22 @@ int fdt_node_offset_by_compat_reg(void *blob, const char *compat,
return -FDT_ERR_NOTFOUND;
}
+/**
+ * fdt_alloc_phandle: Return next free phandle value
+ *
+ * @blob: ptr to device tree
+ */
+int fdt_alloc_phandle(void *blob)
+{
+ int offset, len, phandle = 0;
+ const u32 *val;
+ for (offset = fdt_next_node(blob, -1, NULL); offset >= 0;
+ offset = fdt_next_node(blob, offset, NULL)) {
+ val = fdt_getprop(blob, offset, "linux,phandle", &len);
+ if (val)
+ phandle = max(*val, phandle);
+ }
+
+ return phandle + 1;
+}
diff --git a/include/fdt_support.h b/include/fdt_support.h
index 54af9fe..871ef45 100644
--- a/include/fdt_support.h
+++ b/include/fdt_support.h
@@ -86,6 +86,7 @@ void fdt_del_node_and_alias(void *blob, const char *alias);
u64 fdt_translate_address(void *blob, int node_offset, const u32 *in_addr);
int fdt_node_offset_by_compat_reg(void *blob, const char *compat,
phys_addr_t compat_off);
+int fdt_alloc_phandle(void *blob);
#endif /* ifdef CONFIG_OF_LIBFDT */
#endif /* ifndef __FDT_SUPPORT_H */
--
1.6.0.6
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [U-Boot] [PATCH v3] fdt: Add function to alloc phandle values
2010-07-09 21:22 [U-Boot] [PATCH] fdt: Add function to alloc phandle values Kumar Gala
2010-07-09 21:28 ` Timur Tabi
2010-07-10 11:51 ` Sergei Shtylyov
@ 2010-07-10 13:25 ` Kumar Gala
2010-07-10 18:44 ` Timur Tabi
2010-07-18 3:22 ` Jerry Van Baren
2 siblings, 2 replies; 9+ messages in thread
From: Kumar Gala @ 2010-07-10 13:25 UTC (permalink / raw)
To: u-boot
If we are creating reference (handles) to nodes in a device tree we need
to first create a new phandle in node and this needs a new phandle
value. So we search through the whole dtb to find the max phandle value
and return the next greater value for a new phandle allocation.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
---
* Try this whitespace cleanup again
common/fdt_support.c | 18 ++++++++++++++++++
include/fdt_support.h | 1 +
2 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/common/fdt_support.c b/common/fdt_support.c
index 718b635..166f5e1 100644
--- a/common/fdt_support.c
+++ b/common/fdt_support.c
@@ -1151,4 +1151,22 @@ int fdt_node_offset_by_compat_reg(void *blob, const char *compat,
return -FDT_ERR_NOTFOUND;
}
+/**
+ * fdt_alloc_phandle: Return next free phandle value
+ *
+ * @blob: ptr to device tree
+ */
+int fdt_alloc_phandle(void *blob)
+{
+ int offset, len, phandle = 0;
+ const u32 *val;
+
+ for (offset = fdt_next_node(blob, -1, NULL); offset >= 0;
+ offset = fdt_next_node(blob, offset, NULL)) {
+ val = fdt_getprop(blob, offset, "linux,phandle", &len);
+ if (val)
+ phandle = max(*val, phandle);
+ }
+ return phandle + 1;
+}
diff --git a/include/fdt_support.h b/include/fdt_support.h
index 54af9fe..871ef45 100644
--- a/include/fdt_support.h
+++ b/include/fdt_support.h
@@ -86,6 +86,7 @@ void fdt_del_node_and_alias(void *blob, const char *alias);
u64 fdt_translate_address(void *blob, int node_offset, const u32 *in_addr);
int fdt_node_offset_by_compat_reg(void *blob, const char *compat,
phys_addr_t compat_off);
+int fdt_alloc_phandle(void *blob);
#endif /* ifdef CONFIG_OF_LIBFDT */
#endif /* ifndef __FDT_SUPPORT_H */
--
1.6.0.6
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [U-Boot] [PATCH v3] fdt: Add function to alloc phandle values
2010-07-10 13:25 ` [U-Boot] [PATCH v3] " Kumar Gala
@ 2010-07-10 18:44 ` Timur Tabi
2010-07-11 15:04 ` Kumar Gala
2010-07-18 3:22 ` Jerry Van Baren
1 sibling, 1 reply; 9+ messages in thread
From: Timur Tabi @ 2010-07-10 18:44 UTC (permalink / raw)
To: u-boot
On Sat, Jul 10, 2010 at 8:25 AM, Kumar Gala <galak@kernel.crashing.org> wrote:
> If we are creating reference (handles) to nodes in a device tree we need
> to first create a new phandle in node and this needs a new phandle
> value. ?So we search through the whole dtb to find the max phandle value
> and return the next greater value for a new phandle allocation.
>
> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
I still think you should merge my fdt_get_max_phandle() function into
this patch. The two functions are related and can share code.
--
Timur Tabi
Linux kernel developer at Freescale
^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot] [PATCH v3] fdt: Add function to alloc phandle values
2010-07-10 18:44 ` Timur Tabi
@ 2010-07-11 15:04 ` Kumar Gala
0 siblings, 0 replies; 9+ messages in thread
From: Kumar Gala @ 2010-07-11 15:04 UTC (permalink / raw)
To: u-boot
On Jul 10, 2010, at 1:44 PM, Timur Tabi wrote:
> On Sat, Jul 10, 2010 at 8:25 AM, Kumar Gala <galak@kernel.crashing.org> wrote:
>> If we are creating reference (handles) to nodes in a device tree we need
>> to first create a new phandle in node and this needs a new phandle
>> value. So we search through the whole dtb to find the max phandle value
>> and return the next greater value for a new phandle allocation.
>>
>> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
>
> I still think you should merge my fdt_get_max_phandle() function into
> this patch. The two functions are related and can share code.
I'm replacing fdt_get_max_phandle w/fdt_alloc_phandle in our tree's. As what we are doing is allocating a phandle value.
- k
^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot] [PATCH v3] fdt: Add function to alloc phandle values
2010-07-10 13:25 ` [U-Boot] [PATCH v3] " Kumar Gala
2010-07-10 18:44 ` Timur Tabi
@ 2010-07-18 3:22 ` Jerry Van Baren
2010-07-26 18:14 ` Kumar Gala
1 sibling, 1 reply; 9+ messages in thread
From: Jerry Van Baren @ 2010-07-18 3:22 UTC (permalink / raw)
To: u-boot
On 07/10/2010 09:25 AM, Kumar Gala wrote:
> If we are creating reference (handles) to nodes in a device tree we need
> to first create a new phandle in node and this needs a new phandle
> value. So we search through the whole dtb to find the max phandle value
> and return the next greater value for a new phandle allocation.
>
> Signed-off-by: Kumar Gala<galak@kernel.crashing.org>
> ---
> * Try this whitespace cleanup again
>
> common/fdt_support.c | 18 ++++++++++++++++++
> include/fdt_support.h | 1 +
> 2 files changed, 19 insertions(+), 0 deletions(-)
Acked-by: Gerald Van Baren <vanbaren@cideas.com>
Best regards,
gvb
^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot] [PATCH v3] fdt: Add function to alloc phandle values
2010-07-18 3:22 ` Jerry Van Baren
@ 2010-07-26 18:14 ` Kumar Gala
0 siblings, 0 replies; 9+ messages in thread
From: Kumar Gala @ 2010-07-26 18:14 UTC (permalink / raw)
To: u-boot
On Jul 17, 2010, at 10:22 PM, Jerry Van Baren wrote:
> On 07/10/2010 09:25 AM, Kumar Gala wrote:
>> If we are creating reference (handles) to nodes in a device tree we need
>> to first create a new phandle in node and this needs a new phandle
>> value. So we search through the whole dtb to find the max phandle value
>> and return the next greater value for a new phandle allocation.
>>
>> Signed-off-by: Kumar Gala<galak@kernel.crashing.org>
>> ---
>> * Try this whitespace cleanup again
>>
>> common/fdt_support.c | 18 ++++++++++++++++++
>> include/fdt_support.h | 1 +
>> 2 files changed, 19 insertions(+), 0 deletions(-)
>
> Acked-by: Gerald Van Baren <vanbaren@cideas.com>
>
> Best regards,
> gvb
applied to 85xx
- k
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2010-07-26 18:14 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-09 21:22 [U-Boot] [PATCH] fdt: Add function to alloc phandle values Kumar Gala
2010-07-09 21:28 ` Timur Tabi
2010-07-10 11:51 ` Sergei Shtylyov
2010-07-10 13:23 ` [U-Boot] [PATCH v2] " Kumar Gala
2010-07-10 13:25 ` [U-Boot] [PATCH v3] " Kumar Gala
2010-07-10 18:44 ` Timur Tabi
2010-07-11 15:04 ` Kumar Gala
2010-07-18 3:22 ` Jerry Van Baren
2010-07-26 18:14 ` Kumar Gala
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox