Skip to content

Commit b19a036

Browse files
committed
Remove duplicate entries from dep graph
1 parent 16145c1 commit b19a036

File tree

2 files changed

+17
-24
lines changed

2 files changed

+17
-24
lines changed

esp-metadata-generated/src/_generated_esp32.rs

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -647,8 +647,6 @@ macro_rules! define_clock_tree_types {
647647
timg1_calibration_clock: Option<Timg0CalibrationClockConfig>,
648648
pll_clk_refcount: u32,
649649
rc_fast_clk_refcount: u32,
650-
cpu_pll_div_refcount: u32,
651-
syscon_pre_div_refcount: u32,
652650
apb_clk_refcount: u32,
653651
ref_tick_refcount: u32,
654652
rtc_slow_clk_refcount: u32,
@@ -688,8 +686,6 @@ macro_rules! define_clock_tree_types {
688686
timg1_calibration_clock: None,
689687
pll_clk_refcount: 0,
690688
rc_fast_clk_refcount: 0,
691-
cpu_pll_div_refcount: 0,
692-
syscon_pre_div_refcount: 0,
693689
apb_clk_refcount: 0,
694690
ref_tick_refcount: 0,
695691
rtc_slow_clk_refcount: 0,
@@ -802,16 +798,12 @@ macro_rules! define_clock_tree_types {
802798
configure_cpu_pll_div_impl(clocks, config);
803799
}
804800
pub fn request_cpu_pll_div(clocks: &mut ClockTree) {
805-
if increment_reference_count(&mut clocks.cpu_pll_div_refcount) {
806-
request_cpu_pll_div_in(clocks);
807-
enable_cpu_pll_div_impl(clocks, true);
808-
}
801+
request_cpu_pll_div_in(clocks);
802+
enable_cpu_pll_div_impl(clocks, true);
809803
}
810804
pub fn release_cpu_pll_div(clocks: &mut ClockTree) {
811-
if decrement_reference_count(&mut clocks.cpu_pll_div_refcount) {
812-
enable_cpu_pll_div_impl(clocks, false);
813-
release_cpu_pll_div_in(clocks);
814-
}
805+
enable_cpu_pll_div_impl(clocks, false);
806+
release_cpu_pll_div_in(clocks);
815807
}
816808
pub fn cpu_pll_div_frequency(clocks: &mut ClockTree) -> u32 {
817809
(cpu_pll_div_in_frequency(clocks) / unwrap!(clocks.cpu_pll_div).value())
@@ -866,16 +858,12 @@ macro_rules! define_clock_tree_types {
866858
configure_syscon_pre_div_impl(clocks, config);
867859
}
868860
pub fn request_syscon_pre_div(clocks: &mut ClockTree) {
869-
if increment_reference_count(&mut clocks.syscon_pre_div_refcount) {
870-
request_syscon_pre_div_in(clocks);
871-
enable_syscon_pre_div_impl(clocks, true);
872-
}
861+
request_syscon_pre_div_in(clocks);
862+
enable_syscon_pre_div_impl(clocks, true);
873863
}
874864
pub fn release_syscon_pre_div(clocks: &mut ClockTree) {
875-
if decrement_reference_count(&mut clocks.syscon_pre_div_refcount) {
876-
enable_syscon_pre_div_impl(clocks, false);
877-
release_syscon_pre_div_in(clocks);
878-
}
865+
enable_syscon_pre_div_impl(clocks, false);
866+
release_syscon_pre_div_in(clocks);
879867
}
880868
pub fn syscon_pre_div_frequency(clocks: &mut ClockTree) -> u32 {
881869
(syscon_pre_div_in_frequency(clocks) / (unwrap!(clocks.syscon_pre_div).value() + 1))

esp-metadata/src/cfg/soc/clock_tree.rs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -184,12 +184,17 @@ impl DependencyGraph {
184184

185185
for node in clock_tree.iter() {
186186
for input in node.input_clocks() {
187-
dependency_graph
187+
let node_name = node.name_str();
188+
189+
let graph_node = dependency_graph
188190
.entry(input.clone())
189-
.or_insert_with(Vec::new)
190-
.push(node.name_str().clone());
191+
.or_insert_with(Vec::new);
192+
193+
if !graph_node.contains(node_name) {
194+
graph_node.push(node_name.clone());
195+
}
191196
reverse_dependency_graph
192-
.entry(node.name_str().clone())
197+
.entry(node_name.clone())
193198
.or_insert_with(Vec::new)
194199
.push(input);
195200
}

0 commit comments

Comments
 (0)