tracing: Use guard() rather than scoped_guard()
[drm/drm-misc.git] / samples / rust / rust_minimal.rs
blob2a9eaab62d1ca73bfa004b61a18c647e3f15e851
1 // SPDX-License-Identifier: GPL-2.0
3 //! Rust minimal sample.
5 use kernel::prelude::*;
7 module! {
8     type: RustMinimal,
9     name: "rust_minimal",
10     author: "Rust for Linux Contributors",
11     description: "Rust minimal sample",
12     license: "GPL",
15 struct RustMinimal {
16     numbers: Vec<i32>,
19 impl kernel::Module for RustMinimal {
20     fn init(_module: &'static ThisModule) -> Result<Self> {
21         pr_info!("Rust minimal sample (init)\n");
22         pr_info!("Am I built-in? {}\n", !cfg!(MODULE));
24         let mut numbers = Vec::new();
25         numbers.push(72, GFP_KERNEL)?;
26         numbers.push(108, GFP_KERNEL)?;
27         numbers.push(200, GFP_KERNEL)?;
29         Ok(RustMinimal { numbers })
30     }
33 impl Drop for RustMinimal {
34     fn drop(&mut self) {
35         pr_info!("My numbers are {:?}\n", self.numbers);
36         pr_info!("Rust minimal sample (exit)\n");
37     }