* [U-Boot] [PATCH] fdt: fix fdtdec_setup_memory_banksize()
@ 2018-07-13 10:12 Jens Wiklander
2018-07-16 5:20 ` Simon Glass
0 siblings, 1 reply; 7+ messages in thread
From: Jens Wiklander @ 2018-07-13 10:12 UTC (permalink / raw)
To: u-boot
Prior to this patch is fdtdec_setup_memory_banksize() incorrectly
ignoring the "status" field. This patch fixes that by testing the status
with fdtdec_get_is_enabled() before using a memory node.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
---
lib/fdtdec.c | 20 +++++++++++++++-----
1 file changed, 15 insertions(+), 5 deletions(-)
diff --git a/lib/fdtdec.c b/lib/fdtdec.c
index f4e8dbf699a8..14005d71507c 100644
--- a/lib/fdtdec.c
+++ b/lib/fdtdec.c
@@ -1179,13 +1179,25 @@ int fdtdec_setup_memory_size(void)
}
#if defined(CONFIG_NR_DRAM_BANKS)
+
+static int get_next_memory_node(const void *blob, int startoffset)
+{
+ int mem = -1;
+
+ do {
+ mem = fdt_node_offset_by_prop_value(gd->fdt_blob, mem,
+ "device_type", "memory", 7);
+ } while (!fdtdec_get_is_enabled(blob, mem));
+
+ return mem;
+}
+
int fdtdec_setup_memory_banksize(void)
{
int bank, ret, mem, reg = 0;
struct fdt_resource res;
- mem = fdt_node_offset_by_prop_value(gd->fdt_blob, -1, "device_type",
- "memory", 7);
+ mem = get_next_memory_node(gd->fdt_blob, -1);
if (mem < 0) {
debug("%s: Missing /memory node\n", __func__);
return -EINVAL;
@@ -1195,9 +1207,7 @@ int fdtdec_setup_memory_banksize(void)
ret = fdt_get_resource(gd->fdt_blob, mem, "reg", reg++, &res);
if (ret == -FDT_ERR_NOTFOUND) {
reg = 0;
- mem = fdt_node_offset_by_prop_value(gd->fdt_blob, mem,
- "device_type",
- "memory", 7);
+ mem = get_next_memory_node(gd->fdt_blob, mem);
if (mem == -FDT_ERR_NOTFOUND)
break;
--
2.17.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [U-Boot] [PATCH] fdt: fix fdtdec_setup_memory_banksize()
2018-07-13 10:12 [U-Boot] [PATCH] fdt: fix fdtdec_setup_memory_banksize() Jens Wiklander
@ 2018-07-16 5:20 ` Simon Glass
2018-07-17 15:42 ` Jens Wiklander
0 siblings, 1 reply; 7+ messages in thread
From: Simon Glass @ 2018-07-16 5:20 UTC (permalink / raw)
To: u-boot
On 13 July 2018 at 04:12, Jens Wiklander <jens.wiklander@linaro.org> wrote:
> Prior to this patch is fdtdec_setup_memory_banksize() incorrectly
> ignoring the "status" field. This patch fixes that by testing the status
> with fdtdec_get_is_enabled() before using a memory node.
>
> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> ---
> lib/fdtdec.c | 20 +++++++++++++++-----
> 1 file changed, 15 insertions(+), 5 deletions(-)
Reviewed-by: Simon Glass <sjg@chromium.org>
But can you convert this to livetree at the same time? E.g. use ofnode
functions.
Regards,
Simon
^ permalink raw reply [flat|nested] 7+ messages in thread
* [U-Boot] [PATCH] fdt: fix fdtdec_setup_memory_banksize()
2018-07-16 5:20 ` Simon Glass
@ 2018-07-17 15:42 ` Jens Wiklander
2018-07-19 1:32 ` Simon Glass
0 siblings, 1 reply; 7+ messages in thread
From: Jens Wiklander @ 2018-07-17 15:42 UTC (permalink / raw)
To: u-boot
On Sun, Jul 15, 2018 at 11:20:39PM -0600, Simon Glass wrote:
> On 13 July 2018 at 04:12, Jens Wiklander <jens.wiklander@linaro.org> wrote:
> > Prior to this patch is fdtdec_setup_memory_banksize() incorrectly
> > ignoring the "status" field. This patch fixes that by testing the status
> > with fdtdec_get_is_enabled() before using a memory node.
> >
> > Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> > ---
> > lib/fdtdec.c | 20 +++++++++++++++-----
> > 1 file changed, 15 insertions(+), 5 deletions(-)
>
> Reviewed-by: Simon Glass <sjg@chromium.org>
>
> But can you convert this to livetree at the same time? E.g. use ofnode
> functions.
I can try, but the ofnode concept is new to me.
This patch is based on the fdt_node_offset_by_prop_value() function. I
can't find any such ofnode function or any other suitable helper
function. Perhaps I'm missing something, or should I add an
ofnode_by_prop_value() function (similar to ofnode_by_compatible())?
Please advice.
Thanks,
Jens
^ permalink raw reply [flat|nested] 7+ messages in thread
* [U-Boot] [PATCH] fdt: fix fdtdec_setup_memory_banksize()
2018-07-17 15:42 ` Jens Wiklander
@ 2018-07-19 1:32 ` Simon Glass
2018-07-19 15:49 ` Jens Wiklander
0 siblings, 1 reply; 7+ messages in thread
From: Simon Glass @ 2018-07-19 1:32 UTC (permalink / raw)
To: u-boot
Hi Jens,
On 17 July 2018 at 09:42, Jens Wiklander <jens.wiklander@linaro.org> wrote:
> On Sun, Jul 15, 2018 at 11:20:39PM -0600, Simon Glass wrote:
>> On 13 July 2018 at 04:12, Jens Wiklander <jens.wiklander@linaro.org> wrote:
>> > Prior to this patch is fdtdec_setup_memory_banksize() incorrectly
>> > ignoring the "status" field. This patch fixes that by testing the status
>> > with fdtdec_get_is_enabled() before using a memory node.
>> >
>> > Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
>> > ---
>> > lib/fdtdec.c | 20 +++++++++++++++-----
>> > 1 file changed, 15 insertions(+), 5 deletions(-)
>>
>> Reviewed-by: Simon Glass <sjg@chromium.org>
>>
>> But can you convert this to livetree at the same time? E.g. use ofnode
>> functions.
>
> I can try, but the ofnode concept is new to me.
>
> This patch is based on the fdt_node_offset_by_prop_value() function. I
> can't find any such ofnode function or any other suitable helper
> function. Perhaps I'm missing something, or should I add an
> ofnode_by_prop_value() function (similar to ofnode_by_compatible())?
>
> Please advice.
advise :-)
Yes, you could add that function. Sorry it doesn't already exists.
Regards,
Simon
^ permalink raw reply [flat|nested] 7+ messages in thread
* [U-Boot] [PATCH] fdt: fix fdtdec_setup_memory_banksize()
2018-07-19 1:32 ` Simon Glass
@ 2018-07-19 15:49 ` Jens Wiklander
2018-07-20 2:17 ` Simon Glass
0 siblings, 1 reply; 7+ messages in thread
From: Jens Wiklander @ 2018-07-19 15:49 UTC (permalink / raw)
To: u-boot
On Thu, Jul 19, 2018 at 3:32 AM, Simon Glass <sjg@chromium.org> wrote:
> Hi Jens,
>
> On 17 July 2018 at 09:42, Jens Wiklander <jens.wiklander@linaro.org> wrote:
>> On Sun, Jul 15, 2018 at 11:20:39PM -0600, Simon Glass wrote:
>>> On 13 July 2018 at 04:12, Jens Wiklander <jens.wiklander@linaro.org> wrote:
>>> > Prior to this patch is fdtdec_setup_memory_banksize() incorrectly
>>> > ignoring the "status" field. This patch fixes that by testing the status
>>> > with fdtdec_get_is_enabled() before using a memory node.
>>> >
>>> > Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
>>> > ---
>>> > lib/fdtdec.c | 20 +++++++++++++++-----
>>> > 1 file changed, 15 insertions(+), 5 deletions(-)
>>>
>>> Reviewed-by: Simon Glass <sjg@chromium.org>
>>>
>>> But can you convert this to livetree at the same time? E.g. use ofnode
>>> functions.
>>
>> I can try, but the ofnode concept is new to me.
>>
>> This patch is based on the fdt_node_offset_by_prop_value() function. I
>> can't find any such ofnode function or any other suitable helper
>> function. Perhaps I'm missing something, or should I add an
>> ofnode_by_prop_value() function (similar to ofnode_by_compatible())?
>>
>> Please advice.
>
> advise :-)
>
> Yes, you could add that function. Sorry it doesn't already exists.
I'll give it a shot after my vacation. In the meantime can we take this patch or
would you rather wait for the livetree version?
Thanks,
Jens
^ permalink raw reply [flat|nested] 7+ messages in thread
* [U-Boot] [PATCH] fdt: fix fdtdec_setup_memory_banksize()
2018-07-19 15:49 ` Jens Wiklander
@ 2018-07-20 2:17 ` Simon Glass
2018-07-27 0:36 ` Simon Glass
0 siblings, 1 reply; 7+ messages in thread
From: Simon Glass @ 2018-07-20 2:17 UTC (permalink / raw)
To: u-boot
Hi Jens,
On 19 July 2018 at 09:49, Jens Wiklander <jens.wiklander@linaro.org> wrote:
> On Thu, Jul 19, 2018 at 3:32 AM, Simon Glass <sjg@chromium.org> wrote:
>> Hi Jens,
>>
>> On 17 July 2018 at 09:42, Jens Wiklander <jens.wiklander@linaro.org> wrote:
>>> On Sun, Jul 15, 2018 at 11:20:39PM -0600, Simon Glass wrote:
>>>> On 13 July 2018 at 04:12, Jens Wiklander <jens.wiklander@linaro.org> wrote:
>>>> > Prior to this patch is fdtdec_setup_memory_banksize() incorrectly
>>>> > ignoring the "status" field. This patch fixes that by testing the status
>>>> > with fdtdec_get_is_enabled() before using a memory node.
>>>> >
>>>> > Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
>>>> > ---
>>>> > lib/fdtdec.c | 20 +++++++++++++++-----
>>>> > 1 file changed, 15 insertions(+), 5 deletions(-)
>>>>
>>>> Reviewed-by: Simon Glass <sjg@chromium.org>
>>>>
>>>> But can you convert this to livetree at the same time? E.g. use ofnode
>>>> functions.
>>>
>>> I can try, but the ofnode concept is new to me.
>>>
>>> This patch is based on the fdt_node_offset_by_prop_value() function. I
>>> can't find any such ofnode function or any other suitable helper
>>> function. Perhaps I'm missing something, or should I add an
>>> ofnode_by_prop_value() function (similar to ofnode_by_compatible())?
>>>
>>> Please advice.
>>
>> advise :-)
>>
>> Yes, you could add that function. Sorry it doesn't already exists.
>
> I'll give it a shot after my vacation. In the meantime can we take this patch or
> would you rather wait for the livetree version?
We can take it.
Regards,
Simon
^ permalink raw reply [flat|nested] 7+ messages in thread
* [U-Boot] [PATCH] fdt: fix fdtdec_setup_memory_banksize()
2018-07-20 2:17 ` Simon Glass
@ 2018-07-27 0:36 ` Simon Glass
0 siblings, 0 replies; 7+ messages in thread
From: Simon Glass @ 2018-07-27 0:36 UTC (permalink / raw)
To: u-boot
On 19 July 2018 at 20:17, Simon Glass <sjg@chromium.org> wrote:
> Hi Jens,
>
> On 19 July 2018 at 09:49, Jens Wiklander <jens.wiklander@linaro.org> wrote:
>> On Thu, Jul 19, 2018 at 3:32 AM, Simon Glass <sjg@chromium.org> wrote:
>>> Hi Jens,
>>>
>>> On 17 July 2018 at 09:42, Jens Wiklander <jens.wiklander@linaro.org> wrote:
>>>> On Sun, Jul 15, 2018 at 11:20:39PM -0600, Simon Glass wrote:
>>>>> On 13 July 2018 at 04:12, Jens Wiklander <jens.wiklander@linaro.org> wrote:
>>>>> > Prior to this patch is fdtdec_setup_memory_banksize() incorrectly
>>>>> > ignoring the "status" field. This patch fixes that by testing the status
>>>>> > with fdtdec_get_is_enabled() before using a memory node.
>>>>> >
>>>>> > Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
>>>>> > ---
>>>>> > lib/fdtdec.c | 20 +++++++++++++++-----
>>>>> > 1 file changed, 15 insertions(+), 5 deletions(-)
>>>>>
>>>>> Reviewed-by: Simon Glass <sjg@chromium.org>
>>>>>
>>>>> But can you convert this to livetree at the same time? E.g. use ofnode
>>>>> functions.
>>>>
>>>> I can try, but the ofnode concept is new to me.
>>>>
>>>> This patch is based on the fdt_node_offset_by_prop_value() function. I
>>>> can't find any such ofnode function or any other suitable helper
>>>> function. Perhaps I'm missing something, or should I add an
>>>> ofnode_by_prop_value() function (similar to ofnode_by_compatible())?
>>>>
>>>> Please advice.
>>>
>>> advise :-)
>>>
>>> Yes, you could add that function. Sorry it doesn't already exists.
>>
>> I'll give it a shot after my vacation. In the meantime can we take this patch or
>> would you rather wait for the livetree version?
>
> We can take it.
Applied to u-boot-dm, thanks!
Please send the follow up when you can.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2018-07-27 0:36 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-13 10:12 [U-Boot] [PATCH] fdt: fix fdtdec_setup_memory_banksize() Jens Wiklander
2018-07-16 5:20 ` Simon Glass
2018-07-17 15:42 ` Jens Wiklander
2018-07-19 1:32 ` Simon Glass
2018-07-19 15:49 ` Jens Wiklander
2018-07-20 2:17 ` Simon Glass
2018-07-27 0:36 ` Simon Glass
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.