diff --git a/drivers/graphics/driver-graphics/src/objects.rs b/drivers/graphics/driver-graphics/src/objects.rs index 4e2fbb1b8c..a7d04a949e 100644 --- a/drivers/graphics/driver-graphics/src/objects.rs +++ b/drivers/graphics/driver-graphics/src/objects.rs @@ -66,9 +66,16 @@ impl DrmObjects { } pub fn add_connector(&mut self, driver_data: T::Connector) -> DrmObjectId { + let encoder_id = self.add(DrmEncoder { + crtc_id: DrmObjectId::INVALID, + possible_crtcs: 0, + possible_clones: 0, + }); + self.encoders.push(encoder_id); + let connector_id = self.add(DrmConnector { modes: vec![], - encoder_id: DrmObjectId::INVALID, + encoder_id, connector_type: 0, connector_type_id: 0, connection: DrmConnectorStatus::Unknown, @@ -79,15 +86,6 @@ impl DrmObjects { }); self.connectors.push(connector_id); - let encoder_id = self.add(DrmEncoder { - crtc_id: DrmObjectId::INVALID, - possible_crtcs: 0, - possible_clones: 0, - }); - self.encoders.push(encoder_id); - - self.get_connector_mut(connector_id).unwrap().encoder_id = encoder_id; - connector_id }