Skip to content

Commit 7ae499e

Browse files
committed
feat: 优化 PciNodeView 中的地址和中断填充逻辑,使用更清晰的函数替代
1 parent 5c59d34 commit 7ae499e

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

fdt-edit/src/node/view/pci.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ impl<'a> PciNodeView<'a> {
165165
let parent_addr_cells = if let Some(parent) = self.as_view().parent() {
166166
parent.as_view().address_cells().unwrap_or(2) as usize
167167
} else {
168-
2 as usize
168+
2_usize
169169
};
170170

171171
let size_cells = self.as_view().size_cells().unwrap_or(2) as usize;
@@ -361,7 +361,7 @@ impl<'a> PciNodeView<'a> {
361361

362362
// 如果 encoded_address 比 child_addr_cells 短,填充 0
363363
let remaining = child_addr_cells.saturating_sub(encoded_address.len());
364-
masked_child_address.extend(core::iter::repeat(0).take(remaining));
364+
masked_child_address.extend(core::iter::repeat_n(0, remaining));
365365

366366
let encoded_irq = [interrupt_pin as u32];
367367
let mut masked_child_irq = Vec::with_capacity(child_irq_cells);
@@ -377,7 +377,7 @@ impl<'a> PciNodeView<'a> {
377377

378378
// 如果 encoded_irq 比 child_irq_cells 短,填充 0
379379
let remaining_irq = child_irq_cells.saturating_sub(encoded_irq.len());
380-
masked_child_irq.extend(core::iter::repeat(0).take(remaining_irq));
380+
masked_child_irq.extend(core::iter::repeat_n(0, remaining_irq));
381381

382382
// 在 interrupt-map 中查找匹配的条目
383383
for mapping in &interrupt_map {

0 commit comments

Comments
 (0)