diff options
| author | Lyude Paul <lyude@redhat.com> | 2026-05-07 17:59:20 -0400 |
|---|---|---|
| committer | Danilo Krummrich <dakr@kernel.org> | 2026-06-02 22:51:02 +0200 |
| commit | 43a5d04a743b499dbad31083a62cdcb46ee74391 (patch) | |
| tree | e9ca4bb273df42116b341859f4b738c79e3afee7 /rust/kernel | |
| parent | 571d4242c466e558c9fd57a9b3d9a045b1f400d1 (diff) | |
| download | lwn-43a5d04a743b499dbad31083a62cdcb46ee74391.tar.gz lwn-43a5d04a743b499dbad31083a62cdcb46ee74391.zip | |
rust/drm/gem: Add DriverAllocImpl type alias
This is just a type alias that resolves into the AllocImpl for a given
T: drm::gem::DriverObject.
Signed-off-by: Lyude Paul <lyude@redhat.com>
Reviewed-by: Daniel Almeida <daniel.almeida@collabora.com>
Link: https://patch.msgid.link/20260507220044.3204919-3-lyude@redhat.com
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
Diffstat (limited to 'rust/kernel')
| -rw-r--r-- | rust/kernel/drm/gem/mod.rs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/rust/kernel/drm/gem/mod.rs b/rust/kernel/drm/gem/mod.rs index 01b5bd47a333..d4b5940ec0df 100644 --- a/rust/kernel/drm/gem/mod.rs +++ b/rust/kernel/drm/gem/mod.rs @@ -73,6 +73,11 @@ pub(crate) use impl_aref_for_gem_obj; /// [`DriverFile`]: drm::file::DriverFile pub type DriverFile<T> = drm::File<<<T as DriverObject>::Driver as drm::Driver>::File>; +/// A type alias for retrieving the current [`AllocImpl`] for a given [`DriverObject`]. +/// +/// [`Driver`]: drm::Driver +pub type DriverAllocImpl<T> = <<T as DriverObject>::Driver as drm::Driver>::Object; + /// GEM object functions, which must be implemented by drivers. pub trait DriverObject: Sync + Send + Sized { /// Parent `Driver` for this object. @@ -89,12 +94,12 @@ pub trait DriverObject: Sync + Send + Sized { ) -> impl PinInit<Self, Error>; /// Open a new handle to an existing object, associated with a File. - fn open(_obj: &<Self::Driver as drm::Driver>::Object, _file: &DriverFile<Self>) -> Result { + fn open(_obj: &DriverAllocImpl<Self>, _file: &DriverFile<Self>) -> Result { Ok(()) } /// Close a handle to an existing object, associated with a File. - fn close(_obj: &<Self::Driver as drm::Driver>::Object, _file: &DriverFile<Self>) {} + fn close(_obj: &DriverAllocImpl<Self>, _file: &DriverFile<Self>) {} } /// Trait that represents a GEM object subtype |
