1
1
use 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 ,
4
4
} ;
5
5
use cast:: u64;
6
6
use core:: u64;
@@ -1208,7 +1208,7 @@ fn lookup_in_peripherals<'p>(
1208
1208
all_peripherals : & ' p [ Peripheral ] ,
1209
1209
) -> Result < ( & ' p EnumeratedValues , Option < Base < ' p > > ) > {
1210
1210
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 < _ > > ( ) ;
1212
1212
lookup_in_peripheral (
1213
1213
Some ( base_peripheral) ,
1214
1214
base_register,
@@ -1221,31 +1221,3 @@ fn lookup_in_peripherals<'p>(
1221
1221
Err ( anyhow ! ( "No peripheral {}" , base_peripheral) )
1222
1222
}
1223
1223
}
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