summaryrefslogtreecommitdiff
path: root/rust/kernel/drm/mod.rs
diff options
context:
space:
mode:
authorAsahi Lina <lina@asahilina.net>2025-04-11 01:55:24 +0200
committerDanilo Krummrich <dakr@kernel.org>2025-04-24 14:00:13 +0200
commit0600032c54b7adc309d334c109374433ce3ab243 (patch)
tree9a03e0ae948b43047ff5a1f83552cc6613bc87a9 /rust/kernel/drm/mod.rs
parent1e4b8896c0f3cb305a32870e1d8624f1155072d5 (diff)
rust: drm: add DRM driver registration
Implement the DRM driver `Registration`. The `Registration` structure is responsible to register and unregister a DRM driver. It makes use of the `Devres` container in order to allow the `Registration` to be owned by devres, such that it is automatically dropped (and the DRM driver unregistered) once the parent device is unbound. 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-6-dakr@kernel.org [ Rework of drm::Registration * move VTABLE to drm::Device to prevent use-after-free bugs; VTABLE needs to be bound to the lifetime of drm::Device, not the drm::Registration * combine new() and register() to get rid of the registered boolean * remove file_operations * move struct drm_device creation to drm::Device * introduce Devres * original source archive: https://archive.is/Pl9ys - Danilo ] Signed-off-by: Danilo Krummrich <dakr@kernel.org>
Diffstat (limited to 'rust/kernel/drm/mod.rs')
-rw-r--r--rust/kernel/drm/mod.rs1
1 files changed, 1 insertions, 0 deletions
diff --git a/rust/kernel/drm/mod.rs b/rust/kernel/drm/mod.rs
index 967854a2083e..2d88e70ba607 100644
--- a/rust/kernel/drm/mod.rs
+++ b/rust/kernel/drm/mod.rs
@@ -9,6 +9,7 @@ pub mod ioctl;
pub use self::device::Device;
pub use self::driver::Driver;
pub use self::driver::DriverInfo;
+pub use self::driver::Registration;
pub(crate) mod private {
pub trait Sealed {}