aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.masahiro@socionext.com>2019-03-16 22:01:09 -0400
committerMasahiro Yamada <yamada.masahiro@socionext.com>2019-03-16 23:56:32 -0400
commit037fc3368be46dc1a2a90f6e50c8cbce49d75fd6 (patch)
tree2fdd8f1b803d33f27aff70391742d48f843b33b5
parent7cbbbb8bc2974264bbbf326d9a4552fc8878d375 (diff)
kbuild: force all architectures except um to include mandatory-y
Currently, every arch/*/include/uapi/asm/Kbuild explicitly includes the common Kbuild.asm file. Factor out the duplicated include directives to scripts/Makefile.asm-generic so that no architecture would opt out of the mandatory-y mechanism. um is not forced to include mandatory-y since it is a very exceptional case which does not support UAPI. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
-rw-r--r--Documentation/kbuild/makefiles.txt2
-rw-r--r--Makefile6
-rw-r--r--arch/alpha/include/uapi/asm/Kbuild2
-rw-r--r--arch/arc/include/uapi/asm/Kbuild2
-rw-r--r--arch/arm/include/uapi/asm/Kbuild1
-rw-r--r--arch/arm64/include/uapi/asm/Kbuild1
-rw-r--r--arch/c6x/include/uapi/asm/Kbuild2
-rw-r--r--arch/csky/include/uapi/asm/Kbuild2
-rw-r--r--arch/h8300/include/uapi/asm/Kbuild2
-rw-r--r--arch/hexagon/include/uapi/asm/Kbuild2
-rw-r--r--arch/ia64/include/uapi/asm/Kbuild2
-rw-r--r--arch/m68k/include/uapi/asm/Kbuild2
-rw-r--r--arch/microblaze/include/uapi/asm/Kbuild2
-rw-r--r--arch/mips/include/uapi/asm/Kbuild2
-rw-r--r--arch/nds32/include/uapi/asm/Kbuild2
-rw-r--r--arch/nios2/include/uapi/asm/Kbuild2
-rw-r--r--arch/openrisc/include/uapi/asm/Kbuild2
-rw-r--r--arch/parisc/include/uapi/asm/Kbuild2
-rw-r--r--arch/powerpc/include/uapi/asm/Kbuild2
-rw-r--r--arch/riscv/include/uapi/asm/Kbuild1
-rw-r--r--arch/s390/include/uapi/asm/Kbuild1
-rw-r--r--arch/sh/include/uapi/asm/Kbuild1
-rw-r--r--arch/sparc/include/uapi/asm/Kbuild2
-rw-r--r--arch/unicore32/include/uapi/asm/Kbuild2
-rw-r--r--arch/x86/include/uapi/asm/Kbuild2
-rw-r--r--arch/xtensa/include/uapi/asm/Kbuild2
-rw-r--r--include/asm-generic/Kbuild5
-rw-r--r--include/uapi/asm-generic/Kbuild (renamed from include/uapi/asm-generic/Kbuild.asm)4
-rw-r--r--scripts/Makefile.asm-generic5
29 files changed, 18 insertions, 47 deletions
diff --git a/Documentation/kbuild/makefiles.txt b/Documentation/kbuild/makefiles.txt
index f124be6e4c3a..03c065855eaf 100644
--- a/Documentation/kbuild/makefiles.txt
+++ b/Documentation/kbuild/makefiles.txt
@@ -1274,7 +1274,7 @@ See subsequent chapter for the syntax of the Kbuild file.
1274 1274
1275--- 7.4 mandatory-y 1275--- 7.4 mandatory-y
1276 1276
1277 mandatory-y is essentially used by include/(uapi/)asm-generic/Kbuild.asm 1277 mandatory-y is essentially used by include/(uapi/)asm-generic/Kbuild
1278 to define the minimum set of ASM headers that all architectures must have. 1278 to define the minimum set of ASM headers that all architectures must have.
1279 1279
1280 This works like optional generic-y. If a mandatory header is missing 1280 This works like optional generic-y. If a mandatory header is missing
diff --git a/Makefile b/Makefile
index 08a01add09a6..4f45ae628f54 100644
--- a/Makefile
+++ b/Makefile
@@ -1098,9 +1098,11 @@ asm-generic := -f $(srctree)/scripts/Makefile.asm-generic obj
1098 1098
1099PHONY += asm-generic uapi-asm-generic 1099PHONY += asm-generic uapi-asm-generic
1100asm-generic: uapi-asm-generic 1100asm-generic: uapi-asm-generic
1101 $(Q)$(MAKE) $(asm-generic)=arch/$(SRCARCH)/include/generated/asm 1101 $(Q)$(MAKE) $(asm-generic)=arch/$(SRCARCH)/include/generated/asm \
1102 generic=include/asm-generic
1102uapi-asm-generic: 1103uapi-asm-generic:
1103 $(Q)$(MAKE) $(asm-generic)=arch/$(SRCARCH)/include/generated/uapi/asm 1104 $(Q)$(MAKE) $(asm-generic)=arch/$(SRCARCH)/include/generated/uapi/asm \
1105 generic=include/uapi/asm-generic
1104 1106
1105PHONY += prepare-objtool 1107PHONY += prepare-objtool
1106prepare-objtool: $(objtool_target) 1108prepare-objtool: $(objtool_target)
diff --git a/arch/alpha/include/uapi/asm/Kbuild b/arch/alpha/include/uapi/asm/Kbuild
index 439f5157aa35..7417847dc438 100644
--- a/arch/alpha/include/uapi/asm/Kbuild
+++ b/arch/alpha/include/uapi/asm/Kbuild
@@ -1,3 +1 @@
1include include/uapi/asm-generic/Kbuild.asm
2
3generated-y += unistd_32.h generated-y += unistd_32.h
diff --git a/arch/arc/include/uapi/asm/Kbuild b/arch/arc/include/uapi/asm/Kbuild
index 0febf1a07c30..755bb11323d8 100644
--- a/arch/arc/include/uapi/asm/Kbuild
+++ b/arch/arc/include/uapi/asm/Kbuild
@@ -1,4 +1,2 @@
1include include/uapi/asm-generic/Kbuild.asm
2
3generic-y += kvm_para.h 1generic-y += kvm_para.h
4generic-y += ucontext.h 2generic-y += ucontext.h
diff --git a/arch/arm/include/uapi/asm/Kbuild b/arch/arm/include/uapi/asm/Kbuild
index eee8f7d23899..23b4464c0995 100644
--- a/arch/arm/include/uapi/asm/Kbuild
+++ b/arch/arm/include/uapi/asm/Kbuild
@@ -1,5 +1,4 @@
1# SPDX-License-Identifier: GPL-2.0 1# SPDX-License-Identifier: GPL-2.0
2include include/uapi/asm-generic/Kbuild.asm
3 2
4generated-y += unistd-common.h 3generated-y += unistd-common.h
5generated-y += unistd-oabi.h 4generated-y += unistd-oabi.h
diff --git a/arch/arm64/include/uapi/asm/Kbuild b/arch/arm64/include/uapi/asm/Kbuild
index 87eea29b24ab..602d137932dc 100644
--- a/arch/arm64/include/uapi/asm/Kbuild
+++ b/arch/arm64/include/uapi/asm/Kbuild
@@ -1,4 +1,3 @@
1# SPDX-License-Identifier: GPL-2.0 1# SPDX-License-Identifier: GPL-2.0
2include include/uapi/asm-generic/Kbuild.asm
3 2
4generic-y += kvm_para.h 3generic-y += kvm_para.h
diff --git a/arch/c6x/include/uapi/asm/Kbuild b/arch/c6x/include/uapi/asm/Kbuild
index 0febf1a07c30..755bb11323d8 100644
--- a/arch/c6x/include/uapi/asm/Kbuild
+++ b/arch/c6x/include/uapi/asm/Kbuild
@@ -1,4 +1,2 @@
1include include/uapi/asm-generic/Kbuild.asm
2
3generic-y += kvm_para.h 1generic-y += kvm_para.h
4generic-y += ucontext.h 2generic-y += ucontext.h
diff --git a/arch/csky/include/uapi/asm/Kbuild b/arch/csky/include/uapi/asm/Kbuild
index c1b06dcf6cf8..1c72f04ff75d 100644
--- a/arch/csky/include/uapi/asm/Kbuild
+++ b/arch/csky/include/uapi/asm/Kbuild
@@ -1,3 +1 @@
1include include/uapi/asm-generic/Kbuild.asm
2
3generic-y += ucontext.h generic-y += ucontext.h
diff --git a/arch/h8300/include/uapi/asm/Kbuild b/arch/h8300/include/uapi/asm/Kbuild
index 0febf1a07c30..755bb11323d8 100644
--- a/arch/h8300/include/uapi/asm/Kbuild
+++ b/arch/h8300/include/uapi/asm/Kbuild
@@ -1,4 +1,2 @@
1include include/uapi/asm-generic/Kbuild.asm
2
3generic-y += kvm_para.h 1generic-y += kvm_para.h
4generic-y += ucontext.h 2generic-y += ucontext.h
diff --git a/arch/hexagon/include/uapi/asm/Kbuild b/arch/hexagon/include/uapi/asm/Kbuild
index c1b06dcf6cf8..1c72f04ff75d 100644
--- a/arch/hexagon/include/uapi/asm/Kbuild
+++ b/arch/hexagon/include/uapi/asm/Kbuild
@@ -1,3 +1 @@
1include include/uapi/asm-generic/Kbuild.asm
2
3generic-y += ucontext.h generic-y += ucontext.h
diff --git a/arch/ia64/include/uapi/asm/Kbuild b/arch/ia64/include/uapi/asm/Kbuild
index 5b819e53c397..20018cb883a9 100644
--- a/arch/ia64/include/uapi/asm/Kbuild
+++ b/arch/ia64/include/uapi/asm/Kbuild
@@ -1,4 +1,2 @@
1include include/uapi/asm-generic/Kbuild.asm
2
3generated-y += unistd_64.h 1generated-y += unistd_64.h
4generic-y += kvm_para.h 2generic-y += kvm_para.h
diff --git a/arch/m68k/include/uapi/asm/Kbuild b/arch/m68k/include/uapi/asm/Kbuild
index 960bf1e4be53..8a7ad40be463 100644
--- a/arch/m68k/include/uapi/asm/Kbuild
+++ b/arch/m68k/include/uapi/asm/Kbuild
@@ -1,4 +1,2 @@
1include include/uapi/asm-generic/Kbuild.asm
2
3generated-y += unistd_32.h 1generated-y += unistd_32.h
4generic-y += kvm_para.h 2generic-y += kvm_para.h
diff --git a/arch/microblaze/include/uapi/asm/Kbuild b/arch/microblaze/include/uapi/asm/Kbuild
index 97823ec46e97..3ce84fbb2678 100644
--- a/arch/microblaze/include/uapi/asm/Kbuild
+++ b/arch/microblaze/include/uapi/asm/Kbuild
@@ -1,5 +1,3 @@
1include include/uapi/asm-generic/Kbuild.asm
2
3generated-y += unistd_32.h 1generated-y += unistd_32.h
4generic-y += kvm_para.h 2generic-y += kvm_para.h
5generic-y += ucontext.h 3generic-y += ucontext.h
diff --git a/arch/mips/include/uapi/asm/Kbuild b/arch/mips/include/uapi/asm/Kbuild
index 0851c103a8ce..c3798bfe0486 100644
--- a/arch/mips/include/uapi/asm/Kbuild
+++ b/arch/mips/include/uapi/asm/Kbuild
@@ -1,5 +1,3 @@
1include include/uapi/asm-generic/Kbuild.asm
2
3generated-y += unistd_n32.h 1generated-y += unistd_n32.h
4generated-y += unistd_n64.h 2generated-y += unistd_n64.h
5generated-y += unistd_o32.h 3generated-y += unistd_o32.h
diff --git a/arch/nds32/include/uapi/asm/Kbuild b/arch/nds32/include/uapi/asm/Kbuild
index c1b06dcf6cf8..1c72f04ff75d 100644
--- a/arch/nds32/include/uapi/asm/Kbuild
+++ b/arch/nds32/include/uapi/asm/Kbuild
@@ -1,3 +1 @@
1include include/uapi/asm-generic/Kbuild.asm
2
3generic-y += ucontext.h generic-y += ucontext.h
diff --git a/arch/nios2/include/uapi/asm/Kbuild b/arch/nios2/include/uapi/asm/Kbuild
index 0febf1a07c30..755bb11323d8 100644
--- a/arch/nios2/include/uapi/asm/Kbuild
+++ b/arch/nios2/include/uapi/asm/Kbuild
@@ -1,4 +1,2 @@
1include include/uapi/asm-generic/Kbuild.asm
2
3generic-y += kvm_para.h 1generic-y += kvm_para.h
4generic-y += ucontext.h 2generic-y += ucontext.h
diff --git a/arch/openrisc/include/uapi/asm/Kbuild b/arch/openrisc/include/uapi/asm/Kbuild
index 0febf1a07c30..755bb11323d8 100644
--- a/arch/openrisc/include/uapi/asm/Kbuild
+++ b/arch/openrisc/include/uapi/asm/Kbuild
@@ -1,4 +1,2 @@
1include include/uapi/asm-generic/Kbuild.asm
2
3generic-y += kvm_para.h 1generic-y += kvm_para.h
4generic-y += ucontext.h 2generic-y += ucontext.h
diff --git a/arch/parisc/include/uapi/asm/Kbuild b/arch/parisc/include/uapi/asm/Kbuild
index c54353d390ff..22fdbd08cdc8 100644
--- a/arch/parisc/include/uapi/asm/Kbuild
+++ b/arch/parisc/include/uapi/asm/Kbuild
@@ -1,5 +1,3 @@
1include include/uapi/asm-generic/Kbuild.asm
2
3generated-y += unistd_32.h 1generated-y += unistd_32.h
4generated-y += unistd_64.h 2generated-y += unistd_64.h
5generic-y += kvm_para.h 3generic-y += kvm_para.h
diff --git a/arch/powerpc/include/uapi/asm/Kbuild b/arch/powerpc/include/uapi/asm/Kbuild
index 214a39acdf25..2bd5b392277c 100644
--- a/arch/powerpc/include/uapi/asm/Kbuild
+++ b/arch/powerpc/include/uapi/asm/Kbuild
@@ -1,4 +1,2 @@
1include include/uapi/asm-generic/Kbuild.asm
2
3generated-y += unistd_32.h 1generated-y += unistd_32.h
4generated-y += unistd_64.h 2generated-y += unistd_64.h
diff --git a/arch/riscv/include/uapi/asm/Kbuild b/arch/riscv/include/uapi/asm/Kbuild
index d2ee86b4c091..e69de29bb2d1 100644
--- a/arch/riscv/include/uapi/asm/Kbuild
+++ b/arch/riscv/include/uapi/asm/Kbuild
@@ -1 +0,0 @@
1include include/uapi/asm-generic/Kbuild.asm
diff --git a/arch/s390/include/uapi/asm/Kbuild b/arch/s390/include/uapi/asm/Kbuild
index da3e0d48abbc..46c1ff0b842a 100644
--- a/arch/s390/include/uapi/asm/Kbuild
+++ b/arch/s390/include/uapi/asm/Kbuild
@@ -1,5 +1,4 @@
1# SPDX-License-Identifier: GPL-2.0 1# SPDX-License-Identifier: GPL-2.0
2include include/uapi/asm-generic/Kbuild.asm
3 2
4generated-y += unistd_32.h 3generated-y += unistd_32.h
5generated-y += unistd_64.h 4generated-y += unistd_64.h
diff --git a/arch/sh/include/uapi/asm/Kbuild b/arch/sh/include/uapi/asm/Kbuild
index eaa30bcd93bf..ecfbd40924dd 100644
--- a/arch/sh/include/uapi/asm/Kbuild
+++ b/arch/sh/include/uapi/asm/Kbuild
@@ -1,5 +1,4 @@
1# SPDX-License-Identifier: GPL-2.0 1# SPDX-License-Identifier: GPL-2.0
2include include/uapi/asm-generic/Kbuild.asm
3 2
4generated-y += unistd_32.h 3generated-y += unistd_32.h
5generic-y += kvm_para.h 4generic-y += kvm_para.h
diff --git a/arch/sparc/include/uapi/asm/Kbuild b/arch/sparc/include/uapi/asm/Kbuild
index 214a39acdf25..2bd5b392277c 100644
--- a/arch/sparc/include/uapi/asm/Kbuild
+++ b/arch/sparc/include/uapi/asm/Kbuild
@@ -1,4 +1,2 @@
1include include/uapi/asm-generic/Kbuild.asm
2
3generated-y += unistd_32.h 1generated-y += unistd_32.h
4generated-y += unistd_64.h 2generated-y += unistd_64.h
diff --git a/arch/unicore32/include/uapi/asm/Kbuild b/arch/unicore32/include/uapi/asm/Kbuild
index 0febf1a07c30..755bb11323d8 100644
--- a/arch/unicore32/include/uapi/asm/Kbuild
+++ b/arch/unicore32/include/uapi/asm/Kbuild
@@ -1,4 +1,2 @@
1include include/uapi/asm-generic/Kbuild.asm
2
3generic-y += kvm_para.h 1generic-y += kvm_para.h
4generic-y += ucontext.h 2generic-y += ucontext.h
diff --git a/arch/x86/include/uapi/asm/Kbuild b/arch/x86/include/uapi/asm/Kbuild
index f6648e9928b3..59b5ad310f78 100644
--- a/arch/x86/include/uapi/asm/Kbuild
+++ b/arch/x86/include/uapi/asm/Kbuild
@@ -1,5 +1,3 @@
1include include/uapi/asm-generic/Kbuild.asm
2
3generated-y += unistd_32.h 1generated-y += unistd_32.h
4generated-y += unistd_64.h 2generated-y += unistd_64.h
5generated-y += unistd_x32.h 3generated-y += unistd_x32.h
diff --git a/arch/xtensa/include/uapi/asm/Kbuild b/arch/xtensa/include/uapi/asm/Kbuild
index 960bf1e4be53..8a7ad40be463 100644
--- a/arch/xtensa/include/uapi/asm/Kbuild
+++ b/arch/xtensa/include/uapi/asm/Kbuild
@@ -1,4 +1,2 @@
1include include/uapi/asm-generic/Kbuild.asm
2
3generated-y += unistd_32.h 1generated-y += unistd_32.h
4generic-y += kvm_para.h 2generic-y += kvm_para.h
diff --git a/include/asm-generic/Kbuild b/include/asm-generic/Kbuild
new file mode 100644
index 000000000000..6f4536d70b8e
--- /dev/null
+++ b/include/asm-generic/Kbuild
@@ -0,0 +1,5 @@
1# SPDX-License-Identifier: GPL-2.0
2#
3# asm headers that all architectures except um should have
4# (This file is not included when SRCARCH=um since UML borrows several
5# asm headers from the host architecutre.)
diff --git a/include/uapi/asm-generic/Kbuild.asm b/include/uapi/asm-generic/Kbuild
index 355c4ac2c0b0..ebb180aac74e 100644
--- a/include/uapi/asm-generic/Kbuild.asm
+++ b/include/uapi/asm-generic/Kbuild
@@ -1,6 +1,8 @@
1# SPDX-License-Identifier: GPL-2.0
1# 2#
2# Headers that are mandatory in usr/include/asm/ 3# Headers that are mandatory in usr/include/asm/
3# 4# (This file is not included when SRCARCH=um since UML does not support UAPI.)
5
4mandatory-y += auxvec.h 6mandatory-y += auxvec.h
5mandatory-y += bitsperlong.h 7mandatory-y += bitsperlong.h
6mandatory-y += bpf_perf_event.h 8mandatory-y += bpf_perf_event.h
diff --git a/scripts/Makefile.asm-generic b/scripts/Makefile.asm-generic
index c7d2b7acad26..82ad63dcd62b 100644
--- a/scripts/Makefile.asm-generic
+++ b/scripts/Makefile.asm-generic
@@ -12,6 +12,11 @@ all:
12src := $(subst /generated,,$(obj)) 12src := $(subst /generated,,$(obj))
13-include $(src)/Kbuild 13-include $(src)/Kbuild
14 14
15# $(generic)/Kbuild lists mandatory-y. Exclude um since it is a special case.
16ifneq ($(SRCARCH),um)
17include $(generic)/Kbuild
18endif
19
15include scripts/Kbuild.include 20include scripts/Kbuild.include
16 21
17redundant := $(filter $(mandatory-y) $(generated-y), $(generic-y)) 22redundant := $(filter $(mandatory-y) $(generated-y), $(generic-y))