Re: [PATCH v2 02/16] rust: io: add `IoRepr` trait

[email protected] Wed, 05 Aug 2026 16:46:32 +0000
Newsgroups gmane.linux.kernel.pci,gmane.comp.video.dri.devel
Message-ID <[email protected]>
> For types that are layout-compatible with an I/O capable type, we would
> want the ability to use them directly for I/O operations. E.g.
> 
>     bitfield! {
>         pub struct Foo(u32) {
>             ...
>         }
>     }
> 
>     #[repr(C)]
>     struct Bar {
>         foo: Foo,
>     }
> 
>     let mmio: Mmio<'_, Bar> = ...;
>     io_read!(mmio, .foo)
> 
> Currently this feature is available from `register!()` macro but not
> otherwise available with `io_read!`, `io_write!`. Support this by adding a
> `IoRepr` type to denote the underlying I/O type to use for a specific type.
> 
> This makes the `IoLoc::IoType` and `Register::Storage` redundant; thus
> remove them; also convert register methods to use the `read_val` and
> `write_val` instead.
> 
> Signed-off-by: Gary Guo <[email protected]>

Sashiko has reviewed this patch and found no issues. It looks great!

-- 
Sashiko AI review ยท https://sashiko.dev/#/patchset/[email protected]?part=2