Warn on use of any __builtin helpers, but leave it open for EAL (as it
is where the abstractions for OS and compiler differences are), and
some drivers base code.

Signed-off-by: David Marchand <david.march...@redhat.com>
Acked-by: Stephen Hemminger <step...@networkplumber.org>
---
 devtools/checkpatches.sh | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/devtools/checkpatches.sh b/devtools/checkpatches.sh
index d860f19045..4a8591be22 100755
--- a/devtools/checkpatches.sh
+++ b/devtools/checkpatches.sh
@@ -177,11 +177,12 @@ check_forbidden_additions() { # <patch>
                -f $(dirname $(readlink -f $0))/check-forbidden-tokens.awk \
                "$1" || res=1
 
-       # forbid use of non abstracted bit count operations
+       # forbid use of compiler __builtin_*
        awk -v FOLDERS="lib drivers app examples" \
-               -v EXPRESSIONS='\\<__builtin_(clz|ctz|ffs|popcount)(ll)?\\>' \
+               -v SKIP_FILES='lib/eal/ drivers/.*/base/ drivers/.*osdep.h$' \
+               -v EXPRESSIONS='\\<__builtin_' \
                -v RET_ON_FAIL=1 \
-               -v MESSAGE='Using __builtin helpers for bit count operations' \
+               -v MESSAGE='Using __builtin helpers, prefer EAL macros' \
                -f $(dirname $(readlink -f $0))/check-forbidden-tokens.awk \
                "$1" || res=1
 
-- 
2.46.2

Reply via email to