Re: [PATCH v7 00/14] platform/x86: alienware-wmi driver rework
From: Kurt Borja
Date: Mon Feb 03 2025 - 11:15:45 EST
On Mon Feb 3, 2025 at 10:34 AM -05, Armin Wolf wrote:
> Am 03.02.25 um 07:20 schrieb Kurt Borja:
>
>> Hi!
>>
>> I bring some last minute modifications.
>>
>> I found commit
>>
>> 8d8fc146dd7a ("nvmem: core: switch to use device_add_groups()")
>>
>> which states that it's unnecesary to call device_remove_groups() when
>> the device is removed, so I dropped it to simplify things.
>
> What? That sound quite strange to me. I CCed Greg because i am curious how this
> should work.
I'm curious too!
I found it while searching for something like devm_device_add_groups
which it turns out, was removed from the kernel.
>
>>
>> I also found commit
>>
>> 957961b6dcc8 ("hwmon: (oxp-sensors) Move tt_toggle attribute to dev_groups")
>>
>> which states that no driver should add sysfs groups while probing the
>> device as it races with userspace, so I re-added PROBE_FORCE_SYNCHRONOUS
>> to the platform driver, so groups are added only after the device has
>> finished probing.
>
> Using PROBE_FORCE_SYNCHRONOUS is not going to solve this problem here, please remove it.
Yes, I'm going for Ilpo's .dev_groups approach.
~ Kurt
>
> Thanks,
> Armin Wolf
>
>> I'm not 100% sure that the second commit message applies here, but it is
>> revd-by Greg K-H so I added it just in case.
>>
>> Aside from that, I added .pprof to awcc_quirks because I'm going to add
>> support for new features after this series, and it makes sense that
>> force_platform_profile only forces the pprof and not other upcoming
>> features.
>>
>> ~ Kurt
>> ---
>> [02/14]
>> - In alienware_alienfx_setup() add a devm action to remove the created
>> platform device
>> - Drop device_remove_groups() in WMAX .remove callback
>> - Add PROBE_FORCE_SYNCHRONOUS to the platform driver
>> - Drop .remove callbacks on both WMI drivers
>>
>> [03/14]
>> - Add awcc_platform_profile_init() to create the platform_profile
>> device on quirks->thermal == true condition
>>
>> [07/14]
>> - Add .pprof to awcc_quirks
>>
>> [10/14]
>> - Drop unused member `quirks` on `alienfx_priv` (remnant of another
>> version)
>>
>> v6: https://lore.kernel.org/platform-driver-x86/20250127040406.17112-1-kuurtb@xxxxxxxxx/
>>
>> Kurt Borja (14):
>> platform/x86: alienware-wmi: Add a state container for LED control
>> feature
>> platform/x86: alienware-wmi: Add WMI Drivers
>> platform/x86: alienware-wmi: Add a state container for thermal control
>> methods
>> platform/x86: alienware-wmi: Refactor LED control methods
>> platform/x86: alienware-wmi: Refactor hdmi, amplifier, deepslp methods
>> platform/x86: alienware-wmi: Refactor thermal control methods
>> platform/x86: 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
>> platform/x86: 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 | 496 +++++++
>> .../platform/x86/dell/alienware-wmi-legacy.c | 95 ++
>> .../platform/x86/dell/alienware-wmi-wmax.c | 790 +++++++++++
>> drivers/platform/x86/dell/alienware-wmi.c | 1249 -----------------
>> drivers/platform/x86/dell/alienware-wmi.h | 101 ++
>> 8 files changed, 1534 insertions(+), 1276 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: 05dbaf8dd8bf537d4b4eb3115ab42a5fb40ff1f5