Skip to content
Snippets Groups Projects
Commit 39815c08 authored by Lyude Paul's avatar Lyude Paul
Browse files

squash! rust: drm/kms: Add bindings for drm_connector

* Improve safety comments in Connector::new()
* Switch to requiring a UnregisteredKmsDevice instead of a Device
  This is in preparation for the static/dynamic connector split, which we
  may as well prepare for since we don't have any use for dynamic
  connectors yet.
parent 523a5efe
No related branches found
No related tags found
No related merge requests found
......@@ -7,6 +7,7 @@ use crate::{
sync::ArcBorrow,
drm::{
drv::{Driver, FEAT_MODESET},
kms::UnregisteredKmsDevice,
device::Device,
},
types::{AlwaysRefCounted, Opaque, ARef},
......@@ -197,12 +198,9 @@ impl<T: DriverConnector> Connector<T> {
///
/// A driver may use this to create new [`Connector`] objects.
///
/// TODO: Add a way to handle creating connectors after device registration. Also, that's why we
/// don't ask for a UnregisteredKms device here.
///
/// [`KmsDriver::create_objects`]: kernel::drm::kms::KmsDriver::create_objects
pub fn new(
dev: &Device<T::Driver>,
dev: &UnregisteredKmsDevice<T::Driver>,
type_: u32,
args: T::Args,
) -> Result<ARef<Self>> {
......@@ -218,7 +216,9 @@ impl<T: DriverConnector> Connector<T> {
GFP_KERNEL
)?;
// SAFETY: FFI call with no special safety requirements
// SAFETY:
// - We just allocated `new` above
// - `new` starts with `drm_connector` via its type invariants.
to_result(unsafe {
bindings::drm_connector_init(
dev.as_raw(),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment