File tree Expand file tree Collapse file tree 1 file changed +20
-10
lines changed Expand file tree Collapse file tree 1 file changed +20
-10
lines changed Original file line number Diff line number Diff line change @@ -528,12 +528,17 @@ fn make_cluster(cadd: &Hash) -> Result<ClusterInfoBuilder> {
528
528
Some ( h) => {
529
529
let mut ch = Vec :: new ( ) ;
530
530
for ( rname, val) in h {
531
- ch. push ( RegisterCluster :: Register (
532
- make_register ( val. hash ( ) ?) ?
531
+ ch. push ( RegisterCluster :: Register ( {
532
+ let radd = val. hash ( ) ?;
533
+ let reg = make_register ( radd) ?
533
534
. name ( rname. str ( ) ?. into ( ) )
534
- . build ( VAL_LVL ) ?
535
- . single ( ) ,
536
- ) ) ;
535
+ . build ( VAL_LVL ) ?;
536
+ if let Some ( dim) = make_dim_element ( radd) ? {
537
+ reg. array ( dim. build ( VAL_LVL ) ?)
538
+ } else {
539
+ reg. single ( )
540
+ }
541
+ } ) ) ;
537
542
}
538
543
ch
539
544
}
@@ -612,12 +617,17 @@ fn make_peripheral(padd: &Hash, modify: bool) -> Result<PeripheralInfoBuilder> {
612
617
Some ( h) => {
613
618
let mut regs = Vec :: new ( ) ;
614
619
for ( rname, val) in h. iter ( ) {
615
- regs. push ( RegisterCluster :: Register (
616
- make_register ( val. hash ( ) ?) ?
620
+ regs. push ( RegisterCluster :: Register ( {
621
+ let radd = val. hash ( ) ?;
622
+ let reg = make_register ( radd) ?
617
623
. name ( rname. str ( ) ?. into ( ) )
618
- . build ( VAL_LVL ) ?
619
- . single ( ) ,
620
- ) )
624
+ . build ( VAL_LVL ) ?;
625
+ if let Some ( dim) = make_dim_element ( radd) ? {
626
+ reg. array ( dim. build ( VAL_LVL ) ?)
627
+ } else {
628
+ reg. single ( )
629
+ }
630
+ } ) ) ;
621
631
}
622
632
Some ( regs)
623
633
}
You can’t perform that action at this time.
0 commit comments