Re: [PATCH v4 08/12] scripts: Coccinelle script for namespace dependencies.

From: Matthias Maennich
Date: Thu Sep 05 2019 - 10:47:02 EST


On Wed, Sep 04, 2019 at 06:53:25PM +0900, Masahiro Yamada wrote:
On Wed, Sep 4, 2019 at 12:07 AM Matthias Maennich <maennich@xxxxxxxxxx> wrote:

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@xxxxxxxxxxx>
Signed-off-by: Martijn Coenen <maco@xxxxxxxxxxx>
Acked-by: Julia Lawall <julia.lawall@xxxxxxx>
Reviewed-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Matthias Maennich <maennich@xxxxxxxxxx>


Without any correct dependency,
this does not work.

You are right, 'nsdeps' needs to depend on 'modules' to make that work.
I will fix that in the next version.

$ make clean; make nsdeps
cat: modules.order: No such file or directory
cat: ./modules.order: No such file or directory


I do not see any point in the Makefile changes.