aboutsummaryrefslogtreecommitdiffstats
path: root/samples/rust/rust_driver_pci.rs
diff options
context:
space:
mode:
authorAsahi Lina <[email protected]>2025-04-10 23:55:26 +0000
committerDanilo Krummrich <[email protected]>2025-04-28 08:08:23 +0000
commitc284d3e423382be3591d5b1e402e330e6c3f726c (patch)
tree965a13ac0a22001bf864e3512ce70467a2a560b1 /samples/rust/rust_driver_pci.rs
parentrust: drm: file: Add File abstraction (diff)
downloadkernel-c284d3e423382be3591d5b1e402e330e6c3f726c.tar.gz
kernel-c284d3e423382be3591d5b1e402e330e6c3f726c.zip
rust: drm: gem: Add GEM object abstraction
DRM GEM is the DRM memory management subsystem used by most modern drivers; add a Rust abstraction for DRM GEM. This includes the BaseObject trait, which contains operations shared by all GEM object classes. Signed-off-by: Asahi Lina <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Lyude Paul <[email protected]> Link: https://lore.kernel.org/r/[email protected] [ Rework of GEM object abstractions * switch to the Opaque<T> type * fix (mutable) references to struct drm_gem_object (which in this context is UB) * drop all custom reference types in favor of AlwaysRefCounted * bunch of minor changes and simplifications (e.g. IntoGEMObject trait) * write and fix safety and invariant comments * remove necessity for and convert 'as' casts * original source archive: https://archive.is/dD5SL - Danilo ] [ Fix missing CONFIG_DRM guards in rust/helpers/drm.c. - Danilo ] Signed-off-by: Danilo Krummrich <[email protected]>
Diffstat (limited to 'samples/rust/rust_driver_pci.rs')
0 files changed, 0 insertions, 0 deletions