mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-18 03:23:53 -04:00
kconfig: Support conditional deps using "depends on X if Y"
Extend the "depends on" syntax to support conditional dependencies using "depends on X if Y". While functionally equivalent to "depends on X || (Y == n)", "depends on X if Y" is much more readable and makes the kconfig language uniform in supporting the "if <expr>" suffix. This also improves readability for "optional" dependencies, which are the subset of conditional dependencies where X is Y. Previously such optional dependencies had to be expressed as the counterintuitive "depends on X || !X", now this can be represented as "depends on X if X". The change is implemented by converting the "X if Y" syntax into the "X || (Y == n)" syntax during "depends on" token processing. Signed-off-by: Nicolas Pitre <nico@fluxnic.net> [Graham Roff: Rewrote commit message, updated patch, added tests] Signed-off-by: Graham Roff <grahamr@qti.qualcomm.com> Acked-by: Randy Dunlap <rdunlap@infradead.org> Link: https://patch.msgid.link/20251215-kconfig_conditional_deps-v3-1-59519af0a5df@qti.qualcomm.com [nathan: Minor adjustments to spacing] Signed-off-by: Nathan Chancellor <nathan@kernel.org>
This commit is contained in:
committed by
Nathan Chancellor
parent
5ce3218d4f
commit
76df6815da
7
scripts/kconfig/tests/conditional_dep/test_config2
Normal file
7
scripts/kconfig/tests/conditional_dep/test_config2
Normal file
@@ -0,0 +1,7 @@
|
||||
# If FOO is not selected, then TEST_BASIC should fail the conditional
|
||||
# dependency since BAR is set.
|
||||
# TEST_COMPLEX will fail dependency as it depends on both FOO and BAR
|
||||
# if either of those is selected.
|
||||
CONFIG_FOO=n
|
||||
CONFIG_BAR=y
|
||||
CONFIG_BAZ=y
|
||||
Reference in New Issue
Block a user