[PATCH 3/4] rust: drm: remove pin annotations from drm::Device
Benno Lossin
lossin at kernel.org
Thu Jul 31 18:54:58 UTC 2025
On Thu Jul 31, 2025 at 5:48 PM CEST, Danilo Krummrich wrote:
> The #[pin_data] and #[pin] annotations are not necessary for
> drm::Device, since we don't use any pin-init macros, but only
> __pinned_init() on the impl PinInit<T::Data, Error> argument of
> drm::Device::new().
But you're still pinning `Device`, right?
> Fixes: 1e4b8896c0f3 ("rust: drm: add device abstraction")
> Signed-off-by: Danilo Krummrich <dakr at kernel.org>
> ---
> rust/kernel/drm/device.rs | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/rust/kernel/drm/device.rs b/rust/kernel/drm/device.rs
> index d19410deaf6c..d0a9528121f1 100644
> --- a/rust/kernel/drm/device.rs
> +++ b/rust/kernel/drm/device.rs
> @@ -54,10 +54,8 @@ macro_rules! drm_legacy_fields {
> ///
> /// `self.dev` is a valid instance of a `struct device`.
> #[repr(C)]
> -#[pin_data]
> pub struct Device<T: drm::Driver> {
> dev: Opaque<bindings::drm_device>,
> - #[pin]
> data: T::Data,
Looking at this code again, I also noticed that it was wrong before this
patch: `Device<T>` implemented `Unpin` if `T::Data` did which is most
likely wrong (or is `drm_device` not address sensitive?).
So good to see that fixed, thanks!
---
Cheers,
Benno
> }
>
More information about the dri-devel
mailing list