Re: [PATCH v10 2/5] rust: io: separate generic I/O helpers from MMIO implementation
From: Gary Guo
Date: Tue Jan 20 2026 - 12:35:27 EST
On Tue Jan 20, 2026 at 5:26 PM GMT, Zhi Wang wrote:
> On Tue, 20 Jan 2026 11:12:18 +0100
> "Danilo Krummrich" <dakr@xxxxxxxxxx> wrote:
>
> Hey folks:
>
> Thanks for the comments and RBs! Agreed. I will adopt this approach in
> v11: using a single series of IoCapable<T> traits and retaining
> IoKnownSize.
Thanks a lot for doing all of this.
Best,
Gary
>
> Z.
>
>> On Tue Jan 20, 2026 at 9:04 AM CET, Alice Ryhl wrote:
>> > On Mon, Jan 19, 2026 at 10:22:44PM +0200, Zhi Wang wrote:
>> > Overall looks good to me. Some comments below:
>> >
>> > I still think it would make sense to have `IoCapable<T>:
>> > IoTryCapable<T>`, but it's not a big deal.
>>
>> I think with this approach it's not necessary to have this requirement.
>> In practice, most impls will have both, but I think it's a good thing
>> that we don't have to have an impl even if not used by any driver, i.e.
>> it helps avoiding dead code.
>>
>> >> + /// Infallible 64-bit read with compile-time bounds check.
>> >> + #[cfg(CONFIG_64BIT)]
>> >> + fn read64(&self, offset: usize) -> u64
>> >> + #[cfg(CONFIG_64BIT)]
>> >> + fn try_read64(&self, offset: usize) -> Result<u64>
>> >
>> > These don't really need cfg(CONFIG_64BIT). You can place that cfg on
>> > impl blocks of IoCapable<u64>.
>>
>> If you agree with the above, I can fix this up when applying the series.