summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLyude Paul <lyude@redhat.com>2025-05-13 18:09:54 -0400
committerDanilo Krummrich <dakr@kernel.org>2025-05-14 00:26:08 +0200
commit6ee48aee8c705717051109ff889f2a1d4f409ea9 (patch)
treed3f3c1d4bf291ec0089192e483bb580375a27f5d
parent61479ae38cb7bf6083de302598b7d491ec54168a (diff)
rust: drm: gem: Use NonNull for Object::dev
There is usually not much of a reason to use a raw pointer in a data struct, so move this to NonNull instead. Signed-off-by: Lyude Paul <lyude@redhat.com> Reviewed-by: Daniel Almeida <daniel.almeida@collabora.com> Link: https://lore.kernel.org/r/20250513221046.903358-2-lyude@redhat.com Signed-off-by: Danilo Krummrich <dakr@kernel.org>
-rw-r--r--rust/kernel/drm/gem/mod.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/rust/kernel/drm/gem/mod.rs b/rust/kernel/drm/gem/mod.rs
index 0cafa4a42420..df8f9fdae5c2 100644
--- a/rust/kernel/drm/gem/mod.rs
+++ b/rust/kernel/drm/gem/mod.rs
@@ -177,7 +177,7 @@ impl<T> BaseObject for T where Self: crate::types::AlwaysRefCounted + IntoGEMObj
#[pin_data]
pub struct Object<T: DriverObject + Send + Sync> {
obj: Opaque<bindings::drm_gem_object>,
- dev: *const drm::Device<T::Driver>,
+ dev: NonNull<drm::Device<T::Driver>>,
#[pin]
data: T,
}
@@ -212,7 +212,7 @@ impl<T: DriverObject> Object<T> {
data <- T::new(dev, size),
// INVARIANT: The drm subsystem guarantees that the `struct drm_device` will live
// as long as the GEM object lives.
- dev,
+ dev: dev.into(),
}),
GFP_KERNEL,
)?;
@@ -237,7 +237,7 @@ impl<T: DriverObject> Object<T> {
pub fn dev(&self) -> &drm::Device<T::Driver> {
// SAFETY: The DRM subsystem guarantees that the `struct drm_device` will live as long as
// the GEM object lives, hence the pointer must be valid.
- unsafe { &*self.dev }
+ unsafe { self.dev.as_ref() }
}
fn as_raw(&self) -> *mut bindings::drm_gem_object {