+3
−0
rust/kernel/ptr.rs
0 → 100644
+228
−0
Loading
Alignment operations are very common in the kernel. Since they are always performed using a power-of-two value, enforcing this invariant through a dedicated type leads to fewer bugs and can improve the generated code. Introduce the `Alignment` type, inspired by the nightly Rust type of the same name and providing the same interface, and a new `Alignable` trait allowing unsigned integers to be aligned up or down. Reviewed-by:Alice Ryhl <aliceryhl@google.com> Reviewed-by:
Danilo Krummrich <dakr@kernel.org> Signed-off-by:
Alexandre Courbot <acourbot@nvidia.com> [ Used `build_assert!`, added intra-doc link, `allow`ed `clippy::incompatible_msrv`, added `feature(const_option)`, capitalized safety comment. - Miguel ] Signed-off-by:
Miguel Ojeda <ojeda@kernel.org>