We get 4 warnings when building kernel with W=1: drivers/vhost/vhost.c:52:23: warning: no previous prototype for 'vhost_umem_interval_tree_insert' [-Wmissing-prototypes] drivers/vhost/vhost.c:52:23: warning: no previous prototype for 'vhost_umem_interval_tree_remove' [-Wmissing-prototypes] drivers/vhost/vhost.c:52:23: warning: no previous prototype for 'vhost_umem_interval_tree_iter_first' [-Wmissing-prototypes] drivers/vhost/vhost.c:52:23: warning: no previous prototype for 'vhost_umem_interval_tree_iter_next' [-Wmissing-prototypes]
In fact, these functions are defined in the macro 'INTERVAL_TREE_DEFINE' in include/linux/interval_tree_generic.h and don't need a declaration, but can be made static. so this patch marks these functions with 'static' by modifying the macro. Signed-off-by: Baoyou Xie <baoyou....@linaro.org> --- drivers/vhost/vhost.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c index c6f2d89..99c6d0d 100644 --- a/drivers/vhost/vhost.c +++ b/drivers/vhost/vhost.c @@ -48,8 +48,8 @@ enum { #define vhost_avail_event(vq) ((__virtio16 __user *)&vq->used->ring[vq->num]) INTERVAL_TREE_DEFINE(struct vhost_umem_node, - rb, __u64, __subtree_last, - START, LAST, , vhost_umem_interval_tree); + rb, __u64, __subtree_last, START, LAST, + static, vhost_umem_interval_tree); #ifdef CONFIG_VHOST_CROSS_ENDIAN_LEGACY static void vhost_disable_cross_endian(struct vhost_virtqueue *vq) -- 2.7.4