Message ID | 20250308-hwm-v4-0-afa1342828f5@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | platform/x86: alienware-wmi-wmax: HWMON support + DebugFS + Improvements | expand |
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. 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. Guenter
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!