Skip to contentSkip to conversation

i40e: remove warning

PATCH Superseded Matteo Croce 2 participants 5 messages Dec 14, 2017 Network drivers

lore
Share & tools
lore
#0 lore raw

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
index 900d379ca..14834e8f2 100644
@@ -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
index a1e78300d..7b1377657 100644
@@ -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
#1 lore raw
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 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
index 900d379ca..14834e8f2 100644
@@ -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.

#2 lore raw
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 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
index 900d379ca..14834e8f2 100644
@@ -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"?

Quoted 2 lines

See inttypes.h for 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
#3 lore raw

PATCH v2 1/1 i40e: remove warning

In reply to 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=]

---
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
index 900d379ca..f6df55c8c 100644
@@ -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
index a1e78300d..292d72ab7 100644
@@ -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
#4 lore raw
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=]

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