Skip to content

Commit 26983da

Browse files
committed
add RenamePeripherals
1 parent e09c27d commit 26983da

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

src/transform/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,4 +259,5 @@ transforms!(
259259
modify_byte_offset::ModifyByteOffset,
260260
fix_register_bit_sizes::FixRegisterBitSizes,
261261
rename_interrupts::RenameInterrupts,
262+
rename_peripherals::RenamePeripherals,
262263
);
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
use serde::{Deserialize, Serialize};
2+
3+
use super::common::*;
4+
use crate::ir::*;
5+
6+
#[derive(Debug, Serialize, Deserialize)]
7+
pub struct RenamePeripherals {
8+
pub from: RegexSet,
9+
pub to: String,
10+
}
11+
12+
impl RenamePeripherals {
13+
pub fn run(&self, ir: &mut IR) -> anyhow::Result<()> {
14+
for d in ir.devices.values_mut() {
15+
for p in &mut d.peripherals {
16+
if let Some(name) = match_expand(&p.name, &self.from, &self.to) {
17+
p.name = name;
18+
}
19+
}
20+
}
21+
Ok(())
22+
}
23+
}

0 commit comments

Comments
 (0)