From 99cabb187100e5bae12ec835431a2868e5d9afc9 Mon Sep 17 00:00:00 2001 From: Hans Verkuil Date: Thu, 21 May 2015 09:37:40 -0300 Subject: [PATCH] [media] cobalt: fix 64-bit division link error [linuxtv-media:master 1023/1029] ERROR: "__aeabi_uldivmod" [drivers/media/pci/cobalt/cobalt.ko] undefined! Signed-off-by: Hans Verkuil Reported-by: kbuild test robot Signed-off-by: Mauro Carvalho Chehab --- drivers/media/pci/cobalt/cobalt-v4l2.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/media/pci/cobalt/cobalt-v4l2.c b/drivers/media/pci/cobalt/cobalt-v4l2.c index bf80f11d94d8..6e8d25b18b4e 100644 --- a/drivers/media/pci/cobalt/cobalt-v4l2.c +++ b/drivers/media/pci/cobalt/cobalt-v4l2.c @@ -22,6 +22,7 @@ #include #include +#include #include #include @@ -314,8 +315,8 @@ static int cobalt_start_streaming(struct vb2_queue *q, unsigned int count) cvi->frame_height = bt->height; tot_size = V4L2_DV_BT_FRAME_WIDTH(bt) * V4L2_DV_BT_FRAME_HEIGHT(bt); vmr->hsync_timeout_val = - ((u64)V4L2_DV_BT_FRAME_WIDTH(bt) * COBALT_CLK * 4) / - bt->pixelclock; + div_u64((u64)V4L2_DV_BT_FRAME_WIDTH(bt) * COBALT_CLK * 4, + bt->pixelclock); vmr->control = M00233_CONTROL_BITMAP_ENABLE_MEASURE_MSK; clkloss->ref_clk_cnt_val = fw->clk_freq / 1000000; /* The lower bound for the clock frequency is 0.5% lower as is @@ -324,7 +325,7 @@ static int cobalt_start_streaming(struct vb2_queue *q, unsigned int count) (((u64)bt->pixelclock * 995) / 1000) / 1000000; /* will be enabled after the first frame has been received */ fw->active_length = bt->width * bt->height; - fw->total_length = ((u64)fw->clk_freq * tot_size) / bt->pixelclock; + fw->total_length = div_u64((u64)fw->clk_freq * tot_size, bt->pixelclock); vmr->irq_triggers = M00233_IRQ_TRIGGERS_BITMAP_VACTIVE_AREA_MSK | M00233_IRQ_TRIGGERS_BITMAP_HACTIVE_AREA_MSK; cvi->control = 0; -- 2.20.1