On Tue, Aug 23, 2022 at 12:46:14PM +0300, Jani Nikula wrote: [ ... ] > >> > >> So why not do this in i915 Kconfig: > >> > >> config DRM_I915 > >> ... > >> depends on HWMON || HWMON=n > > With this change I am getting recursive dependancy error when I run make > > oldconfig > > > > badal@bnilawar-desk1:~/workspace/wp3/drm-tip$ make oldconfig > > HOSTCC scripts/basic/fixdep > > HOSTCC scripts/kconfig/conf.o > > HOSTCC scripts/kconfig/confdata.o > > HOSTCC scripts/kconfig/expr.o > > LEX scripts/kconfig/lexer.lex.c > > YACC scripts/kconfig/parser.tab.[ch] > > HOSTCC scripts/kconfig/lexer.lex.o > > HOSTCC scripts/kconfig/menu.o > > HOSTCC scripts/kconfig/parser.tab.o > > HOSTCC scripts/kconfig/preprocess.o > > HOSTCC scripts/kconfig/symbol.o > > HOSTCC scripts/kconfig/util.o > > HOSTLD scripts/kconfig/conf > > drivers/gpu/drm/i915/Kconfig:2:error: recursive dependency detected! > > drivers/gpu/drm/i915/Kconfig:2: symbol DRM_I915 depends on HWMON > > drivers/hwmon/Kconfig:6: symbol HWMON is selected by EEEPC_LAPTOP > > drivers/platform/x86/Kconfig:332: symbol EEEPC_LAPTOP depends on INPUT > > drivers/input/Kconfig:8: symbol INPUT is selected by DRM_I915 > > For a resolution refer to Documentation/kbuild/kconfig-language.rst > > subsection "Kconfig recursive dependency limitations" > > *sigh* > > Note: > select should be used with care. select will force > a symbol to a value without visiting the dependencies. > By abusing select you are able to select a symbol FOO even > if FOO depends on BAR that is not set. > In general use select only for non-visible symbols > (no prompts anywhere) and for symbols with no dependencies. > That will limit the usefulness but on the other hand avoid > the illegal configurations all over. > Agreed. HWMON should not be selected anywhere. Unfortunately it is, and drm is no exception. It is selected by DRM_RADEON and DRM_AMDGPU. Maybe just select it in DRM_I915 as well after all; in practice it won't make a difference. Guenter