summaryrefslogtreecommitdiffstats
path: root/drivers/char/rust_example/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/char/rust_example/src/lib.rs')
-rw-r--r--drivers/char/rust_example/src/lib.rs29
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..e8405f12ce44 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!{
+ type: 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"
-);