瀏覽代碼

tegra/clk-divider: fix wrong do_div() usage

do_div() is meant to be used with an unsigned dividend.

Signed-off-by: Nicolas Pitre <nico@linaro.org>
Nicolas Pitre 9 年之前
父節點
當前提交
3ed9c82437
共有 1 個文件被更改,包括 2 次插入2 次删除
  1. 2 2
      drivers/clk/tegra/clk-divider.c

+ 2 - 2
drivers/clk/tegra/clk-divider.c

@@ -32,7 +32,7 @@
 static int get_div(struct tegra_clk_frac_div *divider, unsigned long rate,
 static int get_div(struct tegra_clk_frac_div *divider, unsigned long rate,
 		   unsigned long parent_rate)
 		   unsigned long parent_rate)
 {
 {
-	s64 divider_ux1 = parent_rate;
+	u64 divider_ux1 = parent_rate;
 	u8 flags = divider->flags;
 	u8 flags = divider->flags;
 	int mul;
 	int mul;
 
 
@@ -54,7 +54,7 @@ static int get_div(struct tegra_clk_frac_div *divider, unsigned long rate,
 
 
 	divider_ux1 -= mul;
 	divider_ux1 -= mul;
 
 
-	if (divider_ux1 < 0)
+	if ((s64)divider_ux1 < 0)
 		return 0;
 		return 0;
 
 
 	if (divider_ux1 > get_max_div(divider))
 	if (divider_ux1 > get_max_div(divider))