[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <399430a5-eb7f-48b0-be4a-e1b404a200e0@amd.com>
Date: Tue, 7 Jan 2025 15:29:59 -0600
From: Mario Limonciello <mario.limonciello@....com>
To: Kurt Borja <kuurtb@...il.com>, platform-driver-x86@...r.kernel.org
Cc: ilpo.jarvinen@...ux.intel.com, w_armin@....de, hdegoede@...hat.com,
Dell.Client.Kernel@...l.com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 19/20] platform/x86: Update alienware-wmi config
entries
On 1/5/2025 09:30, Kurt Borja wrote:
> 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@....de>
> Signed-off-by: Kurt Borja <kuurtb@...il.com>
Reviewed-by: Mario Limonciello <mario.limonciello@....com>
> ---
> drivers/platform/x86/dell/Kconfig | 30 +++++++++++++++++++----
> drivers/platform/x86/dell/Makefile | 4 +--
> drivers/platform/x86/dell/alienware-wmi.h | 23 +++++++++++++++++
> 3 files changed, 50 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/platform/x86/dell/Kconfig b/drivers/platform/x86/dell/Kconfig
> index d09060aedd3f..f8a0dffcaab7 100644
> --- a/drivers/platform/x86/dell/Kconfig
> +++ b/drivers/platform/x86/dell/Kconfig
> @@ -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"
> diff --git a/drivers/platform/x86/dell/Makefile b/drivers/platform/x86/dell/Makefile
> index d5718ef34c48..8ac9a933c770 100644
> --- a/drivers/platform/x86/dell/Makefile
> +++ b/drivers/platform/x86/dell/Makefile
> @@ -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
> diff --git a/drivers/platform/x86/dell/alienware-wmi.h b/drivers/platform/x86/dell/alienware-wmi.h
> index e4b75b1acd10..a810767a0eb7 100644
> --- a/drivers/platform/x86/dell/alienware-wmi.h
> +++ b/drivers/platform/x86/dell/alienware-wmi.h
> @@ -72,10 +72,33 @@ int alienware_wmi_command(struct wmi_device *wdev, u32 method_id,
> int alienware_alienfx_setup(struct alienfx_platdata *pdata);
> void alienware_alienfx_exit(struct wmi_device *wdev);
>
> +#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)
> int __init alienware_wmax_wmi_init(void);
> void __exit alienware_wmax_wmi_exit(void);
> +#else
> +static inline int alienware_wmax_wmi_init(void)
> +{
> + return -ENODEV;
> +}
> +
> +
> +static inline void alienware_wmax_wmi_exit(void)
> +{
> +}
> +#endif
>
> #endif
Powered by blists - more mailing lists