rust: kernel: move ARef and AlwaysRefCounted to sync::aref

Move the definitions of `ARef` and `AlwaysRefCounted` from `types.rs`
to a new file `sync/aref.rs`.  Define the corresponding `aref` module
under `rust/kernel/sync.rs`.  These types are better grouped in `sync`.

To avoid breaking existing imports, they are re-exported from `types.rs`.
Drop unused imports `mem::ManuallyDrop`, `ptr::NonNull` from `types.rs`,
they are now only used in `sync/aref.rs`, where they are already imported.

Suggested-by: Benno Lossin <lossin@kernel.org>
Link: https://github.com/Rust-for-Linux/linux/issues/1173
Signed-off-by: Shankari Anand <shankari.ak0208@gmail.com>
Reviewed-by: Benno Lossin <lossin@kernel.org>
Link: https://lore.kernel.org/r/20250715110423.334744-1-shankari.ak0208@gmail.com
[ Added missing `///`. Changed module title. Reworded slightly. - Miguel ]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
This commit is contained in:
Shankari Anand
2025-07-15 16:34:23 +05:30
committed by Miguel Ojeda
parent 4e6b5b8ab3
commit 07dad44aa9
3 changed files with 158 additions and 151 deletions

View File

@@ -10,6 +10,7 @@ use crate::types::Opaque;
use pin_init;
mod arc;
pub mod aref;
pub mod completion;
mod condvar;
pub mod lock;