From 80fcb5cad403071fd00c551818c459a2de6bef2d Mon Sep 17 00:00:00 2001 From: Adrien Mazarguil Date: Wed, 26 Apr 2017 14:07:15 +0200 Subject: [PATCH] net/avp: fix exported headers 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 Acked-by: Allain Legacy --- drivers/net/avp/rte_avp_common.h | 18 +++++++++++++++++- drivers/net/avp/rte_avp_fifo.h | 12 ++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/drivers/net/avp/rte_avp_common.h b/drivers/net/avp/rte_avp_common.h index 31d763ee51..488d721681 100644 --- a/drivers/net/avp/rte_avp_common.h +++ b/drivers/net/avp/rte_avp_common.h @@ -59,6 +59,17 @@ #ifdef __KERNEL__ #include +#define RTE_STD_C11 +#else +#include +#include +#include +#include +#include +#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_ */ diff --git a/drivers/net/avp/rte_avp_fifo.h b/drivers/net/avp/rte_avp_fifo.h index 8262e4f655..803eb80aa8 100644 --- a/drivers/net/avp/rte_avp_fifo.h +++ b/drivers/net/avp/rte_avp_fifo.h @@ -57,6 +57,12 @@ #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 + /** * 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_ */ -- 2.20.1