Kconfig:カーネル設定ツールに「CONFIG_DRM_TTM」が表示されないのはなぜですか?

Kconfig:カーネル設定ツールに「CONFIG_DRM_TTM」が表示されないのはなぜですか?

オプションがありますdrivers/gpu/drm/Kconfig

   config DRM_TTM
           tristate
           depends on DRM

このオプションは、GPUドライバがグラフィックカードのメモリを管理するために使用するいくつかの機能にDRMを追加するため、見てわかるようにDRMに依存します。

モジュールでも使用されます。

config DRM_RADEON
        tristate "ATI Radeon"
...
        select DRM_TTM

私はDRMそれを有効にしてモジュールの1つを有効にすると、これがこれまで私のものだったことselectがわかります。CONFIG_DRM_TTM=y.config

DRMしかし、今このオプションを有効にし、それを使用するすべてのモジュールを無効にしたいと思います(カーネルソースツリーの一部ではないサードパーティモジュールにはこのオプションが必要なためです)。このオプションは表示されません。両方menuconfigxconfig

このオプションは手動で有効にできないようです。select他のモジュールでのみ有効にできます。

<>私が理解したように、このオプションは現状のまま現れなければならず、それに応じて異なるので、有効にするとtristateこのDRMオプションDRMが表示されるはずです。しかし、私はしませんでした。

どうやって?手動で設定できず、他のオプションでのみ設定できる「隠し」または「ヘルパー」オプションはKconfigにありますか?どこで読むことができますか? (もちろん私の問題はソースコードを読むのにはよく知られていると思うので、「mconf.c」を除く)

ベストアンサー1

selectはい、他の構成項目に添付されているステートメントによって設定される「見えない」構成記号があります。たとえば、DRM_TTMこれを必要とするGPUドライバによって選択されます。これに依存するオプション自体が三状態だからです。

これについて簡単に説明します。言語kconfig文書;の項目selectによると

通常、見えないシンボル(どこにもヒントがない)と依存関係のないシンボルのみが選択されます。これにより実用性が制限されますが、違法な構成は避けられます。

そのタイプに従った場合、または明示的なpromptディレクティブを使用して構成項目にヒントがない場合は表示されません。構成項目を表示するためのDRM_TTMヒントを提供してください。

config DRM_TTM
        tristate "TTM"

または

config DRM_TTM
        tristate
        prompt "TTM"

おすすめ記事