summaryrefslogtreecommitdiffstats
path: root/rust/kernel/alloc/layout.rs
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2025-10-13 13:32:13 +0100
committerMark Brown <broonie@kernel.org>2025-10-13 13:32:13 +0100
commit4f38da1f027ea2c9f01bb71daa7a299c191b6940 (patch)
tree701d1096f1a3df53ecf2a0231d2ed9a868c9b4b3 /rust/kernel/alloc/layout.rs
parent18a5f1af596e6ba22cd40ada449063041f3ce6d4 (diff)
parent3a8660878839faadb4f1a6dd72c3179c1df56787 (diff)
downloadlinux-4f38da1f027ea2c9f01bb71daa7a299c191b6940.tar.gz
linux-4f38da1f027ea2c9f01bb71daa7a299c191b6940.zip
spi: Merge up v6.18-rc1
Ensure my CI has a sensible baseline.
Diffstat (limited to 'rust/kernel/alloc/layout.rs')
-rw-r--r--rust/kernel/alloc/layout.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/rust/kernel/alloc/layout.rs b/rust/kernel/alloc/layout.rs
index 93ed514f7cc7..9f8be72feb7a 100644
--- a/rust/kernel/alloc/layout.rs
+++ b/rust/kernel/alloc/layout.rs
@@ -80,7 +80,7 @@ impl<T> ArrayLayout<T> {
/// # Safety
///
/// `len` must be a value, for which `len * size_of::<T>() <= isize::MAX` is true.
- pub unsafe fn new_unchecked(len: usize) -> Self {
+ pub const unsafe fn new_unchecked(len: usize) -> Self {
// INVARIANT: By the safety requirements of this function
// `len * size_of::<T>() <= isize::MAX`.
Self {
@@ -98,6 +98,11 @@ impl<T> ArrayLayout<T> {
pub const fn is_empty(&self) -> bool {
self.len == 0
}
+
+ /// Returns the size of the [`ArrayLayout`] in bytes.
+ pub const fn size(&self) -> usize {
+ self.len() * core::mem::size_of::<T>()
+ }
}
impl<T> From<ArrayLayout<T>> for Layout {