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그것을 활성화했고 모듈 중 하나를 활성화하면 이것이 지금까지 내 것이었음 select을 알 수 있습니다 .CONFIG_DRM_TTM=y.config

DRM하지만 이제 이 옵션을 활성화하고 이를 사용하는 모든 모듈을 비활성화하고 싶습니다(커널 소스 트리의 일부가 아닌 타사 모듈에 이 옵션이 필요하기 때문입니다).이 옵션이 표시되지 않습니다.모두 menuconfigxconfig.

이 옵션은 수동으로 활성화할 수 없는 것 같습니다. select다른 모듈을 통해서만 활성화할 수 있습니다.

<>내가 이해한 바에 따르면 이 옵션은 있는 그대로 나타나야 하며 이에 tristate따라 다르 DRM므로 활성화할 때 DRM이 옵션이 표시되어야 합니다. 하지만 난하지 않았어요.

어떻게 그래? 수동으로 설정할 수 없고 다른 옵션을 통해서만 설정할 수 있는 "숨겨진" 또는 "도우미" 옵션이 Kconfig에 있습니까? 어디에서 읽을 수 있나요? (물론 내 문제가 소스 코드를 읽기에는 너무 잘 알려져 있다고 생각하기 때문에 "mconf.c"는 제외)

답변1

select예, 다른 구성 항목에 첨부된 명령문에 의해 설정되는 "보이지 않는" 구성 기호가 있습니다 . 예를 들어, DRM_TTM이를 필요로 하는 GPU 드라이버에 의해 선택됩니다. 이에 의존하는 옵션 자체가 3상태이기 때문입니다.

이에 대해 간략하게 설명되어 있습니다.언어 kconfig문서;의 항목 select에 따르면

일반적으로 보이지 않는 기호(어디에도 힌트가 없음)와 종속성이 없는 기호만 선택됩니다. 이렇게 하면 실용성이 제한되지만 불법적인 구성은 피할 수 있습니다.

해당 유형을 따르거나 명시적 prompt지시어를 사용하여 구성 항목에 힌트가 없으면 표시되지 않습니다. 구성 항목을 표시 하려면 DRM_TTM힌트를 제공하십시오.

config DRM_TTM
        tristate "TTM"

또는

config DRM_TTM
        tristate
        prompt "TTM"

관련 정보