diff --git a/drivers/graphics/driver-graphics/src/kms/objects.rs b/drivers/graphics/driver-graphics/src/kms/objects.rs index 86e486f0b4..7a761f1bff 100644 --- a/drivers/graphics/driver-graphics/src/kms/objects.rs +++ b/drivers/graphics/driver-graphics/src/kms/objects.rs @@ -22,7 +22,7 @@ pub struct KmsObjects { pub(crate) encoders: Vec, crtcs: Vec, framebuffers: Vec, - pub(crate) objects: HashMap>>, + pub(crate) objects: HashMap>, _marker: PhantomData, } @@ -43,7 +43,7 @@ impl KmsObjects { pub(crate) fn add>>(&mut self, data: U) -> KmsObjectId { let id = self.next_id; - self.objects.insert(id, Arc::new(data.into())); + self.objects.insert(id, data.into()); self.next_id.0 += 1; id @@ -54,7 +54,7 @@ impl KmsObjects { &'a U: TryFrom<&'a KmsObject>, { let object = self.objects.get(&id).ok_or(Error::new(EINVAL))?; - if let Ok(object) = (&**object).try_into() { + if let Ok(object) = object.try_into() { Ok(object) } else { Err(Error::new(EINVAL)) @@ -112,7 +112,7 @@ impl KmsObjects { } pub fn remove_framebuffer(&mut self, id: KmsObjectId) -> Result<()> { - let Some(object) = self.objects.get(&id).map(|object| &**object) else { + let Some(object) = self.objects.get(&id) else { return Err(Error::new(EINVAL)); }; let KmsObject::Framebuffer(_) = object else { diff --git a/drivers/graphics/driver-graphics/src/kms/properties.rs b/drivers/graphics/driver-graphics/src/kms/properties.rs index fd7ec79071..e22527a702 100644 --- a/drivers/graphics/driver-graphics/src/kms/properties.rs +++ b/drivers/graphics/driver-graphics/src/kms/properties.rs @@ -52,7 +52,7 @@ impl KmsObjects { pub fn get_object_properties_data(&self, id: KmsObjectId) -> Result<(Vec, Vec)> { let object = self.objects.get(&id).ok_or(Error::new(EINVAL))?; - match &**object { + match object { KmsObject::Crtc(crtc) => { let crtc = crtc.lock().unwrap(); let props = &crtc.properties; diff --git a/drivers/graphics/driver-graphics/src/lib.rs b/drivers/graphics/driver-graphics/src/lib.rs index 716e0bbd38..44aad7eb90 100644 --- a/drivers/graphics/driver-graphics/src/lib.rs +++ b/drivers/graphics/driver-graphics/src/lib.rs @@ -577,7 +577,7 @@ impl SchemeSync for GraphicsSchemeInner { &self.objects, crtc, mode, - fb.as_deref(), + fb, Damage { x: data.x(), y: data.y(),