Re: WMI and Kernel:User interface

Pali Rohár
2017-06-13T17:16:20Z

[-- Attachment #1: Type: Text/Plain, Size: 1665 bytes --]

On Tuesday 13 June 2017 17:38:57 Darren Hart wrote:
> I'll mention this again I suspect in this thread, but rather than a
> "WMI filter" we can implement a "WMI proxy". If a kernel driver
> needs to own certain WMI calls for LED or Radio management, for
> example, all such calls can be proxied through that driver. It can
> do the necessary work to update its own state, and still perform the
> requested funtion, transparent to the userspace caller. This should
> accommodate the addition of new drivers and features to kernel
> drivers, without precluding the development of userspace management
> or platform daemons.

Such WMI proxy implemented in every WMI driver has one design problem:

There would be two different kernel APIs to configure some firmware
settings. E.g. if particular WMI method implements turning on/off radio
devices, then functionality would be exported to userspace via:

1) standard kernel rfkill interface which is device/driver/firmware
neutral (and any rfkill application can control it)

2) platform/firmware specific WMI method via newly standard /dev/wmi*
interface -- and only vendor specific application could do that and it
would work only for this one specific WMI GUID device

I do not like idea to have two kernel <--> userspace interfaces to
control one thing, plus one interface would be platform dependent.

In my opinion any management application which want to control radio
switches should use option 1) rfkill interface.

And I do not see reason for exporting same duplicate, but platform
dependent interface from kernel to userspace.

--
Pali Rohár
pali.rohar@gmail.com

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 198 bytes --]