Skip to content
  • Masahiro Yamada's avatar
    treewide: convert bd_t to struct bd_info by coccinelle · b75d8dc5
    Masahiro Yamada authored and Tom Rini's avatar Tom Rini committed
    
    
    The Linux coding style guide (Documentation/process/coding-style.rst)
    clearly says:
    
      It's a **mistake** to use typedef for structures and pointers.
    
    Besides, using typedef for structures is annoying when you try to make
    headers self-contained.
    
    Let's say you have the following function declaration in a header:
    
      void foo(bd_t *bd);
    
    This is not self-contained since bd_t is not defined.
    
    To tell the compiler what 'bd_t' is, you need to include <asm/u-boot.h>
    
      #include <asm/u-boot.h>
      void foo(bd_t *bd);
    
    Then, the include direcective pulls in more bloat needlessly.
    
    If you use 'struct bd_info' instead, it is enough to put a forward
    declaration as follows:
    
      struct bd_info;
      void foo(struct bd_info *bd);
    
    Right, typedef'ing bd_t is a mistake.
    
    I used coccinelle to generate this commit.
    
    The semantic patch that makes this change is as follows:
    
      <smpl>
      @@
      typedef bd_t;
      @@
      -bd_t
      +struct bd_info
      </smpl>
    
    Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
    b75d8dc5