diff options
Diffstat (limited to 'drivers/char/rust_example')
-rw-r--r-- | drivers/char/rust_example/src/lib.rs | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/drivers/char/rust_example/src/lib.rs b/drivers/char/rust_example/src/lib.rs index 56562b840d9c..e058124bb662 100644 --- a/drivers/char/rust_example/src/lib.rs +++ b/drivers/char/rust_example/src/lib.rs @@ -5,6 +5,26 @@ use kernel::prelude::*; +module!{ + typename: RustExample, + name: b"rust_example", + author: b"Rust for Linux Contributors", + description: b"An example kernel module written in Rust", + license: b"GPL v2", + params: { + my_bool: bool { + default_: true, + permissions: 0, + description: b"Example of bool", + }, + my_i32: i32 { + default_: 42, + permissions: 0o644, + description: b"Example of i32", + }, + }, +} + struct RustExample { message: String, } @@ -13,6 +33,9 @@ impl KernelModule for RustExample { fn init() -> KernelResult<Self> { println!("Rust Example (init)"); println!("Am I built-in? {}", !cfg!(MODULE)); + println!("Parameters:"); + println!(" my_bool: {}", my_bool.read()); + println!(" my_i32: {}", my_i32.read()); Ok(RustExample { message: "on the heap!".to_owned(), }) @@ -26,9 +49,3 @@ impl Drop for RustExample { } } -kernel_module!( - RustExample, - author: b"Rust for Linux Contributors", - description: b"An example kernel module written in Rust", - license: b"GPL v2" -); |