From: Fabio Aiuto <fabioaiuto83@gmail.com>
To: gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org,
apw@canonical.com, joe@perches.com
Subject: CHECKPATCH: missing a warning soon after include files decl -c
Date: Sat, 20 Mar 2021 11:54:24 +0100 [thread overview]
Message-ID: <20210320105424.GA3698@agape.jhs> (raw)
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)
--------------------------------
the missing warning appears:
----------------------------------
WARNING: externs should be avoided in .c files
#13: FILE: drivers/staging/rtl8723bs/core/rtw_ap.c:13:
+extern unsigned char RTW_WPA_OUI[];
--
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[];
-------------------------------------------
Applying this ugly patch to debug:
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index df8b23dc1eb0..ecbbb731361c 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -6810,6 +6810,11 @@ sub process {
{
WARN("AVOID_EXTERNS",
"externs should be avoided in .c files\n" . $herecurr);
+ } elsif ($realfile =~ /\.c$/ && defined $stat &&
+ $stat =~ /extern\s+/)
+ {
+ WARN("AVOID_EXTERNS",
+ "print stat value\n" . $stat);
}
# check for function declarations that have arguments without identifier names
--------------
I get:
WARNING: print stat value
+#include <XXXXXXXXXXX>
#include <XXXXXXXXXXX>
#include <XXXXXXXXXXXXXXX>
extern unsigned char RTW_WPA_OUI[];
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[];
I don't know if it's best to fix the regex of the particular "extern in .c files issue"
or maybe how the statement is computed. Should a statement represent a single line?
Suggestions are welcome,
fabio
next reply other threads:[~2021-03-20 11:13 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-20 10:54 Fabio Aiuto [this message]
2021-03-20 10:59 ` CHECKPATCH: missing a warning soon after include files decl -c Greg KH
2021-03-20 11:28 ` Joe Perches
2021-03-20 14:17 ` Fabio Aiuto
2021-03-24 9:58 ` Fabio Aiuto
2021-03-20 14:49 ` Fabio Aiuto
2021-03-21 7:03 ` Greg KH
2021-03-22 14:31 ` [PATCH 00/11] staging: rtl8723bs: fix extern declaration checkpatch issues Fabio Aiuto
2021-03-22 14:31 ` [PATCH 01/11] staging: rtl8723bs: delete extern declarations in core/rtw_ap.c Fabio Aiuto
2021-03-22 14:31 ` [PATCH 02/11] staging: rtl8723bs: moved function prototypes out of core/rtw_efuse.c Fabio Aiuto
2021-03-22 16:07 ` Greg KH
2021-03-22 18:22 ` Fabio Aiuto
2021-03-22 19:29 ` Dan Carpenter
2021-03-23 13:25 ` Fabio Aiuto
2021-03-22 14:31 ` [PATCH 03/11] staging: rtl8723bs: moved function prototype out of core/rtw_ioctl_set.c and core/rtw_mlme.c Fabio Aiuto
2021-03-22 16:09 ` Greg KH
2021-03-22 18:28 ` Fabio Aiuto
2021-03-23 7:13 ` Greg KH
2021-03-23 12:56 ` [PATCH v2 0/9] fix extern declarations checkpatch issues Fabio Aiuto
2021-03-23 12:56 ` [PATCH v2 1/9] staging: rtl8723bs: removed function prototypes in core/rtw_efuse.c Fabio Aiuto
2021-03-23 12:56 ` [PATCH v2 2/9] staging: rtl8723bs: moved function prototype out of core/rtw_ioctl_set.c and core/rtw_mlme.c Fabio Aiuto
2021-03-23 12:56 ` [PATCH v2 3/9] staging: rtl8723bs: removed function prototypes and made statics in core/rtw_recv.c Fabio Aiuto
2021-03-23 12:56 ` [PATCH v2 4/9] staging: rtl8723bs: delete extern declarations in core/rtw_wlan_util.c Fabio Aiuto
2021-03-23 12:56 ` [PATCH v2 5/9] staging: rtl8723bs: remove function prototypes in hal/odm.c Fabio Aiuto
2021-03-23 12:56 ` [PATCH v2 6/9] staging: rtl8723bs: move function prototypes out of os_dep/int_fs.c Fabio Aiuto
2021-03-23 12:56 ` [PATCH v2 7/9] staging: rtl8723bs: remove undefined function prototype in of os_dep/sdio_intf.c Fabio Aiuto
2021-03-23 12:56 ` [PATCH v2 8/9] staging: rtl8723bs: remove unnecessary extern in os_dep/sdio_intf.c Fabio Aiuto
2021-03-23 12:56 ` [PATCH v2 9/9] staging: rtl8723bs: remove blank line os_dep/os_intfs.c Fabio Aiuto
2021-03-23 13:08 ` [PATCH v2 0/9] fix extern declarations checkpatch issues Greg KH
2021-03-22 14:31 ` [PATCH 04/11] staging: rtl8723bs: moved function prototypes out of core/rtw_recv.c Fabio Aiuto
2021-03-22 16:09 ` Greg KH
2021-03-22 14:31 ` [PATCH 05/11] staging: rtl8723bs: remove argument in recv_indicatepkts_pkt_loss_cnt Fabio Aiuto
2021-03-22 16:11 ` Greg KH
2021-03-22 18:19 ` Fabio Aiuto
2021-03-22 14:31 ` [PATCH 06/11] staging: rtl8723bs: move function prototype out of core/rtw_recv.c Fabio Aiuto
2021-03-22 14:31 ` [PATCH 07/11] staging: rtl8723bs: delete extern declarations in core/rtw_wlan_util.c Fabio Aiuto
2021-03-22 14:31 ` [PATCH 08/11] staging: rtl8723bs: move function prototypes out of hal/odm.c Fabio Aiuto
2021-03-22 14:31 ` [PATCH 09/11] staging: rtl8723bs: move function prototypes out of os_dep/int_fs.c Fabio Aiuto
2021-03-22 14:31 ` [PATCH 10/11] staging: rtl8723bs: remove undefined function prototype in of os_dep/sdio_intf.c Fabio Aiuto
2021-03-22 14:31 ` [PATCH 11/11] staging: rtl8723bs: remove unnecessary extern in os_dep/sdio_intf.c Fabio Aiuto
2021-03-22 16:06 ` Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210320105424.GA3698@agape.jhs \
--to=fabioaiuto83@gmail.com \
--cc=apw@canonical.com \
--cc=gregkh@linuxfoundation.org \
--cc=joe@perches.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.