1247b365dSWedson Almeida Filho // SPDX-License-Identifier: GPL-2.0 2247b365dSWedson Almeida Filho 3247b365dSWedson Almeida Filho //! The `kernel` prelude. 4247b365dSWedson Almeida Filho //! 5247b365dSWedson Almeida Filho //! These are the most common items used by Rust code in the kernel, 6247b365dSWedson Almeida Filho //! intended to be imported by all Rust code, for convenience. 7247b365dSWedson Almeida Filho //! 8247b365dSWedson Almeida Filho //! # Examples 9247b365dSWedson Almeida Filho //! 10247b365dSWedson Almeida Filho //! ``` 11247b365dSWedson Almeida Filho //! use kernel::prelude::*; 12247b365dSWedson Almeida Filho //! ``` 13247b365dSWedson Almeida Filho 14dec1df54SFinn Behrens #[doc(no_inline)] 15247b365dSWedson Almeida Filho pub use core::pin::Pin; 16474be445SMiguel Ojeda 17dec1df54SFinn Behrens #[doc(no_inline)] 18474be445SMiguel Ojeda pub use alloc::{boxed::Box, vec::Vec}; 19474be445SMiguel Ojeda 20dec1df54SFinn Behrens #[doc(no_inline)] 21*071cedc8SBenno Lossin pub use macros::{module, pin_data, pinned_drop, vtable, Zeroable}; 22474be445SMiguel Ojeda 230f595babSGary Guo pub use super::build_assert; 240f595babSGary Guo 25dec1df54SFinn Behrens // `super::std_vendor` is hidden, which makes the macro inline for some reason. 26dec1df54SFinn Behrens #[doc(no_inline)] 27dec1df54SFinn Behrens pub use super::dbg; 28dec1df54SFinn Behrens pub use super::{pr_alert, pr_crit, pr_debug, pr_emerg, pr_err, pr_info, pr_notice, pr_warn}; 29474be445SMiguel Ojeda 308586f1acSBenno Lossin pub use super::{init, pin_init, try_init, try_pin_init}; 318586f1acSBenno Lossin 32ef9e3797SMiguel Ojeda pub use super::static_assert; 33ef9e3797SMiguel Ojeda 3425d176a4SWedson Almeida Filho pub use super::error::{code::*, Error, Result}; 35474be445SMiguel Ojeda 36d126d238SGary Guo pub use super::{str::CStr, ThisModule}; 378586f1acSBenno Lossin 388586f1acSBenno Lossin pub use super::init::{InPlaceInit, Init, PinInit}; 398da7a2b7SWedson Almeida Filho 408da7a2b7SWedson Almeida Filho pub use super::current; 41