[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YFXVoHvk/VesFn14@kroah.com>
Date: Sat, 20 Mar 2021 11:59:44 +0100
From: Greg KH <gregkh@...uxfoundation.org>
To: Fabio Aiuto <fabioaiuto83@...il.com>
Cc: linux-kernel@...r.kernel.org, apw@...onical.com, joe@...ches.com
Subject: Re: CHECKPATCH: missing a warning soon after include files decl -c
On Sat, Mar 20, 2021 at 11:54:24AM +0100, Fabio Aiuto wrote:
> Hi,
>
> here's an issue in checkpatch.pl
>
> $ perl script/checkpatch.pl -f drivers/staging/rtl8723bs/core/rtw_ap.c
>
> I get three warning related to an extern declaration
>
> WARNING: externs should be avoided in .c files
> #14: FILE: drivers/staging/rtl8723bs/core/rtw_ap.c:14:
> +extern unsigned char WMM_OUI[];
> --
> WARNING: externs should be avoided in .c files
> #15: FILE: drivers/staging/rtl8723bs/core/rtw_ap.c:15:
> +extern unsigned char WPS_OUI[];
> --
> WARNING: externs should be avoided in .c files
> #16: FILE: drivers/staging/rtl8723bs/core/rtw_ap.c:16:
> +extern unsigned char P2P_OUI[];
> ----------------------
>
> but the file checked has 4 extern declaration:
> -----------------------------
> #define _RTW_AP_C_
>
> #include <drv_types.h>
> #include <rtw_debug.h>
> #include <asm/unaligned.h>
>
> extern unsigned char RTW_WPA_OUI[];
> extern unsigned char WMM_OUI[];
> extern unsigned char WPS_OUI[];
> extern unsigned char P2P_OUI[];
>
> void init_mlme_ap_info(struct adapter *padapter)
> -------------------------------
>
> If I add a ';' this way:
> ----------------------------
> #define _RTW_AP_C_
>
> #include <drv_types.h>
> #include <rtw_debug.h>
> #include <asm/unaligned.h>
> ;
> extern unsigned char RTW_WPA_OUI[];
> extern unsigned char WMM_OUI[];
> extern unsigned char WPS_OUI[];
> extern unsigned char P2P_OUI[];
>
> void init_mlme_ap_info(struct adapter *padapter)
> --------------------------------
Wait, why would you do the above?
Don't try to trick a perl script that has a hard time parsing C files,
try to resolve the original issue here.
And that is that the above definitions should be in a .h file somewhere.
If you make that move then all should be fine.
thanks,
greg k-h
Powered by blists - more mailing lists