Re: [PATCH v3 00/16] Device / Driver PCI / Platform Rust abstractions
From: Janne Grunau
Date: Sat Nov 16 2024 - 09:33:02 EST
On Tue, Oct 22, 2024 at 11:31:37PM +0200, 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 platfrom 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].
A rebase of the asahi driver onto this series still probes the platform
device and the driver works as expected.
Feel free to add
Tested-by: Janne Grunau <j@jannau>
We plan to import this series for the Asahi Linux downstream kernel
starting with v6.12 and replace the old rust-for-linux Device/Driver
abstractions with this.
Janne