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(-)