中有一个选项drivers/gpu/drm/Kconfig
:
config DRM_TTM
tristate
depends on DRM
此选项添加了DRM GPU驱动程序用来管理视频卡内存的若干功能,因此我们可以看到它取决于DRM。
模块也使用它。
config DRM_RADEON
tristate "ATI Radeon"
...
select DRM_TTM
我已经DRM
启用了,当我启用这些模块之一select
时,我看到的CONFIG_DRM_TTM=y
是.config
到目前为止,一切都很好。
但现在我想启用这个选项,但是禁止使用它(因为我需要它为第三方模块是不是内核源代码树的一部分)的所有模块,所以我只启用DRM
,但我没有看到这个选项,无论是在menuconfig
和xconfig
。
看来我无法手动启用此选项,只能由其他启用该选项的模块启用select
。
据我了解,该选项必须显示为,<>
因为它是tristate
且取决于DRM
,因此启用后,DRM
我必须看到此选项。但我不。
怎么会这样?Kconfig上是否存在无法手动设置但只能由其他选项设置的任何“隐藏”或“帮助程序”选项?我在哪里可以读到它(当然,除了mconf.c,因为我认为我的问题太众所周知了,所以无法阅读源代码)
是的,有“不可见”的配置符号,这些符号由select
附加到其他配置条目的语句设置。例如,DRM_TTM
由需要它的GPU驱动程序选择。它是三态的,因为依赖于它的选项本身就是三态的。
这是简要说明中的kconfig
语言文档; 条目上select
说
通常,仅对不可见的符号(无提示)和没有依赖性的符号选择。这将限制实用性,但另一方面,要避免所有非法配置。
如果配置条目在其类型之后或使用显式prompt
指令而没有提示,则它是不可见的。要使DRM_TTM
配置条目可见,请提示:
config DRM_TTM
tristate "TTM"
或者
config DRM_TTM
tristate
prompt "TTM"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句