diff mbox series

[V6,2/6] scripts: dtc: Build fdtoverlay tool

Message ID 2dfec4acb1bfbab08b431908ace0a77cc3279434.1611312122.git.viresh.kumar@linaro.org
State Superseded
Headers show
Series dt: build overlays | expand

Commit Message

Viresh Kumar Jan. 22, 2021, 10:50 a.m. UTC
We will start building overlays for platforms soon in the kernel and
would need fdtoverlay going forward. Lets start building it.

The fdtoverlay program applies (or merges) one or more overlay dtb
blobs to a base dtb blob. The kernel build system would later use
fdtoverlay to generate the overlaid blobs based on platform specific
configurations.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>

---
 scripts/dtc/Makefile | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

-- 
2.25.0.rc1.19.g042ed3e048af

Comments

David Gibson Jan. 23, 2021, 12:35 a.m. UTC | #1
On Fri, Jan 22, 2021 at 04:20:32PM +0530, Viresh Kumar wrote:
> We will start building overlays for platforms soon in the kernel and

> would need fdtoverlay going forward. Lets start building it.

> 

> The fdtoverlay program applies (or merges) one or more overlay dtb


Saying "merges" here is probably misleading, since as I mentioned
elsewhere fdtoverlay can *not* merge overlays, only apply them to a
base tree.

> blobs to a base dtb blob. The kernel build system would later use

> fdtoverlay to generate the overlaid blobs based on platform specific

> configurations.

> 

> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>

> ---

>  scripts/dtc/Makefile | 6 +++++-

>  1 file changed, 5 insertions(+), 1 deletion(-)

> 

> diff --git a/scripts/dtc/Makefile b/scripts/dtc/Makefile

> index 4852bf44e913..5f19386a49eb 100644

> --- a/scripts/dtc/Makefile

> +++ b/scripts/dtc/Makefile

> @@ -1,13 +1,17 @@

>  # SPDX-License-Identifier: GPL-2.0

>  # scripts/dtc makefile

>  

> -hostprogs-always-$(CONFIG_DTC)		+= dtc

> +hostprogs-always-$(CONFIG_DTC)		+= dtc fdtoverlay

>  hostprogs-always-$(CHECK_DT_BINDING)	+= dtc

>  

>  dtc-objs	:= dtc.o flattree.o fstree.o data.o livetree.o treesource.o \

>  		   srcpos.o checks.o util.o

>  dtc-objs	+= dtc-lexer.lex.o dtc-parser.tab.o

>  

> +libfdt-objs	:= fdt.o fdt_ro.o fdt_wip.o fdt_sw.o fdt_rw.o fdt_strerror.o fdt_empty_tree.o fdt_addresses.o fdt_overlay.o

> +libfdt		= $(addprefix libfdt/,$(libfdt-objs))

> +fdtoverlay-objs	:= $(libfdt) fdtoverlay.o util.o

> +

>  # Source files need to get at the userspace version of libfdt_env.h to compile

>  HOST_EXTRACFLAGS += -I $(srctree)/$(src)/libfdt

>  


-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson
Viresh Kumar Jan. 25, 2021, 3:15 a.m. UTC | #2
On 23-01-21, 11:35, David Gibson wrote:
> On Fri, Jan 22, 2021 at 04:20:32PM +0530, Viresh Kumar wrote:

> > We will start building overlays for platforms soon in the kernel and

> > would need fdtoverlay going forward. Lets start building it.

> > 

> > The fdtoverlay program applies (or merges) one or more overlay dtb

> 

> Saying "merges" here is probably misleading, since as I mentioned

> elsewhere fdtoverlay can *not* merge overlays, only apply them to a

> base tree.


Right, my mistake.

-- 
viresh
Frank Rowand Jan. 29, 2021, 6:03 a.m. UTC | #3
On 1/22/21 4:50 AM, Viresh Kumar wrote:
> We will start building overlays for platforms soon in the kernel and

> would need fdtoverlay going forward. Lets start building it.

> 

> The fdtoverlay program applies (or merges) one or more overlay dtb

> blobs to a base dtb blob. The kernel build system would later use

> fdtoverlay to generate the overlaid blobs based on platform specific

> configurations.

> 

> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>

> ---

>  scripts/dtc/Makefile | 6 +++++-

>  1 file changed, 5 insertions(+), 1 deletion(-)

> 

> diff --git a/scripts/dtc/Makefile b/scripts/dtc/Makefile

> index 4852bf44e913..5f19386a49eb 100644

> --- a/scripts/dtc/Makefile

> +++ b/scripts/dtc/Makefile

> @@ -1,13 +1,17 @@

>  # SPDX-License-Identifier: GPL-2.0

>  # scripts/dtc makefile

>  

> -hostprogs-always-$(CONFIG_DTC)		+= dtc

> +hostprogs-always-$(CONFIG_DTC)		+= dtc fdtoverlay

>  hostprogs-always-$(CHECK_DT_BINDING)	+= dtc

>  

>  dtc-objs	:= dtc.o flattree.o fstree.o data.o livetree.o treesource.o \

>  		   srcpos.o checks.o util.o

>  dtc-objs	+= dtc-lexer.lex.o dtc-parser.tab.o

> 


Please add this comment:

# The upstream project builds libfdt as a separate library.  We are choosing to
# instead directly link the libfdt object files into fdtoverly

> +libfdt-objs	:= fdt.o fdt_ro.o fdt_wip.o fdt_sw.o fdt_rw.o fdt_strerror.o fdt_empty_tree.o fdt_addresses.o fdt_overlay.o

> +libfdt		= $(addprefix libfdt/,$(libfdt-objs))

> +fdtoverlay-objs	:= $(libfdt) fdtoverlay.o util.o

> +

>  # Source files need to get at the userspace version of libfdt_env.h to compile

>  HOST_EXTRACFLAGS += -I $(srctree)/$(src)/libfdt

>  

>
Viresh Kumar Jan. 29, 2021, 6:11 a.m. UTC | #4
On 29-01-21, 00:03, Frank Rowand wrote:
> On 1/22/21 4:50 AM, Viresh Kumar wrote:

> > We will start building overlays for platforms soon in the kernel and

> > would need fdtoverlay going forward. Lets start building it.

> > 

> > The fdtoverlay program applies (or merges) one or more overlay dtb

> > blobs to a base dtb blob. The kernel build system would later use

> > fdtoverlay to generate the overlaid blobs based on platform specific

> > configurations.

> > 

> > Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>

> > ---

> >  scripts/dtc/Makefile | 6 +++++-

> >  1 file changed, 5 insertions(+), 1 deletion(-)

> > 

> > diff --git a/scripts/dtc/Makefile b/scripts/dtc/Makefile

> > index 4852bf44e913..5f19386a49eb 100644

> > --- a/scripts/dtc/Makefile

> > +++ b/scripts/dtc/Makefile

> > @@ -1,13 +1,17 @@

> >  # SPDX-License-Identifier: GPL-2.0

> >  # scripts/dtc makefile

> >  

> > -hostprogs-always-$(CONFIG_DTC)		+= dtc

> > +hostprogs-always-$(CONFIG_DTC)		+= dtc fdtoverlay

> >  hostprogs-always-$(CHECK_DT_BINDING)	+= dtc

> >  

> >  dtc-objs	:= dtc.o flattree.o fstree.o data.o livetree.o treesource.o \

> >  		   srcpos.o checks.o util.o

> >  dtc-objs	+= dtc-lexer.lex.o dtc-parser.tab.o

> > 

> 

> Please add this comment:

> 

> # The upstream project builds libfdt as a separate library.  We are choosing to

> # instead directly link the libfdt object files into fdtoverly


My bad, I checked this again and you gave the exact same comment
during V4 as well. Sorry about missing this earlier.

-- 
viresh
diff mbox series

Patch

diff --git a/scripts/dtc/Makefile b/scripts/dtc/Makefile
index 4852bf44e913..5f19386a49eb 100644
--- a/scripts/dtc/Makefile
+++ b/scripts/dtc/Makefile
@@ -1,13 +1,17 @@ 
 # SPDX-License-Identifier: GPL-2.0
 # scripts/dtc makefile
 
-hostprogs-always-$(CONFIG_DTC)		+= dtc
+hostprogs-always-$(CONFIG_DTC)		+= dtc fdtoverlay
 hostprogs-always-$(CHECK_DT_BINDING)	+= dtc
 
 dtc-objs	:= dtc.o flattree.o fstree.o data.o livetree.o treesource.o \
 		   srcpos.o checks.o util.o
 dtc-objs	+= dtc-lexer.lex.o dtc-parser.tab.o
 
+libfdt-objs	:= fdt.o fdt_ro.o fdt_wip.o fdt_sw.o fdt_rw.o fdt_strerror.o fdt_empty_tree.o fdt_addresses.o fdt_overlay.o
+libfdt		= $(addprefix libfdt/,$(libfdt-objs))
+fdtoverlay-objs	:= $(libfdt) fdtoverlay.o util.o
+
 # Source files need to get at the userspace version of libfdt_env.h to compile
 HOST_EXTRACFLAGS += -I $(srctree)/$(src)/libfdt