浏览代码

[media] qm1d1c0042: fix compilation on 32 bits

   drivers/built-in.o: In function `qm1d1c0042_set_params':
>> qm1d1c0042.c:(.text+0x2519730): undefined reference to `__divdi3'

Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab 11 年之前
父节点
当前提交
46cebe017a
共有 1 个文件被更改,包括 4 次插入1 次删除
  1. 4 1
      drivers/media/tuners/qm1d1c0042.c

+ 4 - 1
drivers/media/tuners/qm1d1c0042.c

@@ -28,6 +28,7 @@
  */
 
 #include <linux/kernel.h>
+#include <linux/math64.h>
 #include "qm1d1c0042.h"
 
 #define QM1D1C0042_NUM_REGS 0x20
@@ -234,7 +235,9 @@ static int qm1d1c0042_set_params(struct dvb_frontend *fe)
 	 * sd = b          (b >= 0)
 	 *      1<<22 + b  (b < 0)
 	 */
-	b = (((s64) freq) << 20) / state->cfg.xtal_freq - (((s64) a) << 20);
+	b = (s32)div64_s64(((s64) freq) << 20, state->cfg.xtal_freq)
+			   - (((s64) a) << 20);
+
 	if (b >= 0)
 		sd = b;
 	else