Re: [PATCH 3/3] rust: add WMI abstractions
From: Gladyshev Ilya
Date: Fri Jan 09 2026 - 06:14:59 EST
On 1/8/26 22:48, Kari Argillander wrote:
On Wed, 7 Jan 2026 at 22:56, Gladyshev Ilya <foxido@xxxxxxxxxx> wrote:
[snip]
+ /// WMI device notify.
+ ///
+ /// Called when new WMI event received from bounded device.
+ fn notify(self: Pin<&Self>, _dev: &Device<device::Core>, _event: Option<&AcpiObject>) {
This should be device::Bound
Also probably _ marks are not needed. I think compiler does give
unused build warnings.
I do not know reason but usually other drivers use this over self. And
device first so this
would be:
fn notify(dev: &Device<device::Bound>, this: Pin<&Self>, event:
Option<&AcpiObject>) {
Same also in unbind. But like I said I'm not completely sure about this.
I thought the reason for using this instead of self was because of the
limited set of possible self types in previous versions of Rust...
IMO using Rust's self is more readable
+ build_error!(VTABLE_DEFAULT_ERROR);
+ }
+
+ /// WMI driver remove.
+ fn unbind(self: Pin<&Self>, _dev: &Device<device::Core>) {
+ build_error!(VTABLE_DEFAULT_ERROR);
+ }
unbind should not be mandatory so here just do
It's not mandatory, that why there is default implementation. See
https://rust.docs.kernel.org/macros/attr.vtable.html
For other comments: Ack, thanks!