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> {
528528 Some ( h) => {
529529 let mut ch = Vec :: new ( ) ;
530530 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) ?
533534 . 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+ } ) ) ;
537542 }
538543 ch
539544 }
@@ -612,12 +617,17 @@ fn make_peripheral(padd: &Hash, modify: bool) -> Result<PeripheralInfoBuilder> {
612617 Some ( h) => {
613618 let mut regs = Vec :: new ( ) ;
614619 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) ?
617623 . 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+ } ) ) ;
621631 }
622632 Some ( regs)
623633 }
You can’t perform that action at this time.
0 commit comments