Skip to content

Devicetree build consolidation

Rob Herring linux-arm-kernel linux-devicetree linux-kbuild linux-mips linux-snps-arc linuxppc-dev lkml 4 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 Latest9 patches 1 replyIn review
  2. v39 patches 12 repliesSuperseded
  3. v29 patches 11 repliesSuperseded
Earlier versions · 1
VersionPostedPatchesRepliesStatus
v18 patches3 repliesSuperseded

Changes in v4 from the cover letter

- Make dtbs and %.dtb rules depend on arch/$ARCH/boot/dts path rather than CONFIG_OF_EARLY_FLATTREE
- Fix install path missing kernel version for dtbs_install
- Fix "make CONFIG_OF_ALL_DTBS=y" for arches like ARM which selectively enable CONFIG_OF (and therefore dtc)

Patches in v4 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/9powerpc: build .dtb files in dts directoryarch/powerpc/Makefile arch/powerpc/boot/Makefile arch/powerpc/boot/dts/Makefile+28 -300 replies
2/9nios2: build .dtb files in dts directoryarch/nios2/Makefile arch/nios2/boot/Makefile arch/nios2/boot/dts/Makefile+3 -60 replies
3/9nios2: use common rules to build built-in dtbarch/nios2/Makefile arch/nios2/boot/Makefile arch/nios2/boot/dts/Makefile +1 more+4 -370 replies
4/9nios2: fix building all dtbsarch/nios2/boot/dts/Makefile+3 -00 replies
5/9c6x: use common built-in dtb supportarch/c6x/boot/dts/Makefile arch/c6x/boot/dts/linked_dtb.S arch/c6x/include/asm/sections.h +2 more+3 -250 replies
6/9kbuild: consolidate Devicetree dtb build rulesMakefile arch/arc/Makefile arch/arm/Makefile +14 more+48 -1011 reply
7/9powerpc: enable building all dtbsarch/powerpc/boot/dts/Makefile arch/powerpc/boot/dts/fsl/Makefile+9 -00 replies
8/9c6x: enable building all dtbsarch/c6x/boot/dts/Makefile+6 -00 replies
9/9microblaze: enable building all dtbsarch/microblaze/boot/dts/Makefile+2 -00 replies

Reviews trailers per patch

1 of 9 patches has a Reviewed-by or Acked-by.

PatchWill DeaconPaul BurtonLey Foon TanMasahiro Yamada
1/9
2/9
3/9
4/9
5/9
6/9A-b A-b A-b A-b
7/9
8/9
9/9

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 4 reviewers.

Read the v4 thread

Cover letter [PATCH v4 0/9] Devicetree build consolidation

This series addresses a couple of issues I have with building dts files.

First, the ability to build all the dts files in the tree. This has been supported on most arches for some time with powerpc being the main exception. The reason powerpc wasn't supported was it needed a change in the location built dtb files are put.

Secondly, it's a pain to acquire all the cross-compilers needed to build dtbs for each arch. There's no reason to build with the cross compiler and the host compiler is perfectly fine as we only need the pre-processor.

I started addressing just those 2 problems, but kept finding small differences such as target dependencies and dtbs_install support across architectures. Instead of trying to align all these, I've consolidated the build targets moving them out of the arch makefiles.

I'd like to take the series via the DT tree.

PPC maintainers, really need you review/ack on this especially patch 1.

Rob

v4:
- Make dtbs and %.dtb rules depend on arch/$ARCH/boot/dts path rather than CONFIG_OF_EARLY_FLATTREE
- Fix install path missing kernel version for dtbs_install
- Fix "make CONFIG_OF_ALL_DTBS=y" for arches like ARM which selectively enable CONFIG_OF (and therefore dtc)

v3:
- Rework dtc dependency to avoid 2 entry paths to scripts/dtc/. Essentially, I copied 'scripts_basic'.
- Add missing scripts_basic dependency for dtc and missing PHONY tag.
- Drop the '|' order only from dependencies
- Drop %.dtb.S and %.dtb.o as top-level targets
- PPC: remove duplicate mpc5200 dtbs from image-y targets

v2:
- Fix $arch/boot/dts path check for out of tree builds
- Fix dtc dependency for building built-in dtbs
- Fix microblaze built-in dtb building
- Add dtbs target for microblaze

Rob Herring (9):
powerpc: build .dtb files in dts directory
nios2: build .dtb files in dts directory
nios2: use common rules to build built-in dtb
nios2: fix building all dtbs
c6x: use common built-in dtb support
kbuild: consolidate Devicetree dtb build rules
powerpc: enable building all dtbs
c6x: enable building all dtbs
microblaze: enable building all dtbs

 Makefile                           | 37 +++++++++++++++++++-
 arch/arc/Makefile                  |  6 ----
 arch/arm/Makefile                  | 20 +----------
 arch/arm64/Makefile                | 17 +--------
 arch/c6x/Makefile                  |  2 --
 arch/c6x/boot/dts/Makefile         | 17 ++++-----
 arch/c6x/boot/dts/linked_dtb.S     |  2 --
 arch/c6x/include/asm/sections.h    |  1 -
 arch/c6x/kernel/setup.c            |  4 +--
 arch/c6x/kernel/vmlinux.lds.S      | 10 ------
 arch/h8300/Makefile                | 11 +-----
 arch/microblaze/Makefile           |  4 +--
 arch/microblaze/boot/dts/Makefile  |  4 +++
 arch/mips/Makefile                 | 15 +-------
 arch/nds32/Makefile                |  2 +-
 arch/nios2/Makefile                | 11 +-----
 arch/nios2/boot/Makefile           | 22 ------------
 arch/nios2/boot/dts/Makefile       |  6 ++++
 arch/nios2/boot/linked_dtb.S       | 19 -----------
 arch/powerpc/Makefile              |  3 --
 arch/powerpc/boot/Makefile         | 55 ++++++++++++++----------------
 arch/powerpc/boot/dts/Makefile     |  6 ++++
 arch/powerpc/boot/dts/fsl/Makefile |  4 +++
 arch/xtensa/Makefile               | 12 +------
 scripts/Makefile                   |  3 +-
 scripts/Makefile.lib               |  2 +-
 scripts/dtc/Makefile               |  2 +-
 27 files changed, 102 insertions(+), 195 deletions(-)
 delete mode 100644 arch/c6x/boot/dts/linked_dtb.S
 create mode 100644 arch/nios2/boot/dts/Makefile
 delete mode 100644 arch/nios2/boot/linked_dtb.S
 create mode 100644 arch/powerpc/boot/dts/Makefile
 create mode 100644 arch/powerpc/boot/dts/fsl/Makefile

--
2.17.1