kconfig: warn unmet direct dependency of tristate symbols selected by y
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Tue, 13 Mar 2018 09:56:07 +0000 (18:56 +0900)
committerChristian Lamparter <chunkeey@gmail.com>
Sun, 10 Feb 2019 21:08:34 +0000 (22:08 +0100)
commit61a529271314a6ed34ebaf1baa3aadf98769a52d
tree236ae7549eeb6ac27015e7b20d7d162b7cb7ba61
parenta5d5b673abfd2afc6c1f80d8e10aad63c3d265cd
kconfig: warn unmet direct dependency of tristate symbols selected by y

Commit 246cf9c26bf1 ("kbuild: Warn on selecting symbols with unmet
direct dependencies") forcibly promoted ->dir_dep.tri to yes from mod.
So, the unmet direct dependencies of tristate symbols are not reported.

[Test Case]

  config MODULES
          def_bool y
          option modules

  config A
          def_bool y
          select B

  config B
          tristate "B"
          depends on m

This causes unmet dependency because 'B' is forced 'y' ignoring
'depends on m'.  This should be warned.

On the other hand, the following case ('B' is bool) should not be
warned, so 'depends on m' for bool symbols should be naturally treated
as 'depends on y'.

[Test Case2 (not unmet dependency)]

  config MODULES
          def_bool y
          option modules

  config A
          def_bool y
          select B

  config B
          bool "B"
          depends on m

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
config/symbol.c