diff options
| author | Masahiro Yamada <yamada.masahiro@socionext.com> | 2019-01-02 20:10:38 -0500 |
|---|---|---|
| committer | Masahiro Yamada <yamada.masahiro@socionext.com> | 2019-01-05 19:46:51 -0500 |
| commit | 919987318a129b4d0c2203a3c6fd2d804be77100 (patch) | |
| tree | e072c3709d30b9383ada73673ef9ee4dcc79e9c1 /scripts/Makefile.asm-generic | |
| parent | d4ce5458ea1b7d8ca49c436d602095c4912777d3 (diff) | |
kbuild: generate asm-generic wrappers if mandatory headers are missing
Some time ago, Sam pointed out a certain degree of overwrap between
generic-y and mandatory-y. (https://lkml.org/lkml/2017/7/10/121)
I tweaked the meaning of mandatory-y a little bit; now it defines the
minimum set of ASM headers that all architectures must have.
If arch does not have specific implementation of a mandatory header,
Kbuild will let it fallback to the asm-generic one by automatically
generating a wrapper. This will allow to drop lots of redundant
generic-y defines.
Previously, "mandatory" was used in the context of UAPI, but I guess
this can be extended to kernel space ASM headers.
Suggested-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Diffstat (limited to 'scripts/Makefile.asm-generic')
| -rw-r--r-- | scripts/Makefile.asm-generic | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/scripts/Makefile.asm-generic b/scripts/Makefile.asm-generic index 760323e70ebc..a62d2823f6cf 100644 --- a/scripts/Makefile.asm-generic +++ b/scripts/Makefile.asm-generic | |||
| @@ -14,6 +14,10 @@ src := $(subst /generated,,$(obj)) | |||
| 14 | 14 | ||
| 15 | include scripts/Kbuild.include | 15 | include scripts/Kbuild.include |
| 16 | 16 | ||
| 17 | # If arch does not implement mandatory headers, fallback to asm-generic ones. | ||
| 18 | mandatory-y := $(filter-out $(generated-y), $(mandatory-y)) | ||
| 19 | generic-y += $(foreach f, $(mandatory-y), $(if $(wildcard $(srctree)/$(src)/$(f)),,$(f))) | ||
| 20 | |||
| 17 | generic-y := $(addprefix $(obj)/, $(generic-y)) | 21 | generic-y := $(addprefix $(obj)/, $(generic-y)) |
| 18 | generated-y := $(addprefix $(obj)/, $(generated-y)) | 22 | generated-y := $(addprefix $(obj)/, $(generated-y)) |
| 19 | 23 | ||
