net/avp: fix exported headers
authorAdrien Mazarguil <adrien.mazarguil@6wind.com>
Wed, 26 Apr 2017 12:07:15 +0000 (14:07 +0200)
committerThomas Monjalon <thomas@monjalon.net>
Sun, 30 Apr 2017 22:13:15 +0000 (00:13 +0200)
This commit addresses several errors related to missing includes such as:

 In file included from /tmp/check-includes.sh.15315.c:1:0:
 build/include/rte_avp_fifo.h:77:22: error: 'struct rte_avp_fifo' declared
    inside parameter list [-Werror]
 [...]
 build/include/rte_avp_fifo.h: In function 'avp_fifo_init':
 build/include/rte_avp_fifo.h:81:3: error: implicit declaration of function
    'rte_panic' [-Werror=implicit-function-declaration]
 [...]
 build/include/rte_avp_fifo.h:83:6: error: dereferencing pointer to
    incomplete type
 [...]
 build/include/rte_avp_fifo.h:109:2: error: implicit declaration of
    function 'rte_wmb' [-Werror=implicit-function-declaration]
 [...]
 In file included from /tmp/check-includes.sh.15315.c:1:0:
 build/include/rte_avp_common.h:104:2: error: unknown type name 'uint64_t'
 [...]
 build/include/rte_avp_common.h:386:15: error: 'ETHER_ADDR_LEN' undeclared
    here (not in a function)
 [...]

It addresses errors with strict compilation flags:

 In file included from /tmp/check-includes.sh.15315.c:1:0:
 build/include/rte_avp_common.h:122:3: error: ISO C99 doesn't support
    unnamed structs/unions [-Werror=pedantic]
 [...]
 build/include/rte_avp_common.h:136:17: error: ISO C forbids zero-size
    array 'buffer' [-Werror=pedantic]
 [...]

And also adds C++ awareness to both header files.

Fixes: 8e680655e205 ("net/avp: add public header files")

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Allain Legacy <allain.legacy@windriver.com>
drivers/net/avp/rte_avp_common.h
drivers/net/avp/rte_avp_fifo.h

index 31d763e..488d721 100644 (file)
 
 #ifdef __KERNEL__
 #include <linux/if.h>
+#define RTE_STD_C11
+#else
+#include <stdint.h>
+#include <rte_common.h>
+#include <rte_memory.h>
+#include <rte_ether.h>
+#include <rte_atomic.h>
+#endif
+
+#ifdef __cplusplus
+extern "C" {
 #endif
 
 /**
@@ -115,6 +126,7 @@ struct rte_avp_device_config {
  */
 struct rte_avp_request {
        uint32_t req_id; /**< Request id */
+       RTE_STD_C11
        union {
                uint32_t new_mtu; /**< New MTU */
                uint8_t if_up;  /**< 1: interface up, 0: interface down */
@@ -133,7 +145,7 @@ struct rte_avp_fifo {
        volatile unsigned int read; /**< Next position to be read */
        unsigned int len; /**< Circular buffer length */
        unsigned int elem_size; /**< Pointer size - for 32/64 bit OS */
-       void *volatile buffer[0]; /**< The buffer contains mbuf pointers */
+       void *volatile buffer[]; /**< The buffer contains mbuf pointers */
 };
 
 
@@ -413,4 +425,8 @@ struct rte_avp_device_info {
 #define RTE_AVP_IOCTL_RELEASE _IOWR(0, 3, struct rte_avp_device_info)
 #define RTE_AVP_IOCTL_QUERY   _IOWR(0, 4, struct rte_avp_device_config)
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* _RTE_AVP_COMMON_H_ */
index 8262e4f..803eb80 100644 (file)
 #ifndef _RTE_AVP_FIFO_H_
 #define _RTE_AVP_FIFO_H_
 
+#include "rte_avp_common.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #ifdef __KERNEL__
 /* Write memory barrier for kernel compiles */
 #define AVP_WMB() smp_wmb()
@@ -70,6 +76,8 @@
 #endif
 
 #ifndef __KERNEL__
+#include <rte_debug.h>
+
 /**
  * Initializes the avp fifo structure
  */
@@ -154,4 +162,8 @@ avp_fifo_free_count(struct rte_avp_fifo *fifo)
        return (fifo->read - fifo->write - 1) & (fifo->len - 1);
 }
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* _RTE_AVP_FIFO_H_ */