summary refs log tree commit diff
path: root/devices/src/register_space/register_space.rs
diff options
context:
space:
mode:
Diffstat (limited to 'devices/src/register_space/register_space.rs')
-rw-r--r--devices/src/register_space/register_space.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/devices/src/register_space/register_space.rs b/devices/src/register_space/register_space.rs
index acb0df9..f010be0 100644
--- a/devices/src/register_space/register_space.rs
+++ b/devices/src/register_space/register_space.rs
@@ -7,7 +7,7 @@ use std::collections::btree_map::BTreeMap;
 
 /// Register space repesents a set of registers. It can handle read/write operations.
 pub struct RegisterSpace {
-    regs: BTreeMap<RegisterRange, Box<RegisterInterface>>,
+    regs: BTreeMap<RegisterRange, Box<dyn RegisterInterface>>,
 }
 
 impl RegisterSpace {
@@ -70,17 +70,17 @@ impl RegisterSpace {
     }
 
     /// Get first register before this addr.
-    fn first_before(&self, addr: RegisterOffset) -> Option<&Box<RegisterInterface>> {
+    fn first_before(&self, addr: RegisterOffset) -> Option<&dyn RegisterInterface> {
         for (range, r) in self.regs.iter().rev() {
             if range.from <= addr {
-                return Some(r);
+                return Some(r.as_ref());
             }
         }
         None
     }
 
     /// Get register at this addr.
-    fn get_register(&self, addr: RegisterOffset) -> Option<&Box<RegisterInterface>> {
+    fn get_register(&self, addr: RegisterOffset) -> Option<&dyn RegisterInterface> {
         let r = self.first_before(addr)?;
         let range = r.range();
         if addr <= range.to {