projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
UPSTREAM: ARM: dts: rockchip: add support rk3229 evb board
[firefly-linux-kernel-4.4.55.git]
/
arch
/
arm
/
common
/
icst.c
diff --git
a/arch/arm/common/icst.c
b/arch/arm/common/icst.c
index 2dc6da70ae598af4a43f3b8a9bde05d26d386c77..d7ed252708c57fa86cff5d51887bd756b53b48e7 100644
(file)
--- a/
arch/arm/common/icst.c
+++ b/
arch/arm/common/icst.c
@@
-16,7
+16,7
@@
*/
#include <linux/module.h>
#include <linux/kernel.h>
*/
#include <linux/module.h>
#include <linux/kernel.h>
-
+#include <asm/div64.h>
#include <asm/hardware/icst.h>
/*
#include <asm/hardware/icst.h>
/*
@@
-29,7
+29,11
@@
EXPORT_SYMBOL(icst525_s2div);
unsigned long icst_hz(const struct icst_params *p, struct icst_vco vco)
{
unsigned long icst_hz(const struct icst_params *p, struct icst_vco vco)
{
- return p->ref * 2 * (vco.v + 8) / ((vco.r + 2) * p->s2div[vco.s]);
+ u64 dividend = p->ref * 2 * (u64)(vco.v + 8);
+ u32 divisor = (vco.r + 2) * p->s2div[vco.s];
+
+ do_div(dividend, divisor);
+ return (unsigned long)dividend;
}
EXPORT_SYMBOL(icst_hz);
}
EXPORT_SYMBOL(icst_hz);
@@
-58,6
+62,7
@@
icst_hz_to_vco(const struct icst_params *p, unsigned long freq)
if (f > p->vco_min && f <= p->vco_max)
break;
if (f > p->vco_min && f <= p->vco_max)
break;
+ i++;
} while (i < 8);
if (i >= 8)
} while (i < 8);
if (i >= 8)