rust: Enable the new_uninit feature for kernel and driver crates
authorAsahi Lina <lina@asahilina.net>
Fri, 24 Feb 2023 08:09:47 +0000 (17:09 +0900)
committerMiguel Ojeda <ojeda@kernel.org>
Mon, 10 Apr 2023 03:21:15 +0000 (05:21 +0200)
commit3c01a424a37fe625052c68c8620f6aa701f77769
tree3cddd7f3563af9820c0f544b29567037d1319a24
parentf431c5c581fa176f608ba3fdebb3c1051bad5774
rust: Enable the new_uninit feature for kernel and driver crates

The unstable new_uninit feature enables various library APIs to create
uninitialized containers, such as `Box::assume_init()`. This is
necessary to build abstractions that directly initialize memory at the
target location, instead of doing copies through the stack.

Will be used by the DRM scheduler abstraction in the kernel crate, and
by field-wise initialization (e.g. using `place!()` or a future
replacement macro which may itself live in `kernel`) in driver crates.

Link: https://github.com/Rust-for-Linux/linux/issues/879
Link: https://github.com/Rust-for-Linux/linux/issues/2
Link: https://github.com/rust-lang/rust/issues/63291
Signed-off-by: Asahi Lina <lina@asahilina.net>
Reviewed-by: Martin Rodriguez Reboredo <yakoyoku@gmail.com>
Reviewed-by: Gary Guo <gary@garyguo.net>
Reviewed-by: Andreas Hindborg <a.hindborg@samsung.com>
Reviewed-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
Link: https://lore.kernel.org/r/20230224-rust-new_uninit-v1-1-c951443d9e26@asahilina.net
[ Reworded to use `Link` tags. ]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
rust/kernel/lib.rs
scripts/Makefile.build