All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kurt Borja <kuurtb@gmail.com>
To: platform-driver-x86@vger.kernel.org
Cc: ilpo.jarvinen@linux.intel.com, w_armin@gmx.de,
	mario.limonciello@amd.com, hdegoede@redhat.com,
	Dell.Client.Kernel@dell.com, linux-kernel@vger.kernel.org,
	Kurt Borja <kuurtb@gmail.com>, Armin Wolf <W_Armin@gmx.de>
Subject: [PATCH v3 19/20] platform/x86: Update alienware-wmi config entries
Date: Sun,  5 Jan 2025 10:30:19 -0500	[thread overview]
Message-ID: <20250105153019.19206-21-kuurtb@gmail.com> (raw)
In-Reply-To: <20250105153019.19206-2-kuurtb@gmail.com>

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>
Signed-off-by: Kurt Borja <kuurtb@gmail.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
-- 
2.47.1


  parent reply	other threads:[~2025-01-05 15:31 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-05 15:30 [PATCH v3 00/20] platform/x86: alienware-wmi driver rework Kurt Borja
2025-01-05 15:30 ` [PATCH v3 01/20] platform/x86: alienware-wmi: Remove unnecessary check at module exit Kurt Borja
2025-01-05 15:30 ` [PATCH v3 02/20] platform/x86: alienware-wmi: Move Lighting Control State Kurt Borja
2025-01-07 21:30   ` Mario Limonciello
2025-01-05 15:30 ` [PATCH v3 03/20] platform/x86: alienware-wmi: Modify parse_rgb() signature Kurt Borja
2025-01-07 21:30   ` Mario Limonciello
2025-01-05 15:30 ` [PATCH v3 04/20] platform/x86: alienware-wmi: Improve hdmi_mux, amplifier and deepslp group creation Kurt Borja
2025-01-05 15:30 ` [PATCH v3 05/20] platform/x86: alienware-wmi: Improve rgb-zones " Kurt Borja
2025-01-07 21:30   ` Mario Limonciello
2025-01-05 15:30 ` [PATCH v3 06/20] platform/x86: alienware_wmi: General cleanup of WMAX methods Kurt Borja
2025-01-07 21:30   ` Mario Limonciello
2025-01-08 12:10   ` Ilpo Järvinen
2025-01-08 13:16     ` Kurt Borja
2025-01-05 15:30 ` [PATCH v3 07/20] platform/x86: alienware-wmi: Add a state container for LED control feature Kurt Borja
2025-01-05 15:30 ` [PATCH v3 08/20] platform/x86: alienware-wmi: Add WMI Drivers Kurt Borja
2025-01-05 15:30 ` [PATCH v3 09/20] platform/x86: alienware-wmi: Add a state container for thermal control methods Kurt Borja
2025-01-05 15:30 ` [PATCH v3 10/20] platform/x86: alienware-wmi: Refactor LED " Kurt Borja
2025-01-05 15:30 ` [PATCH v3 11/20] platform/x86: alienware-wmi: Refactor hdmi, amplifier, deepslp methods Kurt Borja
2025-01-05 15:30 ` [PATCH v3 12/20] platform/x86: alienware-wmi: Refactor thermal control methods Kurt Borja
2025-01-07 21:29   ` Mario Limonciello
2025-01-05 15:30 ` [PATCH v3 13/20] platform/x86: alienware-wmi: Split DMI table Kurt Borja
2025-01-07 21:30   ` Mario Limonciello
2025-01-05 15:30 ` [PATCH v3 14/20] MAINTAINERS: Update ALIENWARE WMI DRIVER entry Kurt Borja
2025-01-07 21:30   ` Mario Limonciello
2025-01-05 15:30 ` [PATCH v3 15/20] platform/x86: Rename alienware-wmi.c Kurt Borja
2025-01-07 21:30   ` Mario Limonciello
2025-01-05 15:30 ` [PATCH v3 16/20] platform/x86: Add alienware-wmi.h Kurt Borja
2025-01-05 19:44   ` kernel test robot
2025-01-05 15:30 ` [PATCH v3 17/20] platform/x86: Split the alienware-wmi driver Kurt Borja
2025-01-07 21:30   ` Mario Limonciello
2025-01-05 15:30 ` [PATCH v3 18/20] platform/x86: dell: Modify Makefile alignment Kurt Borja
2025-01-07 21:29   ` Mario Limonciello
2025-01-05 15:30 ` Kurt Borja [this message]
2025-01-07 21:29   ` [PATCH v3 19/20] platform/x86: Update alienware-wmi config entries Mario Limonciello
2025-01-05 15:30 ` [PATCH v3 20/20] platform/x86: alienware-wmi: Update header and module information Kurt Borja
2025-01-07 21:30   ` Mario Limonciello
2025-01-07 23:55     ` Kurt Borja
2025-01-16 22:39 ` [PATCH v3 00/20] platform/x86: alienware-wmi driver rework Armin Wolf
2025-01-17  4:33   ` Kurt Borja

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250105153019.19206-21-kuurtb@gmail.com \
    --to=kuurtb@gmail.com \
    --cc=Dell.Client.Kernel@dell.com \
    --cc=hdegoede@redhat.com \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mario.limonciello@amd.com \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=w_armin@gmx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.