i40e: remove warning
PATCH 1/1 i40e: remove warning
Fix a printf warning which made the compilation fail when compiling with GCC 7.2 and -Werror:
error: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 8 has type ‘u64 {aka long unsigned int}’ [-Werror=format=]
--- drivers/net/i40e/base/i40e_common.c | 2 +- drivers/net/i40e/base/i40e_nvm.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-)
drivers/net/i40e/base/i40e_common.c +1 -1
@@ -3929,7 +3929,7 @@ STATIC void i40e_parse_discover_capabilities(struct i40e_hw *hw, void *buff, p->wr_csr_prot = (u64 )number; p->wr_csr_prot |= (u64 )logical_id <<32 ;i40e_debug (hw,I40E_DEBUG_INIT , -"HW Capability: wr_csr_prot = 0x%llX\n\n" , +"HW Capability: wr_csr_prot = 0x%lX\n\n" , (p->wr_csr_prot &0xffff ));break ;case I40E_AQ_CAP_ID_NVM_MGMT :
drivers/net/i40e/base/i40e_nvm.c +3 -3
@@ -118,7 +118,7 @@ enum i40e_status_code i40e_acquire_nvm(struct i40e_hw *hw,if (ret_code)i40e_debug (hw,I40E_DEBUG_NVM , -"NVM acquire type %d failed time_left=%llu ret=%d aq_err=%d\n" , +"NVM acquire type %d failed time_left=%lu ret=%d aq_err=%d\n" , access, time_left, ret_code, hw->aq.asq_last_status);if (ret_code && time_left) {
@@ -140,7 +140,7 @@ enum i40e_status_code i40e_acquire_nvm(struct i40e_hw *hw,if (ret_code !=I40E_SUCCESS ) { hw->nvm.hw_semaphore_timeout =0 ;i40e_debug (hw,I40E_DEBUG_NVM , -"NVM acquire timed out, wait %llu ms before trying again. status=%d aq_err=%d\n" , +"NVM acquire timed out, wait %lu ms before trying again. status=%d aq_err=%d\n" , time_left, ret_code, hw->aq.asq_last_status); } }
@@ -1232,7 +1232,7 @@ STATIC enum i40e_status_code i40e_nvmupd_state_writing(struct i40e_hw *hw, gtime =rd32 (hw,I40E_GLVFGEN_TIMER );if (gtime >= hw->nvm.hw_semaphore_timeout) {i40e_debug (hw,I40E_DEBUG_ALL , -"NVMUPD: write semaphore expired (%d >= %lld), retrying\n" , +"NVMUPD: write semaphore expired (%d >= %ld), retrying\n" , gtime, hw->nvm.hw_semaphore_timeout);i40e_release_nvm (hw); status =i40e_acquire_nvm (hw,I40E_RESOURCE_WRITE );
Signature · 1 line
2.14.3
Quoted 34 lines
-----Original Message-----
From: dev [mailto:[email protected]] On Behalf Of Matteo Croce
Sent: Thursday, December 14, 2017 1:23 PM
To: [email protected]
Subject: [dpdk-dev] [PATCH] i40e: remove warningFix a printf warning which made the compilation fail when compiling with GCC 7.2 and -Werror:
error: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 8 has type ‘u64 {aka long unsigned int}’ [-Werror=format=]
Signed-off-by Matteo Croce <[email protected]>--- drivers/net/i40e/base/i40e_common.c | 2 +- drivers/net/i40e/base/i40e_nvm.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-)drivers/net/i40e/base/i40e_common.c +1
-1@@ -3929,7 +3929,7 @@ STATIC void i40e_parse_discover_capabilities(struct i40e_hw *hw, void *buff, p->wr_csr_prot = (u64 )number; p->wr_csr_prot |= (u64 )logical_id <<32 ;i40e_debug (hw,I40E_DEBUG_INIT , -"HW Capability: wr_csr_prot = 0x%llX\n\n" , +"HW Capability: wr_csr_prot = 0x%lX\n\n" , (p->wr_csr_prot &0xffff ));break ;
Quoted 1 line
case
I40E_AQ_CAP_ID_NVM_MGMT:
wr_src_prot is a u64, which will translate to long long on 32-bit systems. This will likely trip over a similar warning in that case. Should we instead use "HW Capability: wr_src_prot = 0x"PRIX64"\n\n"?
See inttypes.h for more info.
Quoted 40 lines · Kyle Larose
Quoted 34 lines
-----Original Message-----
From: dev [mailto:[email protected]] On Behalf Of Matteo Croce
Sent: Thursday, December 14, 2017 1:23 PM
To: [email protected]
Subject: [dpdk-dev] [PATCH] i40e: remove warningFix a printf warning which made the compilation fail when compiling with GCC 7.2 and -Werror:
error: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 8 has type ‘u64 {aka long unsigned int}’ [-Werror=format=]
Signed-off-by Matteo Croce <[email protected]>--- drivers/net/i40e/base/i40e_common.c | 2 +- drivers/net/i40e/base/i40e_nvm.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-)drivers/net/i40e/base/i40e_common.c +1
-1@@ -3929,7 +3929,7 @@ STATIC void i40e_parse_discover_capabilities(struct i40e_hw *hw, void *buff, p->wr_csr_prot = (u64 )number; p->wr_csr_prot |= (u64 )logical_id <<32 ;i40e_debug (hw,I40E_DEBUG_INIT , -"HW Capability: wr_csr_prot = 0x%llX\n\n" , +"HW Capability: wr_csr_prot = 0x%lX\n\n" , (p->wr_csr_prot &0xffff ));break ;Quoted 1 line
case I40E_AQ_CAP_ID_NVM_MGMT:
wr_src_protis a u64, which will translate to long long on 32-bit systems. This will likely trip over a similar warning in that case. Should we instead use "HW Capability:wr_src_prot= 0x"PRIX64"\n\n"?
Quoted 2 lines
See
inttypes.hfor more info.
Indeed. I'm making a v2 anyway because there are non printable color codes from the GCC output
Signature · 2 lines
Matteo Croce per aspera ad upstream
PATCH v2 1/1 i40e: remove warning
In reply to Matteo CroceFix a printf warning which made the compilation fail when compiling with GCC 7.2 and -Werror:
error: format %llu expects argument of type long long unsigned int, but argument 8 has type u64 {aka long unsigned int} [-Werror=format=]
---
v2:
- used PRI*64 macros to suppress warnings on both 32 and 64 bit compilers
- stripped non printable characters from commit message in GCC output
drivers/net/i40e/base/i40e_common.c | 4 +++- drivers/net/i40e/base/i40e_nvm.c | 8 +++++--- 2 files changed, 8 insertions(+), 4 deletions(-)
drivers/net/i40e/base/i40e_common.c +3 -1
@@ -31,6 +31,8 @@ POSSIBILITY OF SUCH DAMAGE.***************************************************************************/ +#include <inttypes.h> +#include "i40e_type.h" #include "i40e_adminq.h" #include "i40e_prototype.h"
@@ -3929,7 +3931,7 @@ STATIC void i40e_parse_discover_capabilities(struct i40e_hw *hw, void *buff, p->wr_csr_prot = (u64 )number; p->wr_csr_prot |= (u64 )logical_id <<32 ;i40e_debug (hw,I40E_DEBUG_INIT , -"HW Capability: wr_csr_prot = 0x%llX\n\n" , +"HW Capability: wr_csr_prot = 0x" PRIX64 "\n\n" , (p->wr_csr_prot &0xffff ));break ;case I40E_AQ_CAP_ID_NVM_MGMT :
drivers/net/i40e/base/i40e_nvm.c +5 -3
@@ -31,6 +31,8 @@ POSSIBILITY OF SUCH DAMAGE.***************************************************************************/ +#include <inttypes.h> +#include "i40e_prototype.h" enum i40e_status_code i40e_read_nvm_word_srctl(struct i40e_hw *hw, u16 offset,
@@ -118,7 +120,7 @@ enum i40e_status_code i40e_acquire_nvm(struct i40e_hw *hw,if (ret_code)i40e_debug (hw,I40E_DEBUG_NVM , -"NVM acquire type %d failed time_left=%llu ret=%d aq_err=%d\n" , +"NVM acquire type %d failed time_left=" PRIu64" ret=%d aq_err=%d\n" , access, time_left, ret_code, hw->aq.asq_last_status);if (ret_code && time_left) {
@@ -140,7 +142,7 @@ enum i40e_status_code i40e_acquire_nvm(struct i40e_hw *hw,if (ret_code !=I40E_SUCCESS ) { hw->nvm.hw_semaphore_timeout =0 ;i40e_debug (hw,I40E_DEBUG_NVM , -"NVM acquire timed out, wait %llu ms before trying again. status=%d aq_err=%d\n" , +"NVM acquire timed out, wait " PRIu64" ms before trying again. status=%d aq_err=%d\n" , time_left, ret_code, hw->aq.asq_last_status); } }
@@ -1232,7 +1234,7 @@ STATIC enum i40e_status_code i40e_nvmupd_state_writing(struct i40e_hw *hw, gtime =rd32 (hw,I40E_GLVFGEN_TIMER );if (gtime >= hw->nvm.hw_semaphore_timeout) {i40e_debug (hw,I40E_DEBUG_ALL , -"NVMUPD: write semaphore expired (%d >= %lld), retrying\n" , +"NVMUPD: write semaphore expired (%d >= " PRId64"), retrying\n" , gtime, hw->nvm.hw_semaphore_timeout);i40e_release_nvm (hw); status =i40e_acquire_nvm (hw,I40E_RESOURCE_WRITE );
Signature · 1 line
2.14.3
Quoted 7 lines · Matteo Croce
Fix a printf warning which made the compilation fail when compiling with GCC 7.2 and -Werror:
error: format %llu expects argument of type long long unsigned int, but argument 8 has type u64 {aka long unsigned int} [-Werror=format=]
Signed-off-by Matteo Croce <[email protected]>
Please discard this patch, it seems that this is not needed with current master. I made a patch for an older version by mistake, sorry.
Signature · 2 lines
Matteo Croce per aspera ad upstream