patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] [PATCH v2 1/1] net/ionic: use standard stdbool.h
@ 2020-03-09  7:53 Sunil Kumar Kori
  2020-03-09  8:16 ` [dpdk-stable] [dpdk-dev] " Jerin Jacob
  2020-03-09  9:09 ` [dpdk-stable] [PATCH v3 " Sunil Kumar Kori
  0 siblings, 2 replies; 8+ messages in thread
From: Sunil Kumar Kori @ 2020-03-09  7:53 UTC (permalink / raw)
  To: Alfredo Cardigliano; +Cc: dev, stable, Sunil Kumar Kori

Any DPDK public header file which includes stdbool.h may conflict with
local definition of bool, if any, which further results in compilation
error. To avoid, used standard stdbool.h instead of defining bool
internally.

I observed this issue during a development where I included rte_uuid.h
into rte_ethdev.h. As rte_ethdev.h is included to PMD driver, it started
throwing error as given below:

  CC ionic_rxtx.o
In file included from .../dpdk/build/include/rte_uuid.h:17:0,
                 from .../dpdk/build/include/rte_ethdev.h:161,
                 from .../dpdk/build/include/rte_ethdev_driver.h:18,
                 from .../dpdk/drivers/net/ionic/ionic_rxtx.c:34:
.../dpdk/drivers/net/ionic/ionic_osdep.h:48:17: error: two or more data types in declaration specifiers
typedef uint8_t bool;
                 ^
In file included from .../dpdk/drivers/net/ionic/ionic_dev.h:8:0,
                 from .../dpdk/drivers/net/ionic/ionic.h:13,
                 from .../dpdk/drivers/net/ionic/ionic_mac_api.h:8,
                 from .../dpdk/drivers/net/ionic/ionic_rxtx.c:45:
.../dpdk/drivers/net/ionic/ionic_osdep.h:48:1: warning: useless type name in empty declaration
typedef uint8_t bool;
^~~~~~~
cc1: warning: unrecognized command line option ‘-Wno-address-of-packed-member’
.../dpdk/mk/internal/rte.compile-pre.mk:114: recipe for target 'ionic_rxtx.o' failed

Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
---
v2:
 - include stdbool.h in ionic_dev.h.

 drivers/net/ionic/ionic_dev.c       | 1 +
 drivers/net/ionic/ionic_dev.h       | 2 ++
 drivers/net/ionic/ionic_mac_api.c   | 1 +
 drivers/net/ionic/ionic_main.c      | 1 +
 drivers/net/ionic/ionic_osdep.h     | 1 -
 drivers/net/ionic/ionic_rx_filter.c | 1 +
 6 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ionic/ionic_dev.c b/drivers/net/ionic/ionic_dev.c
index aba388115..fe111a515 100644
--- a/drivers/net/ionic/ionic_dev.c
+++ b/drivers/net/ionic/ionic_dev.c
@@ -1,6 +1,7 @@
 /* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0)
  * Copyright(c) 2018-2019 Pensando Systems, Inc. All rights reserved.
  */
+#include <stdbool.h>
 
 #include <rte_malloc.h>
 
diff --git a/drivers/net/ionic/ionic_dev.h b/drivers/net/ionic/ionic_dev.h
index 8c1ec13a6..532255a60 100644
--- a/drivers/net/ionic/ionic_dev.h
+++ b/drivers/net/ionic/ionic_dev.h
@@ -5,6 +5,8 @@
 #ifndef _IONIC_DEV_H_
 #define _IONIC_DEV_H_
 
+#include <stdbool.h>
+
 #include "ionic_osdep.h"
 #include "ionic_if.h"
 #include "ionic_regs.h"
diff --git a/drivers/net/ionic/ionic_mac_api.c b/drivers/net/ionic/ionic_mac_api.c
index 189b8b81a..40421fd4e 100644
--- a/drivers/net/ionic/ionic_mac_api.c
+++ b/drivers/net/ionic/ionic_mac_api.c
@@ -1,6 +1,7 @@
 /* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0)
  * Copyright(c) 2018-2019 Pensando Systems, Inc. All rights reserved.
  */
+#include <stdbool.h>
 
 #include "ionic_mac_api.h"
 
diff --git a/drivers/net/ionic/ionic_main.c b/drivers/net/ionic/ionic_main.c
index b828d230d..9d74ec73e 100644
--- a/drivers/net/ionic/ionic_main.c
+++ b/drivers/net/ionic/ionic_main.c
@@ -1,6 +1,7 @@
 /* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0)
  * Copyright(c) 2018-2019 Pensando Systems, Inc. All rights reserved.
  */
+#include <stdbool.h>
 
 #include <rte_memzone.h>
 
diff --git a/drivers/net/ionic/ionic_osdep.h b/drivers/net/ionic/ionic_osdep.h
index ecdbc24e6..6ca5426ec 100644
--- a/drivers/net/ionic/ionic_osdep.h
+++ b/drivers/net/ionic/ionic_osdep.h
@@ -45,7 +45,6 @@ typedef uint32_t __le32;
 typedef uint64_t __le64;
 
 #ifndef __cplusplus
-typedef uint8_t bool;
 #define false   0
 #define true    1
 #endif
diff --git a/drivers/net/ionic/ionic_rx_filter.c b/drivers/net/ionic/ionic_rx_filter.c
index f75b81a27..fe624538d 100644
--- a/drivers/net/ionic/ionic_rx_filter.c
+++ b/drivers/net/ionic/ionic_rx_filter.c
@@ -3,6 +3,7 @@
  */
 
 #include <errno.h>
+#include <stdbool.h>
 
 #include <rte_malloc.h>
 
-- 
2.17.1


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

end of thread, other threads:[~2020-03-10 17:10 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-09  7:53 [dpdk-stable] [PATCH v2 1/1] net/ionic: use standard stdbool.h Sunil Kumar Kori
2020-03-09  8:16 ` [dpdk-stable] [dpdk-dev] " Jerin Jacob
2020-03-09  8:43   ` Ferruh Yigit
2020-03-09  9:10     ` [dpdk-stable] [EXT] " Sunil Kumar Kori
2020-03-09  9:09 ` [dpdk-stable] [PATCH v3 " Sunil Kumar Kori
2020-03-10 15:21   ` [dpdk-stable] [dpdk-dev] " Ferruh Yigit
2020-03-10 15:31     ` Alfredo Cardigliano
2020-03-10 17:10   ` Ferruh Yigit

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).