platform/x86: Update alienware-wmi config entries

Add config entries for each WMI driver managed by the alienware-wmi
module to be able to conditionally compile them.

Reviewed-by: Armin Wolf <W_Armin@gmx.de>
Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Kurt Borja <kuurtb@gmail.com>
Link: https://lore.kernel.org/r/20250207154610.13675-14-kuurtb@gmail.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
This commit is contained in:
Kurt Borja 2025-02-07 10:46:09 -05:00 committed by Ilpo Järvinen
parent dea2895be3
commit b1b8fcf6e6
No known key found for this signature in database
GPG Key ID: 59AC4F6153E5CE31
3 changed files with 52 additions and 7 deletions

View File

@ -18,15 +18,35 @@ config ALIENWARE_WMI
tristate "Alienware Special feature control"
default m
depends on ACPI
depends on ACPI_WMI
depends on DMI
depends on LEDS_CLASS
depends on NEW_LEDS
depends on ACPI_WMI
help
This is a driver for controlling Alienware WMI driven features.
On legacy devices, it exposes an interface for controlling the AlienFX
zones on Alienware machines that don't contain a dedicated
AlienFX USB MCU such as the X51 and X51-R2.
On newer devices, it exposes the AWCC thermal control interface through
known Kernel APIs.
config ALIENWARE_WMI_LEGACY
bool "Alienware Legacy WMI device driver"
default y
depends on ALIENWARE_WMI
help
Legacy Alienware WMI driver with AlienFX LED control capabilities.
config ALIENWARE_WMI_WMAX
bool "Alienware WMAX WMI device driver"
default y
depends on ALIENWARE_WMI
select ACPI_PLATFORM_PROFILE
help
This is a driver for controlling Alienware BIOS driven
features. It exposes an interface for controlling the AlienFX
zones on Alienware machines that don't contain a dedicated AlienFX
USB MCU such as the X51 and X51-R2.
Alienware WMI driver with AlienFX LED, HDMI, amplifier, deep sleep and
AWCC thermal control capabilities.
config DCDBAS
tristate "Dell Systems Management Base Driver"

View File

@ -6,8 +6,8 @@
obj-$(CONFIG_ALIENWARE_WMI) += alienware-wmi.o
alienware-wmi-objs := alienware-wmi-base.o
alienware-wmi-y += alienware-wmi-legacy.o
alienware-wmi-y += alienware-wmi-wmax.o
alienware-wmi-$(CONFIG_ALIENWARE_WMI_LEGACY) += alienware-wmi-legacy.o
alienware-wmi-$(CONFIG_ALIENWARE_WMI_WMAX) += alienware-wmi-wmax.o
obj-$(CONFIG_DCDBAS) += dcdbas.o
obj-$(CONFIG_DELL_LAPTOP) += dell-laptop.o
obj-$(CONFIG_DELL_RBTN) += dell-rbtn.o

View File

@ -75,9 +75,21 @@ int alienware_wmi_command(struct wmi_device *wdev, u32 method_id,
int alienware_alienfx_setup(struct alienfx_platdata *pdata);
#if IS_ENABLED(CONFIG_ALIENWARE_WMI_LEGACY)
int __init alienware_legacy_wmi_init(void);
void __exit alienware_legacy_wmi_exit(void);
#else
static inline int alienware_legacy_wmi_init(void)
{
return -ENODEV;
}
static inline void alienware_legacy_wmi_exit(void)
{
}
#endif
#if IS_ENABLED(CONFIG_ALIENWARE_WMI_WMAX)
extern const struct attribute_group wmax_hdmi_attribute_group;
extern const struct attribute_group wmax_amplifier_attribute_group;
extern const struct attribute_group wmax_deepsleep_attribute_group;
@ -88,5 +100,18 @@ extern const struct attribute_group wmax_deepsleep_attribute_group;
int __init alienware_wmax_wmi_init(void);
void __exit alienware_wmax_wmi_exit(void);
#else
#define WMAX_DEV_GROUPS
static inline int alienware_wmax_wmi_init(void)
{
return -ENODEV;
}
static inline void alienware_wmax_wmi_exit(void)
{
}
#endif
#endif