> On 11 Jul 2025, at 08:43, Andreas Hindborg <a.hindborg@xxxxxxxxxx> wrote: > > Add a few block subsystem constants to the rust `kernel::block` name space. > This makes it easier to access the constants from rust code. > > Signed-off-by: Andreas Hindborg <a.hindborg@xxxxxxxxxx> > --- > rust/kernel/block.rs | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/rust/kernel/block.rs b/rust/kernel/block.rs > index 150f710efe5b..7461adf4d7e0 100644 > --- a/rust/kernel/block.rs > +++ b/rust/kernel/block.rs > @@ -3,3 +3,15 @@ > //! Types for working with the block layer. > > pub mod mq; > + > +/// Bit mask for masking out [`SECTOR_SIZE`] Missing period. > +pub const SECTOR_MASK: u32 = bindings::SECTOR_MASK; > + > +/// Sectors are size `1 << SECTOR_SHIFT`. > +pub const SECTOR_SHIFT: u32 = bindings::SECTOR_SHIFT; > + > +/// Size of a sector. > +pub const SECTOR_SIZE: u32 = bindings::SECTOR_SIZE; > + > +/// Power of two difference in size of a page and size of a sector. A bit hard to parse this. Maybe “The difference between the size of a page and the size of a sector, expressed as a power of two” ? > +pub const PAGE_SECTORS_SHIFT: u32 = bindings::PAGE_SECTORS_SHIFT; > > -- > 2.47.2 > > > let sector: usize = something; let page_offset = (sector & block::SECTOR_MASK as usize) << block::SECTOR_SHIFT; Wait, the parenthesis evaluate to usize, and the shift is a u32. How does this compile? — Daniel