diff options
| author | 2025-05-13 18:09:54 -0400 | |
|---|---|---|
| committer | 2025-05-14 00:26:08 +0200 | |
| commit | 6ee48aee8c705717051109ff889f2a1d4f409ea9 (patch) | |
| tree | d3f3c1d4bf291ec0089192e483bb580375a27f5d /rust/kernel/drm/gem/mod.rs | |
| parent | gpu: nova-core: move Firmware to firmware module (diff) | |
| download | wireguard-linux-6ee48aee8c705717051109ff889f2a1d4f409ea9.tar.xz wireguard-linux-6ee48aee8c705717051109ff889f2a1d4f409ea9.zip | |
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>
Diffstat (limited to 'rust/kernel/drm/gem/mod.rs')
| -rw-r--r-- | rust/kernel/drm/gem/mod.rs | 6 |
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 { |
