Skip to content

Commit 786bd74

Browse files
bors[bot]burrbull
andauthored
Merge #546
546: Fix register & cluster derive r=Emilgardis a=burrbull Instead of #545 Closes #361 Co-authored-by: Andrey Zgarbul <zgarbul.andrey@gmail.com>
2 parents f4b0e64 + 8c59248 commit 786bd74

File tree

2 files changed

+6
-19
lines changed

2 files changed

+6
-19
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
77

88
## [Unreleased]
99

10+
### Fixed
11+
12+
- Correct derive for register (cluster) array (needs `svd-rs` 0.11.2)
13+
1014
### Added
1115

1216
- `strict` option

src/generate/peripheral.rs

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -135,29 +135,12 @@ pub fn render(
135135

136136
match (erc, ancestor) {
137137
(RegisterCluster::Register(reg), RegisterCluster::Register(other_reg)) => {
138-
match other_reg {
139-
Register::Array(ref info, ref array_info) => {
140-
Some(RegisterCluster::Register(Register::Array(
141-
reg.derive_from(info),
142-
array_info.clone(),
143-
)))
144-
}
145-
Register::Single(ref info) => Some(RegisterCluster::Register(
146-
Register::Single(reg.derive_from(info)),
147-
)),
148-
}
138+
Some(RegisterCluster::Register(reg.derive_from(other_reg)))
149139
}
150140
(
151141
RegisterCluster::Cluster(cluster),
152142
RegisterCluster::Cluster(other_cluster),
153-
) => match other_cluster {
154-
Cluster::Array(ref info, ref array_info) => Some(RegisterCluster::Cluster(
155-
Cluster::Array(cluster.derive_from(info), array_info.clone()),
156-
)),
157-
Cluster::Single(ref info) => Some(RegisterCluster::Cluster(
158-
Cluster::Single(cluster.derive_from(info)),
159-
)),
160-
},
143+
) => Some(RegisterCluster::Cluster(cluster.derive_from(other_cluster))),
161144
_ => {
162145
eprintln!(
163146
"{} can't derive from {}",

0 commit comments

Comments
 (0)