Re: [PATCH v6 00/16] Device / Driver PCI / Platform Rust abstractions

From: Danilo Krummrich
Date: Mon Dec 16 2024 - 11:19:41 EST


On Fri, Dec 13, 2024 at 08:06:13AM +0100, Dirk Behme wrote:
> On 12.12.24 17:33, Danilo Krummrich wrote:
> > This patch series implements the necessary Rust abstractions to implement
> > device drivers in Rust.
> >
> > This includes some basic generalizations for driver registration, handling of ID
> > tables, MMIO operations and device resource handling.
> >
> > Those generalizations are used to implement device driver support for two
> > busses, the PCI and platform bus (with OF IDs) in order to provide some evidence
> > that the generalizations work as intended.
> >
> > The patch series also includes two patches adding two driver samples, one PCI
> > driver and one platform driver.
> >
> > The PCI bits are motivated by the Nova driver project [1], but are used by at
> > least one more OOT driver (rnvme [2]).
> >
> > The platform bits, besides adding some more evidence to the base abstractions,
> > are required by a few more OOT drivers aiming at going upstream, i.e. rvkms [3],
> > cpufreq-dt [4], asahi [5] and the i2c work from Fabien [6].
> >
> > The patches of this series can also be [7], [8] and [9].
>
> With v6.13-rc2 and Fabien's regmap/regulator/I2C on top I gave it a
> try on x86 with qemu. Additionally cross compiled for arm64 and will
> try it on real hardware once I have it available. But previous
> versions of this series have been fine on that, already. No issues
> observed for running the samples and for the examples/KUnit. So:
>
> Tested-by: Dirk Behme <dirk.behme@xxxxxxxxxxxx>

Thanks for testing all this, very much appreciated!

>
> Many thanks!
>
> Dirk