@@ -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