aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/kbuild
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/kbuild')
-rw-r--r--Documentation/kbuild/kconfig-language.txt24
1 files changed, 0 insertions, 24 deletions
diff --git a/Documentation/kbuild/kconfig-language.txt b/Documentation/kbuild/kconfig-language.txt
index 00b950d1c193..c412c245848f 100644
--- a/Documentation/kbuild/kconfig-language.txt
+++ b/Documentation/kbuild/kconfig-language.txt
@@ -377,27 +377,3 @@ config FOO
377 377
378limits FOO to module (=m) or disabled (=n). 378limits FOO to module (=m) or disabled (=n).
379 379
380
381Build limited by a third config symbol which may be =y or =m
382~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
383A common idiom that we see (and sometimes have problems with) is this:
384
385When option C in B (module or subsystem) uses interfaces from A (module
386or subsystem), and both A and B are tristate (could be =y or =m if they
387were independent of each other, but they aren't), then we need to limit
388C such that it cannot be built statically if A is built as a loadable
389module. (C already depends on B, so there is no dependency issue to
390take care of here.)
391
392If A is linked statically into the kernel image, C can be built
393statically or as loadable module(s). However, if A is built as loadable
394module(s), then C must be restricted to loadable module(s) also. This
395can be expressed in kconfig language as:
396
397config C
398 depends on A = y || A = B
399
400or for real examples, use this command in a kernel tree:
401
402$ find . -name Kconfig\* | xargs grep -ns "depends on.*=.*||.*=" | grep -v orig
403