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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 19.12.24 18:04, 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].
> 
> Changes in v7:
> ==============
> - Revocable:
>   - replace `compare_exchange` with `swap`
> 
> - Driver:
>   - fix warning when CONFIG_OF=n
> 
> - I/O:
>   - remove unnecessary return statement in rust_helper_iounmap()
>   - fix cast in doctest for `bindings::ioremap`
> 
> - Devres:
>   - fix cast in doctest for `bindings::ioremap`
> 
> - PCI:
>   - remove `Deref` of `pci::DeviceId`
>   - rename `DeviceId` constructors
>     - `new`       -> `from_id`
>     - `with_class -> `from_class`
> 
> - MISC:
>   - use `kernel::ffi::c_*` instead of `core::ffi::c_*`
>   - rebase onto latest rust-next (0c5928deada15a8d075516e6e0d9ee19011bb000)


Not sure if resending is required, but after a quick retest the
Tested-by from v6 still stands:

Tested-by: Dirk Behme <dirk.behme@xxxxxxxxxxxx>

Thanks

Dirk






[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux