The sibling `build_assert!` is already in the prelude, it makes sense that a "core"/"language" facility like this is part of the prelude and users should not be defining their own one (thus there should be no risk of future name collisions and we would want to be aware of them anyway). Thus add `build_error!` into the prelude. Reviewed-by: Alice Ryhl <aliceryhl@google.com> Link: https://lore.kernel.org/r/20241123222849.350287-3-ojeda@kernel.org [ Applied the change to the new miscdevice cases. - Miguel ] Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
41 lines
1.1 KiB
Rust
41 lines
1.1 KiB
Rust
// SPDX-License-Identifier: GPL-2.0
|
|
|
|
//! The `kernel` prelude.
|
|
//!
|
|
//! These are the most common items used by Rust code in the kernel,
|
|
//! intended to be imported by all Rust code, for convenience.
|
|
//!
|
|
//! # Examples
|
|
//!
|
|
//! ```
|
|
//! use kernel::prelude::*;
|
|
//! ```
|
|
|
|
#[doc(no_inline)]
|
|
pub use core::pin::Pin;
|
|
|
|
pub use crate::alloc::{flags::*, Box, KBox, KVBox, KVVec, KVec, VBox, VVec, Vec};
|
|
|
|
#[doc(no_inline)]
|
|
pub use macros::{module, pin_data, pinned_drop, vtable, Zeroable};
|
|
|
|
pub use super::{build_assert, build_error};
|
|
|
|
// `super::std_vendor` is hidden, which makes the macro inline for some reason.
|
|
#[doc(no_inline)]
|
|
pub use super::dbg;
|
|
pub use super::fmt;
|
|
pub use super::{dev_alert, dev_crit, dev_dbg, dev_emerg, dev_err, dev_info, dev_notice, dev_warn};
|
|
pub use super::{pr_alert, pr_crit, pr_debug, pr_emerg, pr_err, pr_info, pr_notice, pr_warn};
|
|
|
|
pub use super::{init, pin_init, try_init, try_pin_init};
|
|
|
|
pub use super::static_assert;
|
|
|
|
pub use super::error::{code::*, Error, Result};
|
|
|
|
pub use super::{str::CStr, ThisModule};
|
|
|
|
pub use super::init::{InPlaceInit, InPlaceWrite, Init, PinInit};
|
|
|
|
pub use super::current;
|