mirror of
https://github.com/torvalds/linux.git
synced 2025-11-02 01:29:02 +02:00
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 <lina@asahilina.net> Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Reviewed-by: Lyude Paul <lyude@redhat.com> Link: https://lore.kernel.org/r/20250410235546.43736-8-dakr@kernel.org [ 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 <dakr@kernel.org> |
||
|---|---|---|
| .. | ||
| auxiliary.c | ||
| blk.c | ||
| bug.c | ||
| build_assert.c | ||
| build_bug.c | ||
| cpumask.c | ||
| cred.c | ||
| device.c | ||
| drm.c | ||
| err.c | ||
| fs.c | ||
| helpers.c | ||
| io.c | ||
| jump_label.c | ||
| kunit.c | ||
| mutex.c | ||
| page.c | ||
| pci.c | ||
| pid_namespace.c | ||
| platform.c | ||
| rbtree.c | ||
| rcu.c | ||
| refcount.c | ||
| security.c | ||
| signal.c | ||
| slab.c | ||
| spinlock.c | ||
| sync.c | ||
| task.c | ||
| uaccess.c | ||
| vmalloc.c | ||
| wait.c | ||
| workqueue.c | ||