]> git.sur5r.net Git - kconfig-frontends/blobdiff - docs/kconfig-language.txt
Synchronise with v4.10
[kconfig-frontends] / docs / kconfig-language.txt
index 069fcb3eef6ed21f714715fb7cddf024b98470e0..262722d8867b2aa9f70f137529dd298e5e36af60 100644 (file)
@@ -113,6 +113,34 @@ applicable everywhere (see syntax).
        That will limit the usefulness but on the other hand avoid
        the illegal configurations all over.
 
+- weak reverse dependencies: "imply" <symbol> ["if" <expr>]
+  This is similar to "select" as it enforces a lower limit on another
+  symbol except that the "implied" symbol's value may still be set to n
+  from a direct dependency or with a visible prompt.
+
+  Given the following example:
+
+  config FOO
+       tristate
+       imply BAZ
+
+  config BAZ
+       tristate
+       depends on BAR
+
+  The following values are possible:
+
+       FOO             BAR             BAZ's default   choice for BAZ
+       ---             ---             -------------   --------------
+       n               y               n               N/m/y
+       m               y               m               M/y/n
+       y               y               y               Y/n
+       y               n               *               N
+
+  This is useful e.g. with multiple drivers that want to indicate their
+  ability to hook into a secondary subsystem while allowing the user to
+  configure that subsystem out without also having to unset these drivers.
+
 - limiting menu display: "visible if" <expr>
   This attribute is only applicable to menu blocks, if the condition is
   false, the menu block is not displayed to the user (the symbols
@@ -481,6 +509,7 @@ historical issues resolved through these different solutions.
   b) Match dependency semantics:
        b1) Swap all "select FOO" to "depends on FOO" or,
        b2) Swap all "depends on FOO" to "select FOO"
+  c) Consider the use of "imply" instead of "select"
 
 The resolution to a) can be tested with the sample Kconfig file
 Documentation/kbuild/Kconfig.recursion-issue-01 through the removal