Unverified Commit b1b8fcf6 authored by Kurt Borja's avatar Kurt Borja Committed by Ilpo Järvinen
Browse files

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: default avatarArmin Wolf <W_Armin@gmx.de>
Reviewed-by: default avatarMario Limonciello <mario.limonciello@amd.com>
Signed-off-by: default avatarKurt Borja <kuurtb@gmail.com>
Link: https://lore.kernel.org/r/20250207154610.13675-14-kuurtb@gmail.com


Reviewed-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
parent dea2895b
Loading
Loading
Loading
Loading
+25 −5
Original line number Diff line number Diff line
@@ -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"
+2 −2
Original line number Diff line number Diff line
@@ -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
+25 −0
Original line number Diff line number Diff line
@@ -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