···377377378378limits FOO to module (=m) or disabled (=n).379379380380-381381-Build limited by a third config symbol which may be =y or =m382382-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~383383-A common idiom that we see (and sometimes have problems with) is this:384384-385385-When option C in B (module or subsystem) uses interfaces from A (module386386-or subsystem), and both A and B are tristate (could be =y or =m if they387387-were independent of each other, but they aren't), then we need to limit388388-C such that it cannot be built statically if A is built as a loadable389389-module. (C already depends on B, so there is no dependency issue to390390-take care of here.)391391-392392-If A is linked statically into the kernel image, C can be built393393-statically or as loadable module(s). However, if A is built as loadable394394-module(s), then C must be restricted to loadable module(s) also. This395395-can be expressed in kconfig language as:396396-397397-config C398398- depends on A = y || A = B399399-400400-or for real examples, use this command in a kernel tree:401401-402402-$ find . -name Kconfig\* | xargs grep -ns "depends on.*=.*||.*=" | grep -v orig403403-