Re: [PATCH v4 00/12] platform/x86: alienware-wmi-wmax: HWMON support + DebugFS + Improvements

Kurt Borja
2025-03-09T16:05:15Z

Hi Guenter,

On Sat Mar 8, 2025 at 4:23 PM -05, Guenter Roeck wrote:
> On 3/8/25 12:23, Kurt Borja wrote:
>> Hi all,
>>
>> This set mainly adds hwmon and manual fan control support (patches 7-8)
>> to the alienware-wmi driver, after some improvements.
>>
>> I have a question for anyone that may know how to solve it. In version 2
>> of these series the kernel test robot found a build error
>>
>> https://lore.kernel.org/platform-driver-x86/202503051819.bQ9P70Og-lkp@intel.com/
>>
>> I think this happened because
>>
>> CONFIG_ALIENWARE_WMI=y
>>
>> while
>>
>> CONFIG_ACPI_PLATFORM_PROFILE=m
>> CONFIG_HWMON=m
>>
>> How should I Kconfig to avoid this?
>>
>
> If hwmon is considered to be mandatory, you'll need
> depends on HWMON=y
>
> Alternative would be to use
> depends on HWMON=y || HWMON=n
>
> and use IS_ENABLED(). Something like
>
> if (IS_ENABLED(CONFIG_HWMON) && awcc->hwmon) {
> ret = awcc_hwmon_init(wdev);
> if (ret)
> return ret;
> }
>
> Using IS_REACHABLE() would be another option.

Oh - Now I understand why I saw this pattern in a few drivers. I'll
think about this option for the next revision.

>
> The CONFIG_ACPI_PLATFORM_PROFILE problem is probably similar. You can not
> have CONFIG_ALIENWARE_WMI as boolean depending on code which can be built
> as module.

Actually ALIENWARE_WMI is tristate, but the symbol that actually pulls
the dependency is ALIENWARE_WMI_WMAX, which is indeed bool.

Thank you, this gave me the clue to fix the issue!

--
~ Kurt

>
> Guenter