RE: [PATCH] trace/xdp: fix compile warning: âstruct bpf_mapâ declared inside parameter list

From: David Laight
Date: Wed Nov 29 2017 - 08:48:55 EST


From: Xie XiuQi
> Sent: 29 November 2017 08:35
>
> We meet this compile warning, which caused by missing bpf.h in xdp.h.
>
> In file included from ./include/trace/events/xdp.h:10:0,
> from ./include/linux/bpf_trace.h:6,
> from drivers/net/ethernet/intel/i40e/i40e_txrx.c:29:
> ./include/trace/events/xdp.h:93:17: warning: struct bpf_map declared inside parameter list will not be
> visible outside of this definition or declaration
> const struct bpf_map *map, u32 map_index),
> ^
...
> diff --git a/include/trace/events/xdp.h b/include/trace/events/xdp.h
> index 4cd0f05..8989a92 100644
> --- a/include/trace/events/xdp.h
> +++ b/include/trace/events/xdp.h
> @@ -8,6 +8,7 @@
> #include <linux/netdevice.h>
> #include <linux/filter.h>
> #include <linux/tracepoint.h>
> +#include <linux/bpf.h>

Isn't it just enough to add:
struct bpf_map;
before the first prototype instead of pulling in the entire header?

David