[PATCH v2 00/20] alienware-wmi driver rework

Kurt Borja posted 20 patches 11 months, 3 weeks ago
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
[PATCH v2 00/20] alienware-wmi driver rework
Posted by Kurt Borja 11 months, 3 weeks ago
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@gmail.com/

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
Re: [PATCH v2 00/20] alienware-wmi driver rework
Posted by Armin Wolf 11 months, 2 weeks ago
Am 29.12.24 um 20:44 schrieb Kurt Borja:

> Hi!
>
> Happy holidays. :)

Hi,

i just noticed that your patch are missing the "platform/x86:" prefix. Please add this prefix
for the next patch revision.

Thanks,
Armin Wolf

>
> ~ 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@gmail.com/
>
> 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
Re: [PATCH v2 00/20] alienware-wmi driver rework
Posted by Kurt Borja 11 months, 2 weeks ago
On Thu, Jan 02, 2025 at 04:50:05PM +0100, Armin Wolf wrote:
> Am 29.12.24 um 20:44 schrieb Kurt Borja:
> 
> > Hi!
> > 
> > Happy holidays. :)
> 
> Hi,
> 
> i just noticed that your patch are missing the "platform/x86:" prefix. Please add this prefix
> for the next patch revision.

I will.

Thanks again for your review Armin!

~ Kurt

> 
> Thanks,
> Armin Wolf
> 
> > 
> > ~ 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@gmail.com/
> > 
> > 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