[PATCH 3/4] rust: drm: remove pin annotations from drm::Device
Benno Lossin
lossin at kernel.org
Fri Aug 1 09:00:12 UTC 2025
On Fri Aug 1, 2025 at 10:21 AM CEST, Danilo Krummrich wrote:
> On Thu Jul 31, 2025 at 8:54 PM CEST, Benno Lossin wrote:
>> On Thu Jul 31, 2025 at 5:48 PM CEST, Danilo Krummrich wrote:
>>> #[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?).
>
> It is, but as mentioned above a drm::Device only ever exists as
> ARef<drm::Device>.
Yeah the `Unpin` thing isn't a problem for `ARef`, but we are
theoretically allowed to implement moving out of an `ARef` (given that
it is unique) when the type is `Unpin`.
Thanks for confirming.
---
Cheers,
Benno
More information about the dri-devel
mailing list