我正在编写一个内核模块,可以使用两个低级选项 . 这两个选项都可以选择为M / Y / N,但必须至少选择其中一个,否则模块将无法工作 . 如下所示:
[*] Enable FOO support
<M> Back-end A
<M> Back-end B
我写如下,但两个子选项都可以取消选择 .
config FOO
bool "Enable FOO support"
config BACKEND_A
tristate "Back-end A"
depends on FOO
depends on SUBSYSTEM_X
config BACKEND_B
tristate "Back-end B"
depends on FOO
depends on SUBSYSTEM_Y
如何在kconfig中编写这样的配置?
2 回答
假设后端
A
和B
无法同时加载到内核中,choice
配置条目似乎是最好的:Documentation/kbuild/kconfig-language.txt中描述了
choice
的行为:使用示例
choice
与tristate
:sound/soc/davinci/Kconfig .您可以使
FOO
不可编辑,并使用反向依赖项选择它: