drivers/platform/x86/lenovo/Kconfig | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
From: Arnd Bergmann <arnd@arndb.de>
Registering the "other mode" notifier fails if that is disabled:
x86_64-linux-ld: drivers/platform/x86/lenovo/wmi-gamezone.o: in function `lwmi_gz_probe':
wmi-gamezone.c:(.text+0x336): undefined reference to `devm_lwmi_om_register_notifier'
This could be fixed by adding a stub helper, but a Kconfig 'select'
seems simpler here.
Fixes: 22024ac5366f ("platform/x86: Add Lenovo Gamezone WMI Driver")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/platform/x86/lenovo/Kconfig | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/platform/x86/lenovo/Kconfig b/drivers/platform/x86/lenovo/Kconfig
index b76157b35296..e9e1c3268373 100644
--- a/drivers/platform/x86/lenovo/Kconfig
+++ b/drivers/platform/x86/lenovo/Kconfig
@@ -250,8 +250,7 @@ config LENOVO_WMI_GAMEZONE
depends on ACPI_WMI
depends on DMI
select ACPI_PLATFORM_PROFILE
- select LENOVO_WMI_EVENTS
- select LENOVO_WMI_HELPERS
+ select LENOVO_WMI_TUNING
help
Say Y here if you have a WMI aware Lenovo Legion device and would like to use the
platform-profile firmware interface to manage power usage.
--
2.39.5
On Wed, 9 Jul 2025, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@arndb.de> > > Registering the "other mode" notifier fails if that is disabled: > > x86_64-linux-ld: drivers/platform/x86/lenovo/wmi-gamezone.o: in function `lwmi_gz_probe': > wmi-gamezone.c:(.text+0x336): undefined reference to `devm_lwmi_om_register_notifier' > > This could be fixed by adding a stub helper, but a Kconfig 'select' > seems simpler here. > > Fixes: 22024ac5366f ("platform/x86: Add Lenovo Gamezone WMI Driver") > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > drivers/platform/x86/lenovo/Kconfig | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/platform/x86/lenovo/Kconfig b/drivers/platform/x86/lenovo/Kconfig > index b76157b35296..e9e1c3268373 100644 > --- a/drivers/platform/x86/lenovo/Kconfig > +++ b/drivers/platform/x86/lenovo/Kconfig > @@ -250,8 +250,7 @@ config LENOVO_WMI_GAMEZONE > depends on ACPI_WMI > depends on DMI > select ACPI_PLATFORM_PROFILE > - select LENOVO_WMI_EVENTS > - select LENOVO_WMI_HELPERS > + select LENOVO_WMI_TUNING Why did you remove the other two? Do select propagate properly these days across another select? I was under impression they don't which is one of the reasons use of select is discouraged. -- i.
On Fri, Jul 11, 2025, at 16:55, Ilpo Järvinen wrote: > On Wed, 9 Jul 2025, Arnd Bergmann wrote: >> index b76157b35296..e9e1c3268373 100644 >> --- a/drivers/platform/x86/lenovo/Kconfig >> +++ b/drivers/platform/x86/lenovo/Kconfig >> @@ -250,8 +250,7 @@ config LENOVO_WMI_GAMEZONE >> depends on ACPI_WMI >> depends on DMI >> select ACPI_PLATFORM_PROFILE >> - select LENOVO_WMI_EVENTS >> - select LENOVO_WMI_HELPERS >> + select LENOVO_WMI_TUNING > > Why did you remove the other two? > > Do select propagate properly these days across another select? Yes, as far as I know it has always done this, with the one exception that it does not propagate when trying to select another symbol that has missing dependencies > I was under impression they don't which is one of the reasons > use of select is discouraged. I have seen that mentioned before in commit logs, but I think this was a misunderstanding. Using 'select' is still discouraged, but for other reasons: - complexity quickly gets out of hand when selecting something that has other dependencies, as the driver selecting them must duplicate all those dependencies and keep them in sync - mixing 'depends on' and 'select' for the same dependency in different drivers tends to cause dependency loops - selecting user-visible symbols has side-effects if another symbol depends on that, e.g. the "select I2C" in some subsystems causes the I2C submenu to appear. Arnd
On Fri, 11 Jul 2025, Arnd Bergmann wrote: > On Fri, Jul 11, 2025, at 16:55, Ilpo Järvinen wrote: > > On Wed, 9 Jul 2025, Arnd Bergmann wrote: > >> index b76157b35296..e9e1c3268373 100644 > >> --- a/drivers/platform/x86/lenovo/Kconfig > >> +++ b/drivers/platform/x86/lenovo/Kconfig > >> @@ -250,8 +250,7 @@ config LENOVO_WMI_GAMEZONE > >> depends on ACPI_WMI > >> depends on DMI > >> select ACPI_PLATFORM_PROFILE > >> - select LENOVO_WMI_EVENTS > >> - select LENOVO_WMI_HELPERS > >> + select LENOVO_WMI_TUNING > > > > Why did you remove the other two? > > > > Do select propagate properly these days across another select? > > Yes, as far as I know it has always done this, with the one > exception that it does not propagate when trying to select > another symbol that has missing dependencies > > > I was under impression they don't which is one of the reasons > > use of select is discouraged. > > I have seen that mentioned before in commit logs, but I > think this was a misunderstanding. Using 'select' is still > discouraged, but for other reasons: > > - complexity quickly gets out of hand when selecting something > that has other dependencies, as the driver selecting them > must duplicate all those dependencies and keep them in sync Okay, thanks for these clarifications. I think I'll take this patch but change it to still keep the other selects as wmi-gamezone.c is directly using those too anyway. > - mixing 'depends on' and 'select' for the same dependency > in different drivers tends to cause dependency loops > > - selecting user-visible symbols has side-effects if another > symbol depends on that, e.g. the "select I2C" in some subsystems > causes the I2C submenu to appear. > > Arnd > -- i.
On Fri, Jul 11, 2025, at 17:34, Ilpo Järvinen wrote: > On Fri, 11 Jul 2025, Arnd Bergmann wrote: > I think I'll take this patch but change it to still keep the other selects > as wmi-gamezone.c is directly using those too anyway. Sounds good to me, thanks! Arnd
© 2016 - 2025 Red Hat, Inc.