From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Babic Date: Mon, 05 Sep 2011 18:49:21 +0200 Subject: [U-Boot] [PATCH v3 1/2] MX25: tx25: Avoid the usage of extern in C file In-Reply-To: References: <1314972139-20068-1-git-send-email-fabio.estevam@freescale.com> <201109051705.09020.marek.vasut@gmail.com> <201109051740.57608.marek.vasut@gmail.com> Message-ID: <4E64FD91.6000506@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 09/05/2011 05:48 PM, Fabio Estevam wrote: > On Mon, Sep 5, 2011 at 12:40 PM, Marek Vasut wrote: > ... > Hi Fabio, >>> ./scripts/checkpatch.pl -F u-boot/board/karo/tx25/tx25.c >>> .... >>> WARNING: externs should be avoided in .c files >>> #144: FILE: home/fabio/denx/u-boot/board/karo/tx25/tx25.c:144: >>> + extern void mx25_uart1_init_pins(void); >> >> But you're using extern in _header_ (.h) file ... so ... why ? >> > > My patch removes the extern from the C file and put it on a header > file with other extern's. > > The checkpatch warning I showed happens with the original file, and > not after my patch is applied. > I think checkpatch warnings because the original file has already some extern. In the most of u-boot code we do not mark the prototypes with extern. I made this simple test - I create a new file (from sys_proto.h) and I run checkpatch on it: +#ifndef _SYS_PROTO_H_ +#define _SYS_PROTO_H_ + +u32 get_cpu_rev(void); +#define is_soc_rev(rev) ((get_cpu_rev() & 0xFF) - rev) +void sdelay(unsigned long); +void set_chipselect_size(int const); +#endif -- checpatch reports neither errors nor warnings: checkpatch.pl --no-tree 0001-tmp.patch total: 0 errors, 0 warnings, 31 lines checked I think you can try moving the prototypes in sys_proto.h, and run checkpatch on it without extern. I expect to see no warnings at all. Best regards, Stefano Babic -- ===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de =====================================================================