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