MIPS: generic: Allow filtering enabled boards by requirements
authorPaul Burton <paul.burton@imgtec.com>
Mon, 7 Aug 2017 23:01:12 +0000 (16:01 -0700)
committerRalf Baechle <ralf@linux-mips.org>
Tue, 29 Aug 2017 22:57:28 +0000 (00:57 +0200)
commit27e0d4b0510700108341c50661f78a10969648df
tree5ba8080ab0f33c8b3603f15f37e6c7cb8666f513
parent1ec9dd80bedc208c00b18069cfd615a4cbfeab17
MIPS: generic: Allow filtering enabled boards by requirements

Up until now when configuring a generic kernel all board config
fragments have been merged by default unless boards are explicitly
selected by the user specifying BOARDS=.

In many cases this is sub-optimal, since some boards don't make sense to
include in some kernels. For example the MIPS SEAD-3 development board
has only ever been used with 32 bit CPUs, so including support for the
SEAD-3 in a 64 bit kernel is wasteful.

This patch introduces support for specifying requirements in board
config fragments, using comments formatted like so:

  # require CONFIG_BLA=y

For example the SEAD-3 board could specify that it should only be merged
for 32 bit kernels using a requirement line like the following:

  # require CONFIG_32BIT=y

A new generic-board-config.sh script is introduced to handle selecting
the board config fragments to merge & calling merge_config.sh to merge
them. In order to allow requirements to check Kconfig symbols that are
implicitly selected, rather than explicitly specified by
generic_defconfig or one of the ISA config fragments, an intermediate
.config file is saved & used as a reference when checking requirements.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/16943/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
MAINTAINERS
arch/mips/Makefile
arch/mips/tools/generic-board-config.sh [new file with mode: 0755]