DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] drivers/net: do not redefine bool
@ 2018-09-20  0:18 Thomas Monjalon
  2018-09-20 17:48 ` Shaikh, Shahed
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Thomas Monjalon @ 2018-09-20  0:18 UTC (permalink / raw)
  To: Ferruh Yigit, Rahul Lakkireddy, Wenzhuo Lu, Qi Zhang, Xiao Wang,
	Konstantin Ananyev, Rasesh Mody, Harish Patil, Shahed Shaikh,
	Yong Wang
  Cc: dev

When trying to include stdbool.h in DPDK base headers, there are a lot
of conflicts with drivers which redefine bool/true/false
in their compatibility layer.

It is fixed by including stdbool.h in these drivers.
Some errors with usage of bool type are also fixed in some drivers.

Note: the driver qede has a surprising mix of bool and int:
	(~p_iov->b_pre_fp_hsi & ETH_HSI_VER_MINOR)
where the first variable is boolean and the version is a number.
It is replaced by
	!p_iov->b_pre_fp_hsi

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 drivers/net/cxgbe/cxgbe_compat.h         |  2 +-
 drivers/net/e1000/base/e1000_osdep.h     |  5 +----
 drivers/net/fm10k/base/fm10k_osdep.h     |  8 +-------
 drivers/net/fm10k/fm10k_ethdev.c         |  4 ++--
 drivers/net/ixgbe/base/ixgbe_osdep.h     |  6 +-----
 drivers/net/ixgbe/ixgbe_ethdev.c         | 16 +++++++++-------
 drivers/net/ixgbe/ixgbe_rxtx.c           |  2 +-
 drivers/net/qede/base/bcm_osal.h         |  6 ++----
 drivers/net/qede/base/ecore_vf.c         |  3 +--
 drivers/net/qede/qede_ethdev.c           |  2 +-
 drivers/net/vmxnet3/base/vmxnet3_osdep.h |  3 ++-
 11 files changed, 22 insertions(+), 35 deletions(-)

diff --git a/drivers/net/cxgbe/cxgbe_compat.h b/drivers/net/cxgbe/cxgbe_compat.h
index 5d47c5f3d..2650ffcab 100644
--- a/drivers/net/cxgbe/cxgbe_compat.h
+++ b/drivers/net/cxgbe/cxgbe_compat.h
@@ -7,6 +7,7 @@
 #define _CXGBE_COMPAT_H_
 
 #include <string.h>
+#include <stdbool.h>
 #include <stdint.h>
 #include <stdio.h>
 #include <stdarg.h>
@@ -106,7 +107,6 @@ typedef uint16_t  u16;
 typedef uint32_t  u32;
 typedef int32_t   s32;
 typedef uint64_t  u64;
-typedef int       bool;
 typedef uint64_t  dma_addr_t;
 
 #ifndef __le16
diff --git a/drivers/net/e1000/base/e1000_osdep.h b/drivers/net/e1000/base/e1000_osdep.h
index b8868049f..556ed1742 100644
--- a/drivers/net/e1000/base/e1000_osdep.h
+++ b/drivers/net/e1000/base/e1000_osdep.h
@@ -35,6 +35,7 @@
 #ifndef _E1000_OSDEP_H_
 #define _E1000_OSDEP_H_
 
+#include <stdbool.h>
 #include <stdint.h>
 #include <stdio.h>
 #include <stdarg.h>
@@ -87,7 +88,6 @@ typedef int64_t		s64;
 typedef int32_t		s32;
 typedef int16_t		s16;
 typedef int8_t		s8;
-typedef int		bool;
 
 #define __le16		u16
 #define __le32		u32
@@ -192,7 +192,4 @@ static inline uint16_t e1000_read_addr16(volatile void *addr)
 #define ETH_ADDR_LEN                  6
 #endif
 
-#define false                         FALSE
-#define true                          TRUE
-
 #endif /* _E1000_OSDEP_H_ */
diff --git a/drivers/net/fm10k/base/fm10k_osdep.h b/drivers/net/fm10k/base/fm10k_osdep.h
index 199ebd8ea..9665239fd 100644
--- a/drivers/net/fm10k/base/fm10k_osdep.h
+++ b/drivers/net/fm10k/base/fm10k_osdep.h
@@ -34,6 +34,7 @@ POSSIBILITY OF SUCH DAMAGE.
 #ifndef _FM10K_OSDEP_H_
 #define _FM10K_OSDEP_H_
 
+#include <stdbool.h>
 #include <stdint.h>
 #include <string.h>
 #include <rte_atomic.h>
@@ -61,12 +62,6 @@ POSSIBILITY OF SUCH DAMAGE.
 
 #define FALSE      0
 #define TRUE       1
-#ifndef false
-#define false      FALSE
-#endif
-#ifndef true
-#define true       TRUE
-#endif
 
 typedef uint8_t    u8;
 typedef int8_t     s8;
@@ -76,7 +71,6 @@ typedef uint32_t   u32;
 typedef int32_t    s32;
 typedef int64_t    s64;
 typedef uint64_t   u64;
-typedef int        bool;
 
 #ifndef __le16
 #define __le16     u16
diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c
index 3359df3c8..243066e08 100644
--- a/drivers/net/fm10k/fm10k_ethdev.c
+++ b/drivers/net/fm10k/fm10k_ethdev.c
@@ -3132,7 +3132,7 @@ eth_fm10k_dev_init(struct rte_eth_dev *dev)
 
 	/* Make sure Switch Manager is ready before going forward. */
 	if (hw->mac.type == fm10k_mac_pf) {
-		int switch_ready = 0;
+		bool switch_ready = false;
 
 		for (i = 0; i < MAX_QUERY_SWITCH_STATE_TIMES; i++) {
 			fm10k_mbx_lock(hw);
@@ -3144,7 +3144,7 @@ eth_fm10k_dev_init(struct rte_eth_dev *dev)
 			rte_delay_us(WAIT_SWITCH_MSG_US);
 		}
 
-		if (switch_ready == 0) {
+		if (!switch_ready) {
 			PMD_INIT_LOG(ERR, "switch is not ready");
 			return -1;
 		}
diff --git a/drivers/net/ixgbe/base/ixgbe_osdep.h b/drivers/net/ixgbe/base/ixgbe_osdep.h
index bb5dfd2af..39e9118aa 100644
--- a/drivers/net/ixgbe/base/ixgbe_osdep.h
+++ b/drivers/net/ixgbe/base/ixgbe_osdep.h
@@ -36,6 +36,7 @@
 #define _IXGBE_OS_H_
 
 #include <string.h>
+#include <stdbool.h>
 #include <stdint.h>
 #include <stdio.h>
 #include <stdarg.h>
@@ -70,8 +71,6 @@
 #define FALSE               0
 #define TRUE                1
 
-#define false               0
-#define true                1
 #define min(a,b)	RTE_MIN(a,b) 
 
 #define EWARN(hw, S, args...)     DEBUGOUT1(S, ##args)
@@ -112,9 +111,6 @@ typedef int16_t		s16;
 typedef uint32_t	u32;
 typedef int32_t		s32;
 typedef uint64_t	u64;
-#ifndef __cplusplus
-typedef int		bool;
-#endif
 
 #define mb()	rte_mb()
 #define wmb()	rte_wmb()
diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index cee886754..c272a4112 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -2527,7 +2527,9 @@ ixgbe_dev_start(struct rte_eth_dev *dev)
 	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
 	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
 	uint32_t intr_vector = 0;
-	int err, link_up = 0, negotiate = 0;
+	int err;
+	bool negotiate = false;
+	bool link_up = false;
 	uint32_t speed = 0;
 	uint32_t allowed_speeds = 0;
 	int mask = 0;
@@ -2669,7 +2671,7 @@ ixgbe_dev_start(struct rte_eth_dev *dev)
 		ixgbe_enable_tx_laser(hw);
 	}
 
-	err = ixgbe_check_link(hw, &speed, &link_up, 0);
+	err = ixgbe_check_link(hw, &speed, &link_up, false);
 	if (err)
 		goto error;
 	dev->data->dev_link.link_status = link_up;
@@ -3870,7 +3872,7 @@ ixgbevf_dev_info_get(struct rte_eth_dev *dev,
 
 static int
 ixgbevf_check_link(struct ixgbe_hw *hw, ixgbe_link_speed *speed,
-		   int *link_up, int wait_to_complete)
+		   bool *link_up, int wait_to_complete)
 {
 	/**
 	 * for a quick link status checking, wait_to_compelet == 0,
@@ -3984,10 +3986,10 @@ ixgbe_dev_link_update_share(struct rte_eth_dev *dev,
 	ixgbe_link_speed link_speed = IXGBE_LINK_SPEED_UNKNOWN;
 	struct ixgbe_interrupt *intr =
 		IXGBE_DEV_PRIVATE_TO_INTR(dev->data->dev_private);
-	int link_up;
+	bool link_up;
 	int diag;
 	u32 speed = 0;
-	int wait = 1;
+	bool wait = true;
 	bool autoneg = false;
 
 	memset(&link, 0, sizeof(link));
@@ -4008,7 +4010,7 @@ ixgbe_dev_link_update_share(struct rte_eth_dev *dev,
 
 	/* check if it needs to wait to complete, if lsc interrupt is enabled */
 	if (wait_to_complete == 0 || dev->data->dev_conf.intr_conf.lsc != 0)
-		wait = 0;
+		wait = false;
 
 	if (vf)
 		diag = ixgbevf_check_link(hw, &link_speed, &link_up, wait);
@@ -4021,7 +4023,7 @@ ixgbe_dev_link_update_share(struct rte_eth_dev *dev,
 		return rte_eth_linkstatus_set(dev, &link);
 	}
 
-	if (link_up == 0) {
+	if (!link_up) {
 		intr->flags |= IXGBE_FLAG_NEED_LINK_CONFIG;
 		return rte_eth_linkstatus_set(dev, &link);
 	}
diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
index ae21f04a1..2dc14c47f 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx.c
+++ b/drivers/net/ixgbe/ixgbe_rxtx.c
@@ -2025,7 +2025,7 @@ ixgbe_recv_pkts_lro(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts,
 		struct ixgbe_rx_entry *next_rxe = NULL;
 		struct rte_mbuf *first_seg;
 		struct rte_mbuf *rxm;
-		struct rte_mbuf *nmb;
+		struct rte_mbuf *nmb = NULL;
 		union ixgbe_adv_rx_desc rxd;
 		uint16_t data_len;
 		uint16_t next_id;
diff --git a/drivers/net/qede/base/bcm_osal.h b/drivers/net/qede/base/bcm_osal.h
index 630867fad..060ef8e1d 100644
--- a/drivers/net/qede/base/bcm_osal.h
+++ b/drivers/net/qede/base/bcm_osal.h
@@ -7,6 +7,8 @@
 #ifndef __BCM_OSAL_H
 #define __BCM_OSAL_H
 
+#include <stdbool.h>
+
 #include <rte_byteorder.h>
 #include <rte_spinlock.h>
 #include <rte_malloc.h>
@@ -71,10 +73,6 @@ typedef size_t osal_size_t;
 
 typedef intptr_t osal_int_ptr_t;
 
-typedef int bool;
-#define true 1
-#define false 0
-
 #define nothing do {} while (0)
 
 /* Delays */
diff --git a/drivers/net/qede/base/ecore_vf.c b/drivers/net/qede/base/ecore_vf.c
index d2213f793..f5deb2916 100644
--- a/drivers/net/qede/base/ecore_vf.c
+++ b/drivers/net/qede/base/ecore_vf.c
@@ -445,8 +445,7 @@ static enum _ecore_status_t ecore_vf_pf_acquire(struct ecore_hwfn *p_hwfn)
 	}
 
 	/* @DPDK */
-	if ((~p_iov->b_pre_fp_hsi &
-	    ETH_HSI_VER_MINOR) &&
+	if (!p_iov->b_pre_fp_hsi &&
 	    (resp->pfdev_info.minor_fp_hsi < ETH_HSI_VER_MINOR))
 		DP_INFO(p_hwfn,
 			"PF is using older fastpath HSI;"
diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c
index 7bb52b157..53a767b3e 100644
--- a/drivers/net/qede/qede_ethdev.c
+++ b/drivers/net/qede/qede_ethdev.c
@@ -534,7 +534,7 @@ int qede_activate_vport(struct rte_eth_dev *eth_dev, bool flg)
 	params.update_vport_active_tx_flg = 1;
 	params.vport_active_rx_flg = flg;
 	params.vport_active_tx_flg = flg;
-	if (~qdev->enable_tx_switching & flg) {
+	if (!qdev->enable_tx_switching && flg) {
 		params.update_tx_switching_flg = 1;
 		params.tx_switching_flg = !flg;
 	}
diff --git a/drivers/net/vmxnet3/base/vmxnet3_osdep.h b/drivers/net/vmxnet3/base/vmxnet3_osdep.h
index c9b92b049..12b390acb 100644
--- a/drivers/net/vmxnet3/base/vmxnet3_osdep.h
+++ b/drivers/net/vmxnet3/base/vmxnet3_osdep.h
@@ -5,11 +5,12 @@
 #ifndef _VMXNET3_OSDEP_H
 #define _VMXNET3_OSDEP_H
 
+#include <stdbool.h>
+
 typedef uint64_t	uint64;
 typedef uint32_t	uint32;
 typedef uint16_t	uint16;
 typedef uint8_t		uint8;
-typedef int		bool;
 typedef char		Bool;
 
 #ifndef UNLIKELY
-- 
2.19.0

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [dpdk-dev] [PATCH] drivers/net: do not redefine bool
  2018-09-20  0:18 [dpdk-dev] [PATCH] drivers/net: do not redefine bool Thomas Monjalon
@ 2018-09-20 17:48 ` Shaikh, Shahed
  2018-09-21 13:47 ` Ferruh Yigit
  2018-09-24 15:06 ` Ferruh Yigit
  2 siblings, 0 replies; 11+ messages in thread
From: Shaikh, Shahed @ 2018-09-20 17:48 UTC (permalink / raw)
  To: Thomas Monjalon, Ferruh Yigit, Rahul Lakkireddy, Wenzhuo Lu,
	Qi Zhang, Xiao Wang, Konstantin Ananyev, Mody, Rasesh, Patil,
	Harish, Yong Wang
  Cc: dev

> -----Original Message-----
> From: Thomas Monjalon <thomas@monjalon.net>
> Sent: Thursday, September 20, 2018 5:49 AM
> To: Ferruh Yigit <ferruh.yigit@intel.com>; Rahul Lakkireddy
> <rahul.lakkireddy@chelsio.com>; Wenzhuo Lu <wenzhuo.lu@intel.com>; Qi
> Zhang <qi.z.zhang@intel.com>; Xiao Wang <xiao.w.wang@intel.com>;
> Konstantin Ananyev <konstantin.ananyev@intel.com>; Mody, Rasesh
> <Rasesh.Mody@cavium.com>; Patil, Harish <Harish.Patil@cavium.com>; Shaikh,
> Shahed <Shahed.Shaikh@cavium.com>; Yong Wang <yongwang@vmware.com>
> Cc: dev@dpdk.org
> Subject: [PATCH] drivers/net: do not redefine bool
> 
> External Email
> 
> When trying to include stdbool.h in DPDK base headers, there are a lot
> of conflicts with drivers which redefine bool/true/false
> in their compatibility layer.
> 
> It is fixed by including stdbool.h in these drivers.
> Some errors with usage of bool type are also fixed in some drivers.
> 
> Note: the driver qede has a surprising mix of bool and int:
>         (~p_iov->b_pre_fp_hsi & ETH_HSI_VER_MINOR)
> where the first variable is boolean and the version is a number.
> It is replaced by
>         !p_iov->b_pre_fp_hsi
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---
>  drivers/net/cxgbe/cxgbe_compat.h         |  2 +-
>  drivers/net/e1000/base/e1000_osdep.h     |  5 +----
>  drivers/net/fm10k/base/fm10k_osdep.h     |  8 +-------
>  drivers/net/fm10k/fm10k_ethdev.c         |  4 ++--
>  drivers/net/ixgbe/base/ixgbe_osdep.h     |  6 +-----
>  drivers/net/ixgbe/ixgbe_ethdev.c         | 16 +++++++++-------
>  drivers/net/ixgbe/ixgbe_rxtx.c           |  2 +-
>  drivers/net/qede/base/bcm_osal.h         |  6 ++----
>  drivers/net/qede/base/ecore_vf.c         |  3 +--
>  drivers/net/qede/qede_ethdev.c           |  2 +-
>  drivers/net/vmxnet3/base/vmxnet3_osdep.h |  3 ++-
>  11 files changed, 22 insertions(+), 35 deletions(-)
> 
 ...
> 
>  /* Delays */
> diff --git a/drivers/net/qede/base/ecore_vf.c
> b/drivers/net/qede/base/ecore_vf.c
> index d2213f793..f5deb2916 100644
> --- a/drivers/net/qede/base/ecore_vf.c
> +++ b/drivers/net/qede/base/ecore_vf.c
> @@ -445,8 +445,7 @@ static enum _ecore_status_t ecore_vf_pf_acquire(struct
> ecore_hwfn *p_hwfn)
>         }
> 
>         /* @DPDK */
> -       if ((~p_iov->b_pre_fp_hsi &
> -           ETH_HSI_VER_MINOR) &&
> +       if (!p_iov->b_pre_fp_hsi &&
>             (resp->pfdev_info.minor_fp_hsi < ETH_HSI_VER_MINOR))
>                 DP_INFO(p_hwfn,
>                         "PF is using older fastpath HSI;"
> diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c
> index 7bb52b157..53a767b3e 100644
> --- a/drivers/net/qede/qede_ethdev.c
> +++ b/drivers/net/qede/qede_ethdev.c
> @@ -534,7 +534,7 @@ int qede_activate_vport(struct rte_eth_dev *eth_dev,
> bool flg)
>         params.update_vport_active_tx_flg = 1;
>         params.vport_active_rx_flg = flg;
>         params.vport_active_tx_flg = flg;
> -       if (~qdev->enable_tx_switching & flg) {
> +       if (!qdev->enable_tx_switching && flg) {
>                 params.update_tx_switching_flg = 1;
>                 params.tx_switching_flg = !flg;
>         }

For qede changes -
Acked-by: Shahed Shaikh <shahed.shaikh@cavium.com>

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [dpdk-dev] [PATCH] drivers/net: do not redefine bool
  2018-09-20  0:18 [dpdk-dev] [PATCH] drivers/net: do not redefine bool Thomas Monjalon
  2018-09-20 17:48 ` Shaikh, Shahed
@ 2018-09-21 13:47 ` Ferruh Yigit
  2018-09-21 14:49   ` Thomas Monjalon
  2018-09-24 15:06 ` Ferruh Yigit
  2 siblings, 1 reply; 11+ messages in thread
From: Ferruh Yigit @ 2018-09-21 13:47 UTC (permalink / raw)
  To: Thomas Monjalon, Rahul Lakkireddy, Wenzhuo Lu, Qi Zhang,
	Xiao Wang, Konstantin Ananyev, Rasesh Mody, Harish Patil,
	Shahed Shaikh, Yong Wang
  Cc: dev

On 9/20/2018 1:18 AM, Thomas Monjalon wrote:
> When trying to include stdbool.h in DPDK base headers, there are a lot
> of conflicts with drivers which redefine bool/true/false
> in their compatibility layer.
> 
> It is fixed by including stdbool.h in these drivers.
> Some errors with usage of bool type are also fixed in some drivers.
> 
> Note: the driver qede has a surprising mix of bool and int:
> 	(~p_iov->b_pre_fp_hsi & ETH_HSI_VER_MINOR)
> where the first variable is boolean and the version is a number.
> It is replaced by
> 	!p_iov->b_pre_fp_hsi
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---
>  drivers/net/cxgbe/cxgbe_compat.h         |  2 +-
>  drivers/net/e1000/base/e1000_osdep.h     |  5 +----
>  drivers/net/fm10k/base/fm10k_osdep.h     |  8 +-------
>  drivers/net/fm10k/fm10k_ethdev.c         |  4 ++--
>  drivers/net/ixgbe/base/ixgbe_osdep.h     |  6 +-----
>  drivers/net/ixgbe/ixgbe_ethdev.c         | 16 +++++++++-------
>  drivers/net/ixgbe/ixgbe_rxtx.c           |  2 +-
>  drivers/net/qede/base/bcm_osal.h         |  6 ++----
>  drivers/net/qede/base/ecore_vf.c         |  3 +--
>  drivers/net/qede/qede_ethdev.c           |  2 +-
>  drivers/net/vmxnet3/base/vmxnet3_osdep.h |  3 ++-
>  11 files changed, 22 insertions(+), 35 deletions(-)

<...>

> @@ -35,6 +35,7 @@
>  #ifndef _E1000_OSDEP_H_
>  #define _E1000_OSDEP_H_
>  
> +#include <stdbool.h>
>  #include <stdint.h>
>  #include <stdio.h>
>  #include <stdarg.h>
> @@ -87,7 +88,6 @@ typedef int64_t		s64;
>  typedef int32_t		s32;
>  typedef int16_t		s16;
>  typedef int8_t		s8;
> -typedef int		bool;
>  
>  #define __le16		u16
>  #define __le32		u32
> @@ -192,7 +192,4 @@ static inline uint16_t e1000_read_addr16(volatile void *addr)
>  #define ETH_ADDR_LEN                  6
>  #endif
>  
> -#define false                         FALSE
> -#define true                          TRUE
> -

It is too much hassle to update Intel base driver code. What would happen if not
include stdbool and keep define for base code updates? Will it break build for
applications?

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [dpdk-dev] [PATCH] drivers/net: do not redefine bool
  2018-09-21 13:47 ` Ferruh Yigit
@ 2018-09-21 14:49   ` Thomas Monjalon
  2018-09-24 14:43     ` Ferruh Yigit
  0 siblings, 1 reply; 11+ messages in thread
From: Thomas Monjalon @ 2018-09-21 14:49 UTC (permalink / raw)
  To: Ferruh Yigit
  Cc: Rahul Lakkireddy, Wenzhuo Lu, Qi Zhang, Xiao Wang,
	Konstantin Ananyev, Rasesh Mody, Harish Patil, Shahed Shaikh,
	Yong Wang, dev

21/09/2018 15:47, Ferruh Yigit:
> On 9/20/2018 1:18 AM, Thomas Monjalon wrote:
> > When trying to include stdbool.h in DPDK base headers, there are a lot
> > of conflicts with drivers which redefine bool/true/false
> > in their compatibility layer.
> > 
> > It is fixed by including stdbool.h in these drivers.
> > Some errors with usage of bool type are also fixed in some drivers.
> > 
> > Note: the driver qede has a surprising mix of bool and int:
> > 	(~p_iov->b_pre_fp_hsi & ETH_HSI_VER_MINOR)
> > where the first variable is boolean and the version is a number.
> > It is replaced by
> > 	!p_iov->b_pre_fp_hsi
> > 
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> > ---
> >  drivers/net/cxgbe/cxgbe_compat.h         |  2 +-
> >  drivers/net/e1000/base/e1000_osdep.h     |  5 +----
> >  drivers/net/fm10k/base/fm10k_osdep.h     |  8 +-------
> >  drivers/net/fm10k/fm10k_ethdev.c         |  4 ++--
> >  drivers/net/ixgbe/base/ixgbe_osdep.h     |  6 +-----
> >  drivers/net/ixgbe/ixgbe_ethdev.c         | 16 +++++++++-------
> >  drivers/net/ixgbe/ixgbe_rxtx.c           |  2 +-
> >  drivers/net/qede/base/bcm_osal.h         |  6 ++----
> >  drivers/net/qede/base/ecore_vf.c         |  3 +--
> >  drivers/net/qede/qede_ethdev.c           |  2 +-
> >  drivers/net/vmxnet3/base/vmxnet3_osdep.h |  3 ++-
> >  11 files changed, 22 insertions(+), 35 deletions(-)
> 
> <...>
> 
> > @@ -35,6 +35,7 @@
> >  #ifndef _E1000_OSDEP_H_
> >  #define _E1000_OSDEP_H_
> >  
> > +#include <stdbool.h>
> >  #include <stdint.h>
> >  #include <stdio.h>
> >  #include <stdarg.h>
> > @@ -87,7 +88,6 @@ typedef int64_t		s64;
> >  typedef int32_t		s32;
> >  typedef int16_t		s16;
> >  typedef int8_t		s8;
> > -typedef int		bool;
> >  
> >  #define __le16		u16
> >  #define __le32		u32
> > @@ -192,7 +192,4 @@ static inline uint16_t e1000_read_addr16(volatile void *addr)
> >  #define ETH_ADDR_LEN                  6
> >  #endif
> >  
> > -#define false                         FALSE
> > -#define true                          TRUE
> > -
> 
> It is too much hassle to update Intel base driver code.

It is not really base driver code.
It was agreed that *_osdep.h can be modified:
	http://git.dpdk.org/dpdk/tree/drivers/net/ixgbe/base/README#n56

> What would happen if not
> include stdbool and keep define for base code updates? Will it break build for
> applications?

The problem is not applications, but using stdbool in DPDK headers.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [dpdk-dev] [PATCH] drivers/net: do not redefine bool
  2018-09-21 14:49   ` Thomas Monjalon
@ 2018-09-24 14:43     ` Ferruh Yigit
  0 siblings, 0 replies; 11+ messages in thread
From: Ferruh Yigit @ 2018-09-24 14:43 UTC (permalink / raw)
  To: Thomas Monjalon
  Cc: Rahul Lakkireddy, Wenzhuo Lu, Qi Zhang, Xiao Wang,
	Konstantin Ananyev, Rasesh Mody, Harish Patil, Shahed Shaikh,
	Yong Wang, dev

On 9/21/2018 3:49 PM, Thomas Monjalon wrote:
> 21/09/2018 15:47, Ferruh Yigit:
>> On 9/20/2018 1:18 AM, Thomas Monjalon wrote:
>>> When trying to include stdbool.h in DPDK base headers, there are a lot
>>> of conflicts with drivers which redefine bool/true/false
>>> in their compatibility layer.
>>>
>>> It is fixed by including stdbool.h in these drivers.
>>> Some errors with usage of bool type are also fixed in some drivers.
>>>
>>> Note: the driver qede has a surprising mix of bool and int:
>>> 	(~p_iov->b_pre_fp_hsi & ETH_HSI_VER_MINOR)
>>> where the first variable is boolean and the version is a number.
>>> It is replaced by
>>> 	!p_iov->b_pre_fp_hsi
>>>
>>> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
>>> ---
>>>  drivers/net/cxgbe/cxgbe_compat.h         |  2 +-
>>>  drivers/net/e1000/base/e1000_osdep.h     |  5 +----
>>>  drivers/net/fm10k/base/fm10k_osdep.h     |  8 +-------
>>>  drivers/net/fm10k/fm10k_ethdev.c         |  4 ++--
>>>  drivers/net/ixgbe/base/ixgbe_osdep.h     |  6 +-----
>>>  drivers/net/ixgbe/ixgbe_ethdev.c         | 16 +++++++++-------
>>>  drivers/net/ixgbe/ixgbe_rxtx.c           |  2 +-
>>>  drivers/net/qede/base/bcm_osal.h         |  6 ++----
>>>  drivers/net/qede/base/ecore_vf.c         |  3 +--
>>>  drivers/net/qede/qede_ethdev.c           |  2 +-
>>>  drivers/net/vmxnet3/base/vmxnet3_osdep.h |  3 ++-
>>>  11 files changed, 22 insertions(+), 35 deletions(-)
>>
>> <...>
>>
>>> @@ -35,6 +35,7 @@
>>>  #ifndef _E1000_OSDEP_H_
>>>  #define _E1000_OSDEP_H_
>>>  
>>> +#include <stdbool.h>
>>>  #include <stdint.h>
>>>  #include <stdio.h>
>>>  #include <stdarg.h>
>>> @@ -87,7 +88,6 @@ typedef int64_t		s64;
>>>  typedef int32_t		s32;
>>>  typedef int16_t		s16;
>>>  typedef int8_t		s8;
>>> -typedef int		bool;
>>>  
>>>  #define __le16		u16
>>>  #define __le32		u32
>>> @@ -192,7 +192,4 @@ static inline uint16_t e1000_read_addr16(volatile void *addr)
>>>  #define ETH_ADDR_LEN                  6
>>>  #endif
>>>  
>>> -#define false                         FALSE
>>> -#define true                          TRUE
>>> -
>>
>> It is too much hassle to update Intel base driver code.
> 
> It is not really base driver code.
> It was agreed that *_osdep.h can be modified:
> 	http://git.dpdk.org/dpdk/tree/drivers/net/ixgbe/base/README#n56

Right.

> 
>> What would happen if not
>> include stdbool and keep define for base code updates? Will it break build for
>> applications?
> 
> The problem is not applications, but using stdbool in DPDK headers.

I see.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [dpdk-dev] [PATCH] drivers/net: do not redefine bool
  2018-09-20  0:18 [dpdk-dev] [PATCH] drivers/net: do not redefine bool Thomas Monjalon
  2018-09-20 17:48 ` Shaikh, Shahed
  2018-09-21 13:47 ` Ferruh Yigit
@ 2018-09-24 15:06 ` Ferruh Yigit
  2018-09-24 16:59   ` Thomas Monjalon
  2 siblings, 1 reply; 11+ messages in thread
From: Ferruh Yigit @ 2018-09-24 15:06 UTC (permalink / raw)
  To: Thomas Monjalon, Rahul Lakkireddy, Wenzhuo Lu, Qi Zhang,
	Xiao Wang, Konstantin Ananyev, Rasesh Mody, Harish Patil,
	Shahed Shaikh, Yong Wang
  Cc: dev

On 9/20/2018 1:18 AM, Thomas Monjalon wrote:
> When trying to include stdbool.h in DPDK base headers, there are a lot
> of conflicts with drivers which redefine bool/true/false
> in their compatibility layer.
> 
> It is fixed by including stdbool.h in these drivers.
> Some errors with usage of bool type are also fixed in some drivers.
> 
> Note: the driver qede has a surprising mix of bool and int:
> 	(~p_iov->b_pre_fp_hsi & ETH_HSI_VER_MINOR)
> where the first variable is boolean and the version is a number.
> It is replaced by
> 	!p_iov->b_pre_fp_hsi
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>

<...>

> diff --git a/drivers/net/e1000/base/e1000_osdep.h b/drivers/net/e1000/base/e1000_osdep.h
> index b8868049f..556ed1742 100644
> --- a/drivers/net/e1000/base/e1000_osdep.h
> +++ b/drivers/net/e1000/base/e1000_osdep.h
> @@ -35,6 +35,7 @@
>  #ifndef _E1000_OSDEP_H_
>  #define _E1000_OSDEP_H_
>  
> +#include <stdbool.h>
>  #include <stdint.h>
>  #include <stdio.h>
>  #include <stdarg.h>
> @@ -87,7 +88,6 @@ typedef int64_t		s64;
>  typedef int32_t		s32;
>  typedef int16_t		s16;
>  typedef int8_t		s8;
> -typedef int		bool;
>  
>  #define __le16		u16
>  #define __le32		u32
> @@ -192,7 +192,4 @@ static inline uint16_t e1000_read_addr16(volatile void *addr)
>  #define ETH_ADDR_LEN                  6
>  #endif
>  
> -#define false                         FALSE
> -#define true                          TRUE

TRUE and FALSE also defined in this patch, can we remove them too?

> -
>  #endif /* _E1000_OSDEP_H_ */
> diff --git a/drivers/net/fm10k/base/fm10k_osdep.h b/drivers/net/fm10k/base/fm10k_osdep.h
> index 199ebd8ea..9665239fd 100644
> --- a/drivers/net/fm10k/base/fm10k_osdep.h
> +++ b/drivers/net/fm10k/base/fm10k_osdep.h
> @@ -34,6 +34,7 @@ POSSIBILITY OF SUCH DAMAGE.
>  #ifndef _FM10K_OSDEP_H_
>  #define _FM10K_OSDEP_H_
>  
> +#include <stdbool.h>
>  #include <stdint.h>
>  #include <string.h>
>  #include <rte_atomic.h>
> @@ -61,12 +62,6 @@ POSSIBILITY OF SUCH DAMAGE.
>  
>  #define FALSE      0
>  #define TRUE       1
> -#ifndef false
> -#define false      FALSE
> -#endif
> -#ifndef true
> -#define true       TRUE
> -#endif

Same here, TRUE and FALSE defined in this header and used in .c files one or two
places, what about remove them and convert usage to "true" and "false"

<...>

> diff --git a/drivers/net/ixgbe/base/ixgbe_osdep.h b/drivers/net/ixgbe/base/ixgbe_osdep.h
> index bb5dfd2af..39e9118aa 100644
> --- a/drivers/net/ixgbe/base/ixgbe_osdep.h
> +++ b/drivers/net/ixgbe/base/ixgbe_osdep.h
> @@ -36,6 +36,7 @@
>  #define _IXGBE_OS_H_
>  
>  #include <string.h>
> +#include <stdbool.h>
>  #include <stdint.h>
>  #include <stdio.h>
>  #include <stdarg.h>
> @@ -70,8 +71,6 @@
>  #define FALSE               0
>  #define TRUE                1

Same again, can we remove TRUE and FALSE

<...>

> diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
> index cee886754..c272a4112 100644
> --- a/drivers/net/ixgbe/ixgbe_ethdev.c
> +++ b/drivers/net/ixgbe/ixgbe_ethdev.c
> @@ -2527,7 +2527,9 @@ ixgbe_dev_start(struct rte_eth_dev *dev)
>  	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>  	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>  	uint32_t intr_vector = 0;
> -	int err, link_up = 0, negotiate = 0;
> +	int err;
> +	bool negotiate = false;
> +	bool link_up = false;

"link_up" is used in assignment to a single bit in uint16_t:
dev->data->dev_link.link_status = link_up;

When "link_up" is bool, should we change that line to:
if (link_up)
	dev->data->dev_link.link_status = 1;
else
	dev->data->dev_link.link_status = 0;

<...>

> @@ -3870,7 +3872,7 @@ ixgbevf_dev_info_get(struct rte_eth_dev *dev,
>  
>  static int
>  ixgbevf_check_link(struct ixgbe_hw *hw, ixgbe_link_speed *speed,
> -		   int *link_up, int wait_to_complete)
> +		   bool *link_up, int wait_to_complete)

Also need to change "wait_to_complete" to bool because below changes start
sending bool type to this function.

<...>

> diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
> index ae21f04a1..2dc14c47f 100644
> --- a/drivers/net/ixgbe/ixgbe_rxtx.c
> +++ b/drivers/net/ixgbe/ixgbe_rxtx.c
> @@ -2025,7 +2025,7 @@ ixgbe_recv_pkts_lro(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts,
>  		struct ixgbe_rx_entry *next_rxe = NULL;
>  		struct rte_mbuf *first_seg;
>  		struct rte_mbuf *rxm;
> -		struct rte_mbuf *nmb;
> +		struct rte_mbuf *nmb = NULL;

This change is unrelated. Can we separate this one?

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [dpdk-dev] [PATCH] drivers/net: do not redefine bool
  2018-09-24 15:06 ` Ferruh Yigit
@ 2018-09-24 16:59   ` Thomas Monjalon
  2018-09-25  8:03     ` Ferruh Yigit
  0 siblings, 1 reply; 11+ messages in thread
From: Thomas Monjalon @ 2018-09-24 16:59 UTC (permalink / raw)
  To: Ferruh Yigit
  Cc: Rahul Lakkireddy, Wenzhuo Lu, Qi Zhang, Xiao Wang,
	Konstantin Ananyev, Rasesh Mody, Harish Patil, Shahed Shaikh,
	Yong Wang, dev

24/09/2018 17:06, Ferruh Yigit:
> On 9/20/2018 1:18 AM, Thomas Monjalon wrote:
> > -#define false                         FALSE
> > -#define true                          TRUE
> 
> TRUE and FALSE also defined in this patch, can we remove them too?

I don't see the need to remove TRUE and FALSE.
The base drivers use them on other platforms, and it is convenient to not
change the base drivers.

[...]
> >  static int
> >  ixgbevf_check_link(struct ixgbe_hw *hw, ixgbe_link_speed *speed,
> > -		   int *link_up, int wait_to_complete)
> > +		   bool *link_up, int wait_to_complete)
> 
> Also need to change "wait_to_complete" to bool because below changes start
> sending bool type to this function.

[...]
> > --- a/drivers/net/ixgbe/ixgbe_rxtx.c
> > +++ b/drivers/net/ixgbe/ixgbe_rxtx.c
> > @@ -2025,7 +2025,7 @@ ixgbe_recv_pkts_lro(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts,
> >  		struct ixgbe_rx_entry *next_rxe = NULL;
> >  		struct rte_mbuf *first_seg;
> >  		struct rte_mbuf *rxm;
> > -		struct rte_mbuf *nmb;
> > +		struct rte_mbuf *nmb = NULL;
> 
> This change is unrelated. Can we separate this one?

Yes it looks unrelated but it becomes necessary when including stdbool.h.
I don't know the root cause, but yes, it may deserve a separate commit.
Maybe an ixgbe maintainer can take care of it?

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [dpdk-dev] [PATCH] drivers/net: do not redefine bool
  2018-09-24 16:59   ` Thomas Monjalon
@ 2018-09-25  8:03     ` Ferruh Yigit
  2018-09-25  9:04       ` Thomas Monjalon
  0 siblings, 1 reply; 11+ messages in thread
From: Ferruh Yigit @ 2018-09-25  8:03 UTC (permalink / raw)
  To: Thomas Monjalon
  Cc: Rahul Lakkireddy, Wenzhuo Lu, Qi Zhang, Xiao Wang,
	Konstantin Ananyev, Rasesh Mody, Harish Patil, Shahed Shaikh,
	Yong Wang, dev

On 9/24/2018 5:59 PM, Thomas Monjalon wrote:
> 24/09/2018 17:06, Ferruh Yigit:
>> On 9/20/2018 1:18 AM, Thomas Monjalon wrote:
>>> -#define false                         FALSE
>>> -#define true                          TRUE
>>
>> TRUE and FALSE also defined in this patch, can we remove them too?
> 
> I don't see the need to remove TRUE and FALSE.
> The base drivers use them on other platforms, and it is convenient to not
> change the base drivers.

Not needed, but previously it was only TRUE & FALSE, and true & false was define
to them.

Now there are TRUE & FALSE from header files and true & false from stdbool and
these pairs used interchangeably, I thought it can better to unify the usage to
stdbool ones.

> 
> [...]
>>>  static int
>>>  ixgbevf_check_link(struct ixgbe_hw *hw, ixgbe_link_speed *speed,
>>> -		   int *link_up, int wait_to_complete)
>>> +		   bool *link_up, int wait_to_complete)
>>
>> Also need to change "wait_to_complete" to bool because below changes start
>> sending bool type to this function.
> 
> [...]
>>> --- a/drivers/net/ixgbe/ixgbe_rxtx.c
>>> +++ b/drivers/net/ixgbe/ixgbe_rxtx.c
>>> @@ -2025,7 +2025,7 @@ ixgbe_recv_pkts_lro(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts,
>>>  		struct ixgbe_rx_entry *next_rxe = NULL;
>>>  		struct rte_mbuf *first_seg;
>>>  		struct rte_mbuf *rxm;
>>> -		struct rte_mbuf *nmb;
>>> +		struct rte_mbuf *nmb = NULL;
>>
>> This change is unrelated. Can we separate this one?
> 
> Yes it looks unrelated but it becomes necessary when including stdbool.h.
> I don't know the root cause, but yes, it may deserve a separate commit.
> Maybe an ixgbe maintainer can take care of it?

Why becomes necessary? Does it give a build warning etc?
My concern is this is in data path, one extra assignment, it would be better to
confirm it is really needed.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [dpdk-dev] [PATCH] drivers/net: do not redefine bool
  2018-09-25  8:03     ` Ferruh Yigit
@ 2018-09-25  9:04       ` Thomas Monjalon
  2018-10-03 14:11         ` Ferruh Yigit
  0 siblings, 1 reply; 11+ messages in thread
From: Thomas Monjalon @ 2018-09-25  9:04 UTC (permalink / raw)
  To: Ferruh Yigit
  Cc: Rahul Lakkireddy, Wenzhuo Lu, Qi Zhang, Xiao Wang,
	Konstantin Ananyev, Rasesh Mody, Harish Patil, Shahed Shaikh,
	Yong Wang, dev

25/09/2018 10:03, Ferruh Yigit:
> On 9/24/2018 5:59 PM, Thomas Monjalon wrote:
> >>> --- a/drivers/net/ixgbe/ixgbe_rxtx.c
> >>> +++ b/drivers/net/ixgbe/ixgbe_rxtx.c
> >>> @@ -2025,7 +2025,7 @@ ixgbe_recv_pkts_lro(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts,
> >>>  		struct ixgbe_rx_entry *next_rxe = NULL;
> >>>  		struct rte_mbuf *first_seg;
> >>>  		struct rte_mbuf *rxm;
> >>> -		struct rte_mbuf *nmb;
> >>> +		struct rte_mbuf *nmb = NULL;
> >>
> >> This change is unrelated. Can we separate this one?
> > 
> > Yes it looks unrelated but it becomes necessary when including stdbool.h.
> > I don't know the root cause, but yes, it may deserve a separate commit.
> > Maybe an ixgbe maintainer can take care of it?
> 
> Why becomes necessary? Does it give a build warning etc?
> My concern is this is in data path, one extra assignment, it would be better to
> confirm it is really needed.

Yes I had a compilation error.
If you cannot reproduce it, I will try to re-run my compilation tests.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [dpdk-dev] [PATCH] drivers/net: do not redefine bool
  2018-09-25  9:04       ` Thomas Monjalon
@ 2018-10-03 14:11         ` Ferruh Yigit
  2018-10-03 19:16           ` Thomas Monjalon
  0 siblings, 1 reply; 11+ messages in thread
From: Ferruh Yigit @ 2018-10-03 14:11 UTC (permalink / raw)
  To: Thomas Monjalon
  Cc: Rahul Lakkireddy, Wenzhuo Lu, Qi Zhang, Xiao Wang,
	Konstantin Ananyev, Rasesh Mody, Harish Patil, Shahed Shaikh,
	Yong Wang, dev

On 9/25/2018 10:04 AM, Thomas Monjalon wrote:
> 25/09/2018 10:03, Ferruh Yigit:
>> On 9/24/2018 5:59 PM, Thomas Monjalon wrote:
>>>>> --- a/drivers/net/ixgbe/ixgbe_rxtx.c
>>>>> +++ b/drivers/net/ixgbe/ixgbe_rxtx.c
>>>>> @@ -2025,7 +2025,7 @@ ixgbe_recv_pkts_lro(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts,
>>>>>  		struct ixgbe_rx_entry *next_rxe = NULL;
>>>>>  		struct rte_mbuf *first_seg;
>>>>>  		struct rte_mbuf *rxm;
>>>>> -		struct rte_mbuf *nmb;
>>>>> +		struct rte_mbuf *nmb = NULL;
>>>>
>>>> This change is unrelated. Can we separate this one?
>>>
>>> Yes it looks unrelated but it becomes necessary when including stdbool.h.
>>> I don't know the root cause, but yes, it may deserve a separate commit.
>>> Maybe an ixgbe maintainer can take care of it?
>>
>> Why becomes necessary? Does it give a build warning etc?
>> My concern is this is in data path, one extra assignment, it would be better to
>> confirm it is really needed.
> 
> Yes I had a compilation error.
> If you cannot reproduce it, I will try to re-run my compilation tests.

I got the error with gcc [1] but it seems false positive and only generated when
<stdbool.h> included in ixgbe_rxtx.c, so this is an odd one, I am not able to
find root cause.

But since it is false positive, what do you think adding compiler option to
disable this warning for this file?


[1]
.../drivers/net/ixgbe/ixgbe_rxtx.c:2139:14: error: ‘nmb’ may be used
uninitialized in this function [-Werror=maybe-uninitialized]
    rxe->mbuf = nmb;
    ~~~~~~~~~~^~~~~

$ gcc --version
gcc (GCC) 8.1.1 20180712 (Red Hat 8.1.1-5)

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [dpdk-dev] [PATCH] drivers/net: do not redefine bool
  2018-10-03 14:11         ` Ferruh Yigit
@ 2018-10-03 19:16           ` Thomas Monjalon
  0 siblings, 0 replies; 11+ messages in thread
From: Thomas Monjalon @ 2018-10-03 19:16 UTC (permalink / raw)
  To: Ferruh Yigit
  Cc: Rahul Lakkireddy, Wenzhuo Lu, Qi Zhang, Xiao Wang,
	Konstantin Ananyev, Rasesh Mody, Harish Patil, Shahed Shaikh,
	Yong Wang, dev

03/10/2018 16:11, Ferruh Yigit:
> On 9/25/2018 10:04 AM, Thomas Monjalon wrote:
> > 25/09/2018 10:03, Ferruh Yigit:
> >> On 9/24/2018 5:59 PM, Thomas Monjalon wrote:
> >>>>> --- a/drivers/net/ixgbe/ixgbe_rxtx.c
> >>>>> +++ b/drivers/net/ixgbe/ixgbe_rxtx.c
> >>>>> @@ -2025,7 +2025,7 @@ ixgbe_recv_pkts_lro(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts,
> >>>>>  		struct ixgbe_rx_entry *next_rxe = NULL;
> >>>>>  		struct rte_mbuf *first_seg;
> >>>>>  		struct rte_mbuf *rxm;
> >>>>> -		struct rte_mbuf *nmb;
> >>>>> +		struct rte_mbuf *nmb = NULL;
> >>>>
> >>>> This change is unrelated. Can we separate this one?
> >>>
> >>> Yes it looks unrelated but it becomes necessary when including stdbool.h.
> >>> I don't know the root cause, but yes, it may deserve a separate commit.
> >>> Maybe an ixgbe maintainer can take care of it?
> >>
> >> Why becomes necessary? Does it give a build warning etc?
> >> My concern is this is in data path, one extra assignment, it would be better to
> >> confirm it is really needed.
> > 
> > Yes I had a compilation error.
> > If you cannot reproduce it, I will try to re-run my compilation tests.
> 
> I got the error with gcc [1] but it seems false positive and only generated when
> <stdbool.h> included in ixgbe_rxtx.c, so this is an odd one, I am not able to
> find root cause.
> 
> But since it is false positive, what do you think adding compiler option to
> disable this warning for this file?

I don't like disabling warnings on files.
We can take time to work on this patch. It is not required for 18.11.


> [1]
> .../drivers/net/ixgbe/ixgbe_rxtx.c:2139:14: error: ‘nmb’ may be used
> uninitialized in this function [-Werror=maybe-uninitialized]
>     rxe->mbuf = nmb;
>     ~~~~~~~~~~^~~~~
> 
> $ gcc --version
> gcc (GCC) 8.1.1 20180712 (Red Hat 8.1.1-5)

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2018-10-03 19:16 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-20  0:18 [dpdk-dev] [PATCH] drivers/net: do not redefine bool Thomas Monjalon
2018-09-20 17:48 ` Shaikh, Shahed
2018-09-21 13:47 ` Ferruh Yigit
2018-09-21 14:49   ` Thomas Monjalon
2018-09-24 14:43     ` Ferruh Yigit
2018-09-24 15:06 ` Ferruh Yigit
2018-09-24 16:59   ` Thomas Monjalon
2018-09-25  8:03     ` Ferruh Yigit
2018-09-25  9:04       ` Thomas Monjalon
2018-10-03 14:11         ` Ferruh Yigit
2018-10-03 19:16           ` Thomas Monjalon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).