diff options
author | Matthias Maennich <maennich@google.com> | 2019-09-06 11:32:32 +0100 |
---|---|---|
committer | Jessica Yu <jeyu@kernel.org> | 2019-09-10 10:30:43 +0200 |
commit | eb8305aecb958e8787e7d603c7765c1dcace3a2b (patch) | |
tree | 03a29689498344ac197a953e3eb748d4d58794fc /Makefile | |
parent | 1d082773ff30e97c8bc10b65c4aa0d073664caac (diff) | |
download | linux-riscv-eb8305aecb958e8787e7d603c7765c1dcace3a2b.tar.gz linux-riscv-eb8305aecb958e8787e7d603c7765c1dcace3a2b.tar.bz2 linux-riscv-eb8305aecb958e8787e7d603c7765c1dcace3a2b.zip |
scripts: Coccinelle script for namespace dependencies.
A script that uses the '<module>.ns_deps' files generated by modpost to
automatically add the required symbol namespace dependencies to each
module.
Usage:
1) Move some symbols to a namespace with EXPORT_SYMBOL_NS() or define
DEFAULT_SYMBOL_NAMESPACE
2) Run 'make' (or 'make modules') and get warnings about modules not
importing that namespace.
3) Run 'make nsdeps' to automatically add required import statements
to said modules.
This makes it easer for subsystem maintainers to introduce and maintain
symbol namespaces into their codebase.
Co-developed-by: Martijn Coenen <maco@android.com>
Signed-off-by: Martijn Coenen <maco@android.com>
Acked-by: Julia Lawall <julia.lawall@lip6.fr>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Matthias Maennich <maennich@google.com>
Signed-off-by: Jessica Yu <jeyu@kernel.org>
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -1500,6 +1500,9 @@ help: @echo ' headerdep - Detect inclusion cycles in headers' @echo ' coccicheck - Check with Coccinelle' @echo '' + @echo 'Tools:' + @echo ' nsdeps - Generate missing symbol namespace dependencies' + @echo '' @echo 'Kernel selftest:' @echo ' kselftest - Build and run kernel selftest (run as root)' @echo ' Build, install, and boot kernel before' @@ -1687,6 +1690,15 @@ quiet_cmd_tags = GEN $@ tags TAGS cscope gtags: FORCE $(call cmd,tags) +# Script to generate missing namespace dependencies +# --------------------------------------------------------------------------- + +PHONY += nsdeps + +nsdeps: modules + $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost nsdeps + $(Q)$(CONFIG_SHELL) $(srctree)/scripts/$@ + # Scripts to check various things for consistency # --------------------------------------------------------------------------- |