Message ID | 20160624142757.32735-5-maxime.ripard@free-electrons.com |
---|---|
State | Accepted |
Commit | 805ac6aacf8f9c3e912ebc8d9273e78d738c109d |
Delegated to: | Pantelis Antoniou |
Headers | show |
On 24 June 2016 at 08:27, Maxime Ripard <maxime.ripard@free-electrons.com> wrote: > The libfdt overlay support introduces a bunch of new includes and > functions. > > Make sure we are able to build it by adding the needed glue. > > Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> > --- > include/libfdt_env.h | 6 ++++++ > 1 file changed, 6 insertions(+) Acked-by: Simon Glass <sjg@chromium.org>
On Fri, Jun 24, 2016 at 04:27:49PM +0200, Maxime Ripard wrote: > The libfdt overlay support introduces a bunch of new includes and > functions. > > Make sure we are able to build it by adding the needed glue. > > Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Is this intended only for downstream u-boot only, or also for upstream libfdt? If it's u-boot only, you don't really need the #ifdef UBOOT. If it's for upstream, then it shouldn't have u-boot specific stuff. In general the environment into which you're embedding libfdt (u-boot in this case) should provide libfdt_env.h. The one included in upstream libfdt is essentially just an example version designed to work with POSIX userspace. > --- > include/libfdt_env.h | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/include/libfdt_env.h b/include/libfdt_env.h > index 273b5d30f867..6c6845f76cf7 100644 > --- a/include/libfdt_env.h > +++ b/include/libfdt_env.h > @@ -23,6 +23,12 @@ typedef __be64 fdt64_t; > #define fdt64_to_cpu(x) be64_to_cpu(x) > #define cpu_to_fdt64(x) cpu_to_be64(x) > > +#ifdef __UBOOT__ > +#include <vsprintf.h> > + > +#define strtoul(cp, endp, base) simple_strtoul(cp, endp, base) > +#endif > + > /* adding a ramdisk needs 0x44 bytes in version 2008.10 */ > #define FDT_RAMDISK_OVERHEAD 0x80 >
Hi David, On Mon, Jun 27, 2016 at 01:39:06AM +1000, David Gibson wrote: > On Fri, Jun 24, 2016 at 04:27:49PM +0200, Maxime Ripard wrote: > > The libfdt overlay support introduces a bunch of new includes and > > functions. > > > > Make sure we are able to build it by adding the needed glue. > > > > Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> > > Is this intended only for downstream u-boot only, or also for upstream > libfdt? U-Boot only. > If it's u-boot only, you don't really need the #ifdef UBOOT. Unfortunately, libfdt_env.h is also included by some userspace tools in U-Boot, which make use of strtoul while simple_strtoul is not defined there (and we should rely on libc's anyway), leading to link errors. Maxime
On Mon, Jun 27, 2016 at 09:25:27AM +0200, Maxime Ripard wrote: > Hi David, > > On Mon, Jun 27, 2016 at 01:39:06AM +1000, David Gibson wrote: > > On Fri, Jun 24, 2016 at 04:27:49PM +0200, Maxime Ripard wrote: > > > The libfdt overlay support introduces a bunch of new includes and > > > functions. > > > > > > Make sure we are able to build it by adding the needed glue. > > > > > > Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> > > > > Is this intended only for downstream u-boot only, or also for upstream > > libfdt? > > U-Boot only. > > > If it's u-boot only, you don't really need the #ifdef UBOOT. > > Unfortunately, libfdt_env.h is also included by some userspace tools > in U-Boot, which make use of strtoul while simple_strtoul is not > defined there (and we should rely on libc's anyway), leading to > link errors. Ah, ok. The ifdef makes sense then.
diff --git a/include/libfdt_env.h b/include/libfdt_env.h index 273b5d30f867..6c6845f76cf7 100644 --- a/include/libfdt_env.h +++ b/include/libfdt_env.h @@ -23,6 +23,12 @@ typedef __be64 fdt64_t; #define fdt64_to_cpu(x) be64_to_cpu(x) #define cpu_to_fdt64(x) cpu_to_be64(x) +#ifdef __UBOOT__ +#include <vsprintf.h> + +#define strtoul(cp, endp, base) simple_strtoul(cp, endp, base) +#endif + /* adding a ramdisk needs 0x44 bytes in version 2008.10 */ #define FDT_RAMDISK_OVERHEAD 0x80
The libfdt overlay support introduces a bunch of new includes and functions. Make sure we are able to build it by adding the needed glue. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> --- include/libfdt_env.h | 6 ++++++ 1 file changed, 6 insertions(+)