From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 433554333B for ; Thu, 16 Nov 2023 00:05:13 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3DE8B4025F; Thu, 16 Nov 2023 00:05:13 +0100 (CET) Received: from dpdk.org (dpdk.org [92.243.24.197]) by mails.dpdk.org (Postfix) with ESMTP id 848A74025F for ; Thu, 16 Nov 2023 00:05:09 +0100 (CET) Received: by dpdk.org (Postfix, from userid 65534) id 7CCA3120DCC; Thu, 16 Nov 2023 00:05:09 +0100 (CET) Subject: |WARNING| pw134407 [PATCH 3/4] drivers: add extension keyword to statement expressions In-Reply-To: <1700089378-26197-4-git-send-email-roretzla@linux.microsoft.com> References: <1700089378-26197-4-git-send-email-roretzla@linux.microsoft.com> To: test-report@dpdk.org From: checkpatch@dpdk.org Cc: Tyler Retzlaff Message-Id: <20231115230509.7CCA3120DCC@dpdk.org> Date: Thu, 16 Nov 2023 00:05:09 +0100 (CET) X-BeenThere: test-report@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: automatic DPDK test reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: test-report-bounces@dpdk.org Test-Label: checkpatch Test-Status: WARNING http://dpdk.org/patch/134407 _coding style issues_ ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses #234: FILE: drivers/crypto/caam_jr/caam_jr_desc.h:35: +#define SEC_JD_INIT(descriptor) __extension__ ({ \ /* CTYPE = job descriptor \ ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses #260: FILE: drivers/event/octeontx/ssovf_evdev.h:99: +#define ssovf_load_pair(val0, val1, addr) __extension__ ({ \ asm volatile( \ "ldp %x[x0], %x[x1], [%x[p1]]" \ :[x0]"=r"(val0), [x1]"=r"(val1) \ :[p1]"r"(addr) \ ); }) ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses #268: FILE: drivers/event/octeontx/ssovf_evdev.h:106: +#define ssovf_store_pair(val0, val1, addr) __extension__ ({ \ asm volatile( \ "stp %x[x0], %x[x1], [%x[p1]]" \ ::[x0]"r"(val0), [x1]"r"(val1), [p1]"r"(addr) \ ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses #281: FILE: drivers/mempool/octeontx/octeontx_fpavf.h:62: +#define fpavf_load_pair(val0, val1, addr) __extension__ ({ \ asm volatile( \ "ldp %x[x0], %x[x1], [%x[p1]]" \ :[x0]"=r"(val0), [x1]"=r"(val1) \ :[p1]"r"(addr) \ ); }) ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses #289: FILE: drivers/mempool/octeontx/octeontx_fpavf.h:69: +#define fpavf_store_pair(val0, val1, addr) __extension__ ({ \ asm volatile( \ "stp %x[x0], %x[x1], [%x[p1]]" \ ::[x0]"r"(val0), [x1]"r"(val1), [p1]"r"(addr) \ ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses #303: FILE: drivers/ml/cnxk/cn10k_ml_dev.h:47: +#define dmb_st __extension__ ({ asm volatile("dmb st" : : : "memory"); }) ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses #304: FILE: drivers/ml/cnxk/cn10k_ml_dev.h:48: +#define dsb_st __extension__ ({ asm volatile("dsb st" : : : "memory"); }) ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses #317: FILE: drivers/net/bnxt/bnxt_ethdev.c:4869: +#define min_t(type, x, y) __extension__ ({ \ type __min1 = (x); \ type __min2 = (y); \ __min1 < __min2 ? __min1 : __min2; }) ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses #323: FILE: drivers/net/bnxt/bnxt_ethdev.c:4874: +#define max_t(type, x, y) __extension__ ({ \ type __max1 = (x); \ type __max2 = (y); \ __max1 > __max2 ? __max1 : __max2; }) ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses #336: FILE: drivers/net/cxgbe/cxgbe_compat.h:139: +#define container_of(ptr, type, member) __extension__ ({ \ typeof(((type *)0)->member)(*__mptr) = (ptr); \ (type *)((char *)__mptr - offsetof(type, member)); }) CHECK:MACRO_ARG_REUSE: Macro argument reuse 'member' - possible side-effects? #336: FILE: drivers/net/cxgbe/cxgbe_compat.h:139: +#define container_of(ptr, type, member) __extension__ ({ \ typeof(((type *)0)->member)(*__mptr) = (ptr); \ (type *)((char *)__mptr - offsetof(type, member)); }) CHECK:MACRO_ARG_PRECEDENCE: Macro argument 'member' may be better as '(member)' to avoid precedence issues #336: FILE: drivers/net/cxgbe/cxgbe_compat.h:139: +#define container_of(ptr, type, member) __extension__ ({ \ typeof(((type *)0)->member)(*__mptr) = (ptr); \ (type *)((char *)__mptr - offsetof(type, member)); }) ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses #519: FILE: drivers/net/enetfec/enet_ethdev.h:45: +#define writel(v, p) __extension__ ({*(volatile unsigned int *)(p) = (v); }) ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses #532: FILE: drivers/net/fm10k/base/fm10k_osdep.h:105: +#define do_div(n, base) __extension__ ({\ (n) = (n) / (base);\ }) CHECK:MACRO_ARG_REUSE: Macro argument reuse 'n' - possible side-effects? #532: FILE: drivers/net/fm10k/base/fm10k_osdep.h:105: +#define do_div(n, base) __extension__ ({\ (n) = (n) / (base);\ }) ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses #545: FILE: drivers/net/i40e/i40e_rxtx.h:49: +#define container_of(ptr, type, member) __extension__ ({ \ typeof(((type *)0)->member)(*__mptr) = (ptr); \ (type *)((char *)__mptr - offsetof(type, member)); }) CHECK:MACRO_ARG_REUSE: Macro argument reuse 'member' - possible side-effects? #545: FILE: drivers/net/i40e/i40e_rxtx.h:49: +#define container_of(ptr, type, member) __extension__ ({ \ typeof(((type *)0)->member)(*__mptr) = (ptr); \ (type *)((char *)__mptr - offsetof(type, member)); }) CHECK:MACRO_ARG_PRECEDENCE: Macro argument 'member' may be better as '(member)' to avoid precedence issues #545: FILE: drivers/net/i40e/i40e_rxtx.h:49: +#define container_of(ptr, type, member) __extension__ ({ \ typeof(((type *)0)->member)(*__mptr) = (ptr); \ (type *)((char *)__mptr - offsetof(type, member)); }) ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses #558: FILE: drivers/net/octeontx/base/octeontx_io.h:22: +#define octeontx_prefetch_store_keep(_ptr) __extension__ ({\ asm volatile("prfm pstl1keep, %a0 " : : "p" (_ptr)); }) ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses #562: FILE: drivers/net/octeontx/base/octeontx_io.h:25: +#define octeontx_load_pair(val0, val1, addr) __extension__ ({ \ asm volatile( \ "ldp %x[x0], %x[x1], [%x[p1]]" \ :[x0]"=r"(val0), [x1]"=r"(val1) \ :[p1]"r"(addr) \ ); }) ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses #570: FILE: drivers/net/octeontx/base/octeontx_io.h:32: +#define octeontx_store_pair(val0, val1, addr) __extension__ ({ \ asm volatile( \ "stp %x[x0], %x[x1], [%x[p1]]" \ ::[x0]"r"(val0), [x1]"r"(val1), [p1]"r"(addr) \ ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses #596: FILE: drivers/net/pfe/base/pfe.h:98: +#define writel(v, p) __extension__ ({*(volatile unsigned int *)(p) = (v); }) ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses #656: FILE: drivers/net/thunderx/base/nicvf_plat.h:58: +#define nicvf_prefetch_store_keep(_ptr) __extension__ ({\ asm volatile("prfm pstl1keep, [%x0] " : : "r" (_ptr)); }) ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses #661: FILE: drivers/net/thunderx/base/nicvf_plat.h:62: +#define NICVF_LOAD_PAIR(reg1, reg2, addr) __extension__ ({ \ asm volatile( \ "ldp %x[x1], %x[x0], [%x[p1]]" \ : [x1]"=r"(reg1), [x0]"=r"(reg2)\ ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses #700: FILE: drivers/raw/ifpga/base/ifpga_compat.h:11: +#define container_of(ptr, type, member) __extension__ ({ \ typeof(((type *)0)->member)(*__mptr) = (ptr); \ (type *)((char *)__mptr - offsetof(type, member)); }) ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses #757: FILE: drivers/raw/ifpga/base/osdep_rte/osdep_generic.h:44: +#define min_t(type, x, y) __extension__ ({ \ type __min1 = (x); \ type __min2 = (y); \ __min1 < __min2 ? __min1 : __min2; }) ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses #763: FILE: drivers/raw/ifpga/base/osdep_rte/osdep_generic.h:49: +#define max_t(type, x, y) __extension__ ({ \ type __max1 = (x); \ type __max2 = (y); \ __max1 > __max2 ? __max1 : __max2; }) total: 22 errors, 0 warnings, 494 lines checked