Commit 4401565f authored by Miguel Ojeda's avatar Miguel Ojeda
Browse files

rust: add `build_error!` to the prelude



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: default avatarAlice 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: default avatarMiguel Ojeda <ojeda@kernel.org>
parent 614724e7
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@
    block::mq::request::RequestDataWrapper,
    block::mq::Request,
    error::{from_result, Result},
    prelude::*,
    types::ARef,
};
use core::{marker::PhantomData, sync::atomic::AtomicU64, sync::atomic::Ordering};
@@ -35,7 +36,7 @@ pub trait Operations: Sized {
    /// Called by the kernel to poll the device for completed requests. Only
    /// used for poll queues.
    fn poll() -> bool {
        crate::build_error!(crate::error::VTABLE_DEFAULT_ERROR)
        build_error!(crate::error::VTABLE_DEFAULT_ERROR)
    }
}

+0 −1
Original line number Diff line number Diff line
@@ -14,7 +14,6 @@
/// # Examples
///
/// ```
/// # use kernel::build_error;
/// #[inline]
/// fn foo(a: usize) -> usize {
///     a.checked_add(1).unwrap_or_else(|| build_error!("overflow"))
+2 −2
Original line number Diff line number Diff line
@@ -116,7 +116,7 @@ fn ioctl(
        _cmd: u32,
        _arg: usize,
    ) -> Result<isize> {
        kernel::build_error!(VTABLE_DEFAULT_ERROR)
        build_error!(VTABLE_DEFAULT_ERROR)
    }

    /// Handler for ioctls.
@@ -132,7 +132,7 @@ fn compat_ioctl(
        _cmd: u32,
        _arg: usize,
    ) -> Result<isize> {
        kernel::build_error!(VTABLE_DEFAULT_ERROR)
        build_error!(VTABLE_DEFAULT_ERROR)
    }
}

+9 −9
Original line number Diff line number Diff line
@@ -587,17 +587,17 @@ pub trait Driver {

    /// Issues a PHY software reset.
    fn soft_reset(_dev: &mut Device) -> Result {
        kernel::build_error!(VTABLE_DEFAULT_ERROR)
        build_error!(VTABLE_DEFAULT_ERROR)
    }

    /// Sets up device-specific structures during discovery.
    fn probe(_dev: &mut Device) -> Result {
        kernel::build_error!(VTABLE_DEFAULT_ERROR)
        build_error!(VTABLE_DEFAULT_ERROR)
    }

    /// Probes the hardware to determine what abilities it has.
    fn get_features(_dev: &mut Device) -> Result {
        kernel::build_error!(VTABLE_DEFAULT_ERROR)
        build_error!(VTABLE_DEFAULT_ERROR)
    }

    /// Returns true if this is a suitable driver for the given phydev.
@@ -609,32 +609,32 @@ fn match_phy_device(_dev: &Device) -> bool {
    /// Configures the advertisement and resets auto-negotiation
    /// if auto-negotiation is enabled.
    fn config_aneg(_dev: &mut Device) -> Result {
        kernel::build_error!(VTABLE_DEFAULT_ERROR)
        build_error!(VTABLE_DEFAULT_ERROR)
    }

    /// Determines the negotiated speed and duplex.
    fn read_status(_dev: &mut Device) -> Result<u16> {
        kernel::build_error!(VTABLE_DEFAULT_ERROR)
        build_error!(VTABLE_DEFAULT_ERROR)
    }

    /// Suspends the hardware, saving state if needed.
    fn suspend(_dev: &mut Device) -> Result {
        kernel::build_error!(VTABLE_DEFAULT_ERROR)
        build_error!(VTABLE_DEFAULT_ERROR)
    }

    /// Resumes the hardware, restoring state if needed.
    fn resume(_dev: &mut Device) -> Result {
        kernel::build_error!(VTABLE_DEFAULT_ERROR)
        build_error!(VTABLE_DEFAULT_ERROR)
    }

    /// Overrides the default MMD read function for reading a MMD register.
    fn read_mmd(_dev: &mut Device, _devnum: u8, _regnum: u16) -> Result<u16> {
        kernel::build_error!(VTABLE_DEFAULT_ERROR)
        build_error!(VTABLE_DEFAULT_ERROR)
    }

    /// Overrides the default MMD write function for writing a MMD register.
    fn write_mmd(_dev: &mut Device, _devnum: u8, _regnum: u16, _val: u16) -> Result {
        kernel::build_error!(VTABLE_DEFAULT_ERROR)
        build_error!(VTABLE_DEFAULT_ERROR)
    }

    /// Callback for notification of link change.
+1 −1
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@
#[doc(no_inline)]
pub use macros::{module, pin_data, pinned_drop, vtable, Zeroable};

pub use super::build_assert;
pub use super::{build_assert, build_error};

// `super::std_vendor` is hidden, which makes the macro inline for some reason.
#[doc(no_inline)]
Loading