@@ -7,10 +7,10 @@ use crate::svd::{
77 RegisterProperties ,
88} ;
99
10- use tracing:: { debug, trace, warn} ;
1110use proc_macro2:: { Ident , Punct , Spacing , Span , TokenStream } ;
1211use quote:: { quote, ToTokens } ;
1312use syn:: { parse_str, Token } ;
13+ use tracing:: { debug, trace, warn} ;
1414
1515use crate :: util:: {
1616 self , handle_cluster_error, handle_reg_error, Config , FullName , ToSanitizedSnakeCase ,
@@ -27,6 +27,8 @@ pub fn render(
2727 defaults : & RegisterProperties ,
2828 config : & Config ,
2929) -> Result < TokenStream > {
30+ debug ! ( "Rendering peripheral {}" , p_original. name) ;
31+
3032 let mut out = TokenStream :: new ( ) ;
3133
3234 let p_derivedfrom = p_original
@@ -177,17 +179,24 @@ pub fn render(
177179 let mut mod_items = TokenStream :: new ( ) ;
178180 mod_items. extend ( register_or_cluster_block ( & ercs, & defaults, None , config) ?) ;
179181
180- debug ! ( "Pushing cluster information into output" ) ;
182+ if !clusters. is_empty ( ) {
183+ debug ! ( "Pushing cluster information into output" ) ;
184+ }
181185 // Push all cluster related information into the peripheral module
182186 for c in & clusters {
183- trace ! ( "Pushing cluster: {}" , c. name) ;
184- mod_items. extend ( render_cluster_block ( c, & defaults, p, all_peripherals, config) ?) ;
187+ mod_items. extend ( render_cluster_block (
188+ c,
189+ & defaults,
190+ p,
191+ all_peripherals,
192+ config,
193+ ) ?) ;
194+ }
195+ if !registers. is_empty ( ) {
196+ debug ! ( "Pushing register information into output" ) ;
185197 }
186-
187- debug ! ( "Pushing register information into output" ) ;
188198 // Push all register related information into the peripheral module
189199 for reg in registers {
190- trace ! ( "Pushing register: {}" , reg. name) ;
191200 match register:: render ( reg, registers, p, all_peripherals, & defaults, config) {
192201 Ok ( rendered_reg) => mod_items. extend ( rendered_reg) ,
193202 Err ( e) => {
@@ -581,7 +590,6 @@ fn register_or_cluster_block(
581590
582591/// Expand a list of parsed `Register`s or `Cluster`s, and render them to
583592/// `RegisterBlockField`s containing `Field`s.
584- #[ tracing:: instrument( skip_all, fields( module = name) ) ]
585593fn expand (
586594 ercs : & [ RegisterCluster ] ,
587595 defs : & RegisterProperties ,
@@ -596,7 +604,6 @@ fn expand(
596604 RegisterCluster :: Register ( register) => {
597605 match expand_register ( register, defs, name, config) {
598606 Ok ( expanded_reg) => {
599- trace ! ( "Expanding register: {}" , register. name) ;
600607 ercs_expanded. extend ( expanded_reg) ;
601608 }
602609 Err ( e) => {
@@ -608,7 +615,6 @@ fn expand(
608615 RegisterCluster :: Cluster ( cluster) => {
609616 match expand_cluster ( cluster, defs, name, config) {
610617 Ok ( expanded_cluster) => {
611- trace ! ( "Expanding cluster: {}" , cluster. name) ;
612618 ercs_expanded. extend ( expanded_cluster) ;
613619 }
614620 Err ( e) => {
@@ -684,13 +690,15 @@ fn cluster_info_size_in_bits(
684690}
685691
686692/// Render a given cluster (and any children) into `RegisterBlockField`s
687- #[ tracing:: instrument( skip_all, fields( cluster. name = cluster. name( ) , module = name) ) ]
693+ #[ tracing:: instrument( skip_all, fields( cluster. name = % cluster. name, module = name) ) ]
688694fn expand_cluster (
689695 cluster : & Cluster ,
690696 defs : & RegisterProperties ,
691697 name : Option < & str > ,
692698 config : & Config ,
693699) -> Result < Vec < RegisterBlockField > > {
700+ trace ! ( "Expanding cluster: {}" , cluster. name) ;
701+
694702 let mut cluster_expanded = vec ! [ ] ;
695703
696704 let defs = cluster. default_register_properties . derive_from ( defs) ;
@@ -747,13 +755,14 @@ fn expand_cluster(
747755
748756/// If svd register arrays can't be converted to rust arrays (non sequential addresses, non
749757/// numeral indexes, or not containing all elements from 0 to size) they will be expanded
750- #[ tracing:: instrument( skip_all, fields( register. name = %register. name, module = name ) ) ]
758+ #[ tracing:: instrument( skip_all, fields( register. name = %register. name) ) ]
751759fn expand_register (
752760 register : & Register ,
753761 defs : & RegisterProperties ,
754762 name : Option < & str > ,
755763 config : & Config ,
756764) -> Result < Vec < RegisterBlockField > > {
765+ trace ! ( "Expanding register: {}" , register. name) ;
757766 let mut register_expanded = vec ! [ ] ;
758767
759768 let register_size = register
@@ -810,14 +819,16 @@ fn expand_register(
810819}
811820
812821/// Render a Cluster Block into `TokenStream`
813- #[ tracing:: instrument( skip_all, fields( peripheral. name = %p. name, cluster. name = %c. name( ) ) ) ]
822+ #[ tracing:: instrument( skip_all, fields( peripheral. name = %p. name, cluster. name = %c. name) ) ]
814823fn render_cluster_block (
815824 c : & Cluster ,
816825 defaults : & RegisterProperties ,
817826 p : & Peripheral ,
818827 all_peripherals : & [ Peripheral ] ,
819828 config : & Config ,
820829) -> Result < TokenStream > {
830+ debug ! ( "Rendering cluster: {}" , c. name) ;
831+
821832 let mut mod_items = TokenStream :: new ( ) ;
822833
823834 // name_sc needs to take into account array type.
@@ -857,7 +868,13 @@ fn render_cluster_block(
857868 // Generate the sub-cluster blocks.
858869 let clusters = util:: only_clusters ( & c. children ) ;
859870 for c in & clusters {
860- mod_items. extend ( render_cluster_block ( c, & defaults, p, all_peripherals, config) ?) ;
871+ mod_items. extend ( render_cluster_block (
872+ c,
873+ & defaults,
874+ p,
875+ all_peripherals,
876+ config,
877+ ) ?) ;
861878 }
862879
863880 Ok ( quote ! {
0 commit comments