diff mbox series

[U-Boot,v2,1/4] libfdt: fdt_address_cells() and fdt_size_cells()

Message ID 20190905084849.20596-2-matthias.bgg@kernel.org
State Accepted
Commit ce2dae3a44ccc2fe87a9589e3a70ba51885930ab
Delegated to: Simon Glass
Headers show
Series Fix default values for address and size cells | expand

Commit Message

Matthias Brugger Sept. 5, 2019, 8:48 a.m. UTC
From: Matthias Brugger <mbrugger@suse.com>

Add internal fdt_cells() to avoid copy and paste. Fix typo in
fdt_size_cells() documentation comment.

This is based in upstream commit:
c12b2b0 ("libfdt: fdt_address_cells() and fdt_size_cells()")
but misses the test cases, as we don't implement them in U-Boot.

Signed-off-by: Matthias Brugger <mbrugger@suse.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
---

 scripts/dtc/libfdt/fdt_addresses.c | 35 +++++++++++-------------------
 scripts/dtc/libfdt/libfdt.h        |  2 +-
 2 files changed, 14 insertions(+), 23 deletions(-)

Comments

Simon Glass Sept. 27, 2019, 11:28 p.m. UTC | #1
From: Matthias Brugger <mbrugger@suse.com>

Add internal fdt_cells() to avoid copy and paste. Fix typo in
fdt_size_cells() documentation comment.

This is based in upstream commit:
c12b2b0 ("libfdt: fdt_address_cells() and fdt_size_cells()")
but misses the test cases, as we don't implement them in U-Boot.

Signed-off-by: Matthias Brugger <mbrugger@suse.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
---

 scripts/dtc/libfdt/fdt_addresses.c | 35 +++++++++++-------------------
 scripts/dtc/libfdt/libfdt.h        |  2 +-
 2 files changed, 14 insertions(+), 23 deletions(-)

Applied to u-boot-dm/next, thanks!
Matthias Brugger Oct. 7, 2019, 1:31 p.m. UTC | #2
Hi Simon,

On 28/09/2019 01:28, sjg@google.com wrote:
> From: Matthias Brugger <mbrugger@suse.com>
> 
> Add internal fdt_cells() to avoid copy and paste. Fix typo in
> fdt_size_cells() documentation comment.
> 
> This is based in upstream commit:
> c12b2b0 ("libfdt: fdt_address_cells() and fdt_size_cells()")
> but misses the test cases, as we don't implement them in U-Boot.
> 
> Signed-off-by: Matthias Brugger <mbrugger@suse.com>
> Reviewed-by: Simon Glass <sjg@chromium.org>
> ---
> 
>  scripts/dtc/libfdt/fdt_addresses.c | 35 +++++++++++-------------------
>  scripts/dtc/libfdt/libfdt.h        |  2 +-
>  2 files changed, 14 insertions(+), 23 deletions(-)
> 
> Applied to u-boot-dm/next, thanks!

I just looked through the upstream U-Boot commit log and don't see them queued
for 2019.10-rc5
Do I understand correctly that you are planning to merge them after 2019.10 is
released. Correct?

I'm asking because without these patches the grub boot path for RPi4 with RAM >
1GB is 'broken', in the sense that the kernel will only see RAM size of 1GB.

I can keep them as backports in openSUSE, that's no problem, just wanted to know
what's your plan. And have a quick answer if someone asks on the mailinglist :)

Regards,
Matthias
Simon Glass Oct. 11, 2019, 6:28 p.m. UTC | #3
Hi Matthias,

On Mon, 7 Oct 2019 at 07:31, Matthias Brugger <mbrugger@suse.com> wrote:
>
> Hi Simon,
>
> On 28/09/2019 01:28, sjg@google.com wrote:
> > From: Matthias Brugger <mbrugger@suse.com>
> >
> > Add internal fdt_cells() to avoid copy and paste. Fix typo in
> > fdt_size_cells() documentation comment.
> >
> > This is based in upstream commit:
> > c12b2b0 ("libfdt: fdt_address_cells() and fdt_size_cells()")
> > but misses the test cases, as we don't implement them in U-Boot.
> >
> > Signed-off-by: Matthias Brugger <mbrugger@suse.com>
> > Reviewed-by: Simon Glass <sjg@chromium.org>
> > ---
> >
> >  scripts/dtc/libfdt/fdt_addresses.c | 35 +++++++++++-------------------
> >  scripts/dtc/libfdt/libfdt.h        |  2 +-
> >  2 files changed, 14 insertions(+), 23 deletions(-)
> >
> > Applied to u-boot-dm/next, thanks!
>
> I just looked through the upstream U-Boot commit log and don't see them queued
> for 2019.10-rc5
> Do I understand correctly that you are planning to merge them after 2019.10 is
> released. Correct?
>
> I'm asking because without these patches the grub boot path for RPi4 with RAM >
> 1GB is 'broken', in the sense that the kernel will only see RAM size of 1GB.
>
> I can keep them as backports in openSUSE, that's no problem, just wanted to know
> what's your plan. And have a quick answer if someone asks on the mailinglist :)
>

Yes that's right. Should get these applied next week.

Regards,
Simon
Matthias Brugger Oct. 11, 2019, 6:50 p.m. UTC | #4
On 11/10/2019 20:28, Simon Glass wrote:
> Hi Matthias,
> 
> On Mon, 7 Oct 2019 at 07:31, Matthias Brugger <mbrugger@suse.com> wrote:
>>
>> Hi Simon,
>>
>> On 28/09/2019 01:28, sjg@google.com wrote:
>>> From: Matthias Brugger <mbrugger@suse.com>
>>>
>>> Add internal fdt_cells() to avoid copy and paste. Fix typo in
>>> fdt_size_cells() documentation comment.
>>>
>>> This is based in upstream commit:
>>> c12b2b0 ("libfdt: fdt_address_cells() and fdt_size_cells()")
>>> but misses the test cases, as we don't implement them in U-Boot.
>>>
>>> Signed-off-by: Matthias Brugger <mbrugger@suse.com>
>>> Reviewed-by: Simon Glass <sjg@chromium.org>
>>> ---
>>>
>>>  scripts/dtc/libfdt/fdt_addresses.c | 35 +++++++++++-------------------
>>>  scripts/dtc/libfdt/libfdt.h        |  2 +-
>>>  2 files changed, 14 insertions(+), 23 deletions(-)
>>>
>>> Applied to u-boot-dm/next, thanks!
>>
>> I just looked through the upstream U-Boot commit log and don't see them queued
>> for 2019.10-rc5
>> Do I understand correctly that you are planning to merge them after 2019.10 is
>> released. Correct?
>>
>> I'm asking because without these patches the grub boot path for RPi4 with RAM >
>> 1GB is 'broken', in the sense that the kernel will only see RAM size of 1GB.
>>
>> I can keep them as backports in openSUSE, that's no problem, just wanted to know
>> what's your plan. And have a quick answer if someone asks on the mailinglist :)
>>
> 
> Yes that's right. Should get these applied next week.
> 

Ok, thanks for the info :)
diff mbox series

Patch

diff --git a/scripts/dtc/libfdt/fdt_addresses.c b/scripts/dtc/libfdt/fdt_addresses.c
index eff4dbcc72..49537b578d 100644
--- a/scripts/dtc/libfdt/fdt_addresses.c
+++ b/scripts/dtc/libfdt/fdt_addresses.c
@@ -1,6 +1,7 @@ 
 /*
  * libfdt - Flat Device Tree manipulation
  * Copyright (C) 2014 David Gibson <david@gibson.dropbear.id.au>
+ * Copyright (C) 2018 embedded brains GmbH
  *
  * libfdt is dual licensed: you can use it either under the terms of
  * the GPL, or the BSD license, at your option.
@@ -55,42 +56,32 @@ 
 
 #include "libfdt_internal.h"
 
-int fdt_address_cells(const void *fdt, int nodeoffset)
+static int fdt_cells(const void *fdt, int nodeoffset, const char *name)
 {
-	const fdt32_t *ac;
+	const fdt32_t *c;
 	int val;
 	int len;
 
-	ac = fdt_getprop(fdt, nodeoffset, "#address-cells", &len);
-	if (!ac)
+	c = fdt_getprop(fdt, nodeoffset, name, &len);
+	if (!c)
 		return 2;
 
-	if (len != sizeof(*ac))
+	if (len != sizeof(*c))
 		return -FDT_ERR_BADNCELLS;
 
-	val = fdt32_to_cpu(*ac);
+	val = fdt32_to_cpu(*c);
 	if ((val <= 0) || (val > FDT_MAX_NCELLS))
 		return -FDT_ERR_BADNCELLS;
 
 	return val;
 }
 
-int fdt_size_cells(const void *fdt, int nodeoffset)
+int fdt_address_cells(const void *fdt, int nodeoffset)
 {
-	const fdt32_t *sc;
-	int val;
-	int len;
-
-	sc = fdt_getprop(fdt, nodeoffset, "#size-cells", &len);
-	if (!sc)
-		return 2;
-
-	if (len != sizeof(*sc))
-		return -FDT_ERR_BADNCELLS;
-
-	val = fdt32_to_cpu(*sc);
-	if ((val < 0) || (val > FDT_MAX_NCELLS))
-		return -FDT_ERR_BADNCELLS;
+	return fdt_cells(fdt, nodeoffset, "#address-cells");
+}
 
-	return val;
+int fdt_size_cells(const void *fdt, int nodeoffset)
+{
+	return fdt_cells(fdt, nodeoffset, "#size-cells");
 }
diff --git a/scripts/dtc/libfdt/libfdt.h b/scripts/dtc/libfdt/libfdt.h
index cf86ddba88..66f01fec53 100644
--- a/scripts/dtc/libfdt/libfdt.h
+++ b/scripts/dtc/libfdt/libfdt.h
@@ -1109,7 +1109,7 @@  int fdt_address_cells(const void *fdt, int nodeoffset);
  *
  * returns:
  *	0 <= n < FDT_MAX_NCELLS, on success
- *      2, if the node has no #address-cells property
+ *      2, if the node has no #size-cells property
  *      -FDT_ERR_BADNCELLS, if the node has a badly formatted or invalid
  *		#size-cells property
  *	-FDT_ERR_BADMAGIC,