11use crate :: svd:: {
2- Access , BitRange , EnumeratedValues , Field , Peripheral , Register , RegisterCluster ,
3- RegisterProperties , Usage , WriteConstraint ,
2+ Access , BitRange , EnumeratedValues , Field , Peripheral , Register , RegisterProperties , Usage ,
3+ WriteConstraint ,
44} ;
55use cast:: u64;
66use core:: u64;
@@ -1208,7 +1208,7 @@ fn lookup_in_peripherals<'p>(
12081208 all_peripherals : & ' p [ Peripheral ] ,
12091209) -> Result < ( & ' p EnumeratedValues , Option < Base < ' p > > ) > {
12101210 if let Some ( peripheral) = all_peripherals. iter ( ) . find ( |p| p. name == base_peripheral) {
1211- let all_registers = periph_all_registers ( peripheral) ;
1211+ let all_registers = peripheral. reg_iter ( ) . collect :: < Vec < _ > > ( ) ;
12121212 lookup_in_peripheral (
12131213 Some ( base_peripheral) ,
12141214 base_register,
@@ -1221,31 +1221,3 @@ fn lookup_in_peripherals<'p>(
12211221 Err ( anyhow ! ( "No peripheral {}" , base_peripheral) )
12221222 }
12231223}
1224-
1225- fn periph_all_registers ( p : & Peripheral ) -> Vec < & Register > {
1226- let mut par: Vec < & Register > = Vec :: new ( ) ;
1227- let mut rem: Vec < & RegisterCluster > = Vec :: new ( ) ;
1228- if p. registers . is_none ( ) {
1229- return par;
1230- }
1231-
1232- if let Some ( regs) = & p. registers {
1233- for r in regs. iter ( ) {
1234- rem. push ( r) ;
1235- }
1236- }
1237-
1238- while let Some ( b) = rem. pop ( ) {
1239- match b {
1240- RegisterCluster :: Register ( reg) => {
1241- par. push ( reg) ;
1242- }
1243- RegisterCluster :: Cluster ( cluster) => {
1244- for c in cluster. children . iter ( ) {
1245- rem. push ( c) ;
1246- }
1247- }
1248- }
1249- }
1250- par
1251- }
0 commit comments