]> www.infradead.org Git - users/jedix/linux-maple.git/commit
rust: drm: add DRM driver registration
authorAsahi Lina <lina@asahilina.net>
Thu, 10 Apr 2025 23:55:24 +0000 (01:55 +0200)
committerDanilo Krummrich <dakr@kernel.org>
Thu, 24 Apr 2025 12:00:13 +0000 (14:00 +0200)
commit0600032c54b7adc309d334c109374433ce3ab243
tree9a03e0ae948b43047ff5a1f83552cc6613bc87a9
parent1e4b8896c0f3cb305a32870e1d8624f1155072d5
rust: drm: add DRM driver registration

Implement the DRM driver `Registration`.

The `Registration` structure is responsible to register and unregister a
DRM driver. It makes use of the `Devres` container in order to allow the
`Registration` to be owned by devres, such that it is automatically
dropped (and the DRM driver unregistered) once the parent device is
unbound.

Signed-off-by: Asahi Lina <lina@asahilina.net>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Lyude Paul <lyude@redhat.com>
Link: https://lore.kernel.org/r/20250410235546.43736-6-dakr@kernel.org
[ Rework of drm::Registration
    * move VTABLE to drm::Device to prevent use-after-free bugs; VTABLE
      needs to be bound to the lifetime of drm::Device, not the
      drm::Registration
    * combine new() and register() to get rid of the registered boolean
    * remove file_operations
    * move struct drm_device creation to drm::Device
    * introduce Devres
    * original source archive: https://archive.is/Pl9ys

  - Danilo ]
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
rust/kernel/drm/driver.rs
rust/kernel/drm/mod.rs