It looks like author of this code wasn't aware that plain "inline" without "static" does emit an (unused in this case) function body.
Add "static" to every inline in drivers/media/platform/fsl-viu.c viu_default_settings() has only one callsite, so remove "inline" from it. viu_activate_next_buf() and buffer_activate() are probably too large to be inlined, maybe they need to lose "inline" too. Leter? Signed-off-by: Denys Vlasenko <dvlas...@redhat.com> CC: Hans Verkuil <hans.verk...@cisco.com> CC: linux-kernel@vger.kernel.org --- drivers/media/platform/fsl-viu.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/media/platform/fsl-viu.c b/drivers/media/platform/fsl-viu.c index ae8c6b3..2c71d33 100644 --- a/drivers/media/platform/fsl-viu.c +++ b/drivers/media/platform/fsl-viu.c @@ -393,7 +393,7 @@ static void free_buffer(struct videobuf_queue *vq, struct viu_buf *buf) buf->vb.state = VIDEOBUF_NEEDS_INIT; } -inline int buffer_activate(struct viu_dev *dev, struct viu_buf *buf) +static inline int buffer_activate(struct viu_dev *dev, struct viu_buf *buf) { struct viu_reg *vr = dev->vr; int bpp; @@ -961,7 +961,7 @@ static int vidioc_s_input(struct file *file, void *priv, unsigned int i) return 0; } -inline void viu_activate_next_buf(struct viu_dev *dev, +static inline void viu_activate_next_buf(struct viu_dev *dev, struct viu_dmaqueue *viuq) { struct viu_dmaqueue *vidq = viuq; @@ -985,7 +985,7 @@ inline void viu_activate_next_buf(struct viu_dev *dev, } } -inline void viu_default_settings(struct viu_reg *viu_reg) +static void viu_default_settings(struct viu_reg *viu_reg) { struct viu_reg *vr = viu_reg; -- 1.8.1.4