[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <DFTJI4PTLDWM.1F7X1KN1Q264S@garyguo.net>
Date: Tue, 20 Jan 2026 15:59:47 +0000
From: "Gary Guo" <gary@...yguo.net>
To: "Danilo Krummrich" <dakr@...nel.org>, "Alice Ryhl"
<aliceryhl@...gle.com>
Cc: "Zhi Wang" <zhiw@...dia.com>, <rust-for-linux@...r.kernel.org>,
<linux-pci@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<bhelgaas@...gle.com>, <kwilczynski@...nel.org>, <ojeda@...nel.org>,
<alex.gaynor@...il.com>, <boqun.feng@...il.com>, <gary@...yguo.net>,
<bjorn3_gh@...tonmail.com>, <lossin@...nel.org>, <a.hindborg@...nel.org>,
<tmgross@...ch.edu>, <markus.probst@...teo.de>, <helgaas@...nel.org>,
<cjia@...dia.com>, <smitra@...dia.com>, <ankita@...dia.com>,
<aniketa@...dia.com>, <kwankhede@...dia.com>, <targupta@...dia.com>,
<acourbot@...dia.com>, <joelagnelf@...dia.com>, <jhubbard@...dia.com>,
<zhiwang@...nel.org>, <daniel.almeida@...labora.com>
Subject: Re: [PATCH v10 2/5] rust: io: separate generic I/O helpers from
MMIO implementation
On Tue Jan 20, 2026 at 10:12 AM GMT, Danilo Krummrich wrote:
> 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.
Ah, I sent out my review without realizing that Alice is purposing the same.
>
> 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.
I think whether there's a runtime bound checking and whether a IO size is
supported are two orthogonal things, I would rather we have a single series of
`IoCapable<T>` to just indiate the latter and still keep the `IoKnownSize`.
Best,
Gary
>
>>> + /// 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.
Powered by blists - more mailing lists