Hi! Happy holidays. :) ~ Kurt --- v1 -> v2: [2/20] - Small correction in commit message [5/20] - Define the sysfs attributes without macros [6/20] - Reworded commit title - Reorder variables in previous WMAX methods too - Standarized sysfs method names in hdmi, amplifier and deepsleep groups - Dropped Armin's Reviewed-by tag because this patch changed a lot [7/20] - Return -ENOMEM in case priv allocation fails in alienfx_probe() - Assign priv and platdata on variable declaration - Drop intermediate *leds in alienfx_probe() - Add quirk_entry to state container - Use quirks from priv on hdmi_mux, amplifier, deepslp visibility methods, to eventually be able to move these groups into alienware-wmi-wmax.c - Set PROBE_FORCE_SYNCHRONOUS to platform_driver, to avoid racing to drvdata after using device_create_groups on [8/20] [8/20] - Create hdmi, amplifier, deepslp sysfs groups on wmax's probe [9/20] - Assign priv on variable declaration - Directly return create thermal_profile() in alienware_awcc_setup() [10/20] - Refactored alienware_wmi_method following Armin's comments - Fix legacy_wmi_update_led logic [13/20] - Split DMI table lower in the file - Rename quirk_entry -> alienfx_quirks - Rename awcc_features -> awcc_quirks - Make hdmi_mux, amplifier and deepslp `bool` [16/20]: - Only add common resources on alienware.h [17/20] - Reworded commit message: now mentions some blocks were reordered - Move #include <linux/dmi.h> where it belongs alphabetically - Included hdmi, amplifier, deepslp groups in alienware-wmi-wmax.c [18/20] - static inline init functions in case drivers are not compiled - Return errno in case drivers are not compiled v1: https://lore.kernel.org/platform-driver-x86/20241221055917.10555-1-kuurtb@xxxxxxxxx/ Kurt Borja (20): alienware-wmi: Remove unnecessary check at module exit alienware-wmi: Move Lighting Control State alienware-wmi: Modify parse_rgb() signature alienware-wmi: Improve hdmi_mux, amplifier and deepslp group creation alienware-wmi: Improve rgb-zones group creation alienware_wmi: General cleanup of WMAX methods alienware-wmi: Add a state container for LED control feature alienware-wmi: Add WMI Drivers alienware-wmi: Add a state container for thermal control methods alienware-wmi: Refactor LED control methods alienware-wmi: Refactor hdmi, amplifier, deepslp methods alienware-wmi: Refactor thermal control methods alienware-wmi: Split DMI table MAINTAINERS: Update ALIENWARE WMI DRIVER entry platform/x86: Rename alienware-wmi.c platform/x86: Add alienware-wmi.h platform-x86: Split the alienware-wmi driver platform/x86: dell: Modify Makefile alignment platform/x86: Update alienware-wmi config entries alienware-wmi: Update header and module information MAINTAINERS | 4 +- drivers/platform/x86/dell/Kconfig | 30 +- drivers/platform/x86/dell/Makefile | 45 +- .../platform/x86/dell/alienware-wmi-base.c | 492 +++++++ .../platform/x86/dell/alienware-wmi-legacy.c | 98 ++ .../platform/x86/dell/alienware-wmi-wmax.c | 775 ++++++++++ drivers/platform/x86/dell/alienware-wmi.c | 1269 ----------------- drivers/platform/x86/dell/alienware-wmi.h | 101 ++ 8 files changed, 1518 insertions(+), 1296 deletions(-) create mode 100644 drivers/platform/x86/dell/alienware-wmi-base.c create mode 100644 drivers/platform/x86/dell/alienware-wmi-legacy.c create mode 100644 drivers/platform/x86/dell/alienware-wmi-wmax.c delete mode 100644 drivers/platform/x86/dell/alienware-wmi.c create mode 100644 drivers/platform/x86/dell/alienware-wmi.h base-commit: 03f8e0e05510dad6377cd5ef029594d30e6c096d -- 2.47.1