public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Armin Wolf <W_Armin@gmx.de>
To: Werner Sembach <wse@tuxedocomputers.com>,
	hansg@kernel.org, ilpo.jarvinen@linux.intel.com
Cc: platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH 0/3] platform/x86: uniwill-laptop: Another improvement and another feature
Date: Wed, 22 Apr 2026 18:12:34 +0200	[thread overview]
Message-ID: <46f7d442-04ea-4345-a540-2600a97867ab@gmx.de> (raw)
In-Reply-To: <119c3496-9f2f-460d-9727-251731e32686@tuxedocomputers.com>

Am 22.04.26 um 17:30 schrieb Werner Sembach:
> 
> 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@gmx.de/
>>>
>>> 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

This would indeed be possible, but where would be no mechanism for 
detecting when the WMI driver has finished probing.

I was thinking that the WMI driver uses the component callbacks to pass 
a pointer to its data struct to the component master. Said data struct 
can then by used to change the local dimming status.

I am still not sure when the associated sysfs files should be created. 
We can create them during probing of the EC, but then there will be 
problems should the WMI device take too long/fail to probe. 
Alternatively we can create the sysfs file when the component master 
binds the WMI component, so that the sysfs file will only become visible
once it is operational. We can then issue a uevent towards userspace to 
signal userspace applications that the sysfs attributes of our device 
have changed.

Thanks,
Armin Wolf

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


  reply	other threads:[~2026-04-22 16:12 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-21 20:01 [RFC PATCH 0/3] platform/x86: uniwill-laptop: Another improvement and another feature Werner Sembach
2026-04-21 20:01 ` [RFC PATCH 1/3] platform/x86: uniwill-laptop: Make super key init lineup with other inits Werner Sembach
2026-04-22  9:33   ` Ilpo Järvinen
2026-04-22 11:11   ` Armin Wolf
2026-04-21 20:01 ` [RFC PATCH 2/3] platform/x86: uniwill-laptop: Implement lightbar for XMG Fusion (L19) Werner Sembach
2026-04-22  9:34   ` Ilpo Järvinen
2026-04-22 11:17   ` Armin Wolf
2026-04-22 11:29     ` Armin Wolf
2026-04-22 13:13     ` Werner Sembach
2026-04-21 20:01 ` [RFC PATCH 3/3] platform/x86: uniwill-laptop: Offer support to activate local dimming Werner Sembach
2026-04-21 22:03   ` Armin Wolf
2026-04-22 11:28 ` [RFC PATCH 0/3] platform/x86: uniwill-laptop: Another improvement and another feature Armin Wolf
2026-04-22 15:30   ` Werner Sembach
2026-04-22 16:12     ` Armin Wolf [this message]
2026-04-24 12:28       ` Werner Sembach

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=46f7d442-04ea-4345-a540-2600a97867ab@gmx.de \
    --to=w_armin@gmx.de \
    --cc=hansg@kernel.org \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=wse@tuxedocomputers.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox