[U-Boot] [PATCH v3 1/2] MX25: tx25: Avoid the usage of extern in C file

Stefano Babic sbabic at denx.de
Mon Sep 5 18:49:21 CEST 2011


On 09/05/2011 05:48 PM, Fabio Estevam wrote:
> On Mon, Sep 5, 2011 at 12:40 PM, Marek Vasut <marek.vasut at gmail.com> 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
=====================================================================


More information about the U-Boot mailing list