[Intel-gfx] [PATCH 1/7] drm/i915/hwmon: Add HWMON infrastructure
Jani Nikula
jani.nikula at linux.intel.com
Tue Aug 23 14:41:34 UTC 2022
On Tue, 23 Aug 2022, "Nilawar, Badal" <badal.nilawar at intel.com> wrote:
> On 23-08-2022 19:05, Jani Nikula wrote:
>> On Tue, 23 Aug 2022, Guenter Roeck <linux at roeck-us.net> wrote:
>>> 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 at 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.
>>
>> And I guess everyone just does what I'm about to do now, throw my hands
>> up in the air in disgust and resignation. :p
> How about sticking to existing approach only. In my previous response I
> mentioned that for combo which we want to reject CONFIG_HWMON=m &&
> CONFIG_DRM_I915=y combo i915_hwmon.o is not getting build.
> It is only getting build for below combos
> CONFIG_HWMON=m && CONFIG_DRM_I915=y
> CONFIG_HWMON=m && CONFIG_DRM_I915=m
> CONFIG_HWMON=y && CONFIG_DRM_I915=m
Then please hide the IS_REACHABLE() within i915_hwmon.h and add stubs as
is customary. Let's not clutter high level driver code with some random
#if directives.
BR,
Jani.
> Regards,
> Badal
>>
>> BR,
>> Jani.
>>
>>
>>
--
Jani Nikula, Intel Open Source Graphics Center
More information about the Intel-gfx
mailing list