Re: [RFC PATCH 0/3] platform/x86: uniwill-laptop: Another improvement and another feature
From: Werner Sembach
Date: Wed Apr 22 2026 - 11:35:42 EST
Am 22.04.26 um 13:28 schrieb Armin Wolf:
Am 21.04.26 um 22:01 schrieb Werner Sembach:
Hi,
This series is based on another not yet accepted series
https://lore.kernel.org/all/20260417050912.5582-1-W_Armin@xxxxxx/
RFC because of that, because the third patch is not yet tested, and because
I have a question regarding the 3rd patch:
Should I abstract the call to wmi_evaluate_method away in a wrapper
function in uniwill-wmi somehow, or is it ok to have it straight in the
uniwill-laptop code like that? It is quite self contained.
Best regards,
Werner
Hi,
i prefer having the code for this WMI interface inside a separate file. I think we have to first rename uniwill-wmi* to uniwill-wmi-event*, then the new code can live in uniwill-wmi.c
However we also need some synchronization mechanism between uniwill-acpi and the new uniwill-wmi because some code path need to check EC registers before enabling support for local dimming. I suggest that you use the component framework for that. Basically the new WMI driver registers a component during probing, while the EC acts as a component master _if_ local dimming support is present. When the component and the component master match a sysfs attribute is registered to allow userspace application to control this feature.
Calling the old uniwill-wmi uniwill-wmi-event and the new driver uniwill-wmi from here on:
I haven't yet worked with the component framework, but i wonder: since the same manual register call structure that we already have for uniwill-wmi-event will be also required for uniwill-wmi, can't this call not also be used to exchange callbacks like for uniwill-wmi-event and the notifier block? just the other way around with uniwill-acpi receiving a callback instead of providing one.
ofc these callbacks must be guarded in some way to not accidentally call uninitialized code, if uniwill-wmi fails to init or probe
Thanks,
Armin Wolf
Werner Sembach (3):
platform/x86: uniwill-laptop: Make super key init lineup with other
inits
platform/x86: uniwill-laptop: Implement lightbar for XMG Fusion (L19)
platform/x86: uniwill-laptop: Offer support to activate local dimming
drivers/platform/x86/uniwill/uniwill-acpi.c | 195 ++++++++++++++++++--
1 file changed, 182 insertions(+), 13 deletions(-)