[PATCH 4/4] rust: io: convert to use `#[macro_export_scoped]`
Gary Guo <[email protected]>
| Newsgroups | org.kernel.vger.rust-for-linux,dev.linux.lists.driver-core,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Convert I/O macros that use `#[macro_export]` + `#[doc(hidden)]` trick to use the `#[macro_export_scoped]` macro. Signed-off-by: Gary Guo <[email protected]> --- rust/kernel/io.rs | 27 ++++++++++----------------- 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/rust/kernel/io.rs b/rust/kernel/io.rs index 5ce9fd129068..891a27fe59b6 100644 --- a/rust/kernel/io.rs +++ b/rust/kernel/io.rs @@ -9,6 +9,8 @@ mem::MaybeUninit, // }; +use macros::macro_export_scoped; + use crate::{ bindings, prelude::*, @@ -1673,8 +1675,7 @@ pub unsafe fn project_view<U: ?Sized + KnownSize>( /// let nested: Mmio<'_, u32> = io_project!(whole, .field); /// # Ok::<(), Error>(()) } /// ``` -#[macro_export] -#[doc(hidden)] +#[macro_export_scoped] macro_rules! io_project { ($io:expr, $($proj:tt)*) => {{ #[allow(unused)] @@ -1688,8 +1689,6 @@ macro_rules! io_project { unsafe { view.project_view(ptr) } }}; } -#[doc(inline)] -pub use crate::io_project; /// Read from I/O memory. /// @@ -1707,15 +1706,12 @@ macro_rules! io_project { /// let field: u32 = kernel::io::io_read!(mmio, [try: 2].field); /// # Ok::<(), Error>(()) } /// ``` -#[macro_export] -#[doc(hidden)] +#[macro_export_scoped] macro_rules! io_read { ($io:expr, $($proj:tt)*) => { - $crate::io::Io::read_val($crate::io_project!($io, $($proj)*)) + $crate::io::Io::read_val($crate::io::io_project!($io, $($proj)*)) }; } -#[doc(inline)] -pub use crate::io_read; /// Writes to I/O memory. /// @@ -1734,21 +1730,18 @@ macro_rules! io_read { /// kernel::io::io_write!(mmio, [try: 2].field, 10); /// # Ok::<(), Error>(()) } /// ``` -#[macro_export] -#[doc(hidden)] +#[macro_export_scoped] macro_rules! io_write { (@parse [$io:expr] [$($proj:tt)*] [, $val:expr]) => { - $crate::io::Io::write_val($crate::io_project!($io, $($proj)*), $val) + $crate::io::Io::write_val($crate::io::io_project!($io, $($proj)*), $val) }; (@parse [$io:expr] [$($proj:tt)*] [.$field:tt $($rest:tt)*]) => { - $crate::io_write!(@parse [$io] [$($proj)* .$field] [$($rest)*]) + $crate::io::io_write!(@parse [$io] [$($proj)* .$field] [$($rest)*]) }; (@parse [$io:expr] [$($proj:tt)*] [[$flavor:ident: $index:expr] $($rest:tt)*]) => { - $crate::io_write!(@parse [$io] [$($proj)* [$flavor: $index]] [$($rest)*]) + $crate::io::io_write!(@parse [$io] [$($proj)* [$flavor: $index]] [$($rest)*]) }; ($io:expr, $($rest:tt)*) => { - $crate::io_write!(@parse [$io] [] [$($rest)*]) + $crate::io::io_write!(@parse [$io] [] [$($rest)*]) }; } -#[doc(inline)] -pub use crate::io_write; -- 2.54.0