diff options
| author | Heinrich Schuchardt <[email protected]> | 2022-10-16 18:12:32 +0200 |
|---|---|---|
| committer | Leo Yu-Chi Liang <[email protected]> | 2022-10-20 15:22:30 +0800 |
| commit | e77ef0bb74c0df010e83a1f60a1c3004f00703da (patch) | |
| tree | c21dde9a5eb8152738f7d9da8e6935f706e5aee1 /drivers | |
| parent | e67f34f778baabd76f2e0e645a409fed14d2d156 (diff) | |
k210: fix k210_pll_calc_config()
The k210 driver is selected by sandbox_defconfig.
Building the sandbox on 32bit systems fails with:
test/dm/k210_pll.c: In function ‘dm_test_k210_pll_calc_config’:
include/linux/bitops.h:11:38: warning:
left shift count >= width of type [-Wshift-count-overflow]
11 | #define BIT(nr) (1UL << (nr))
| ^~
test/dm/k210_pll.c:36:54: note: in expansion of macro ‘BIT’
36 | error = abs((error - BIT(32))) >> 16;
| ^~~
Use the BIT_ULL() macro to create a u64 value.
Replace abs() by abs64() to get correct results on 32bit system
Apply the same for the unit test.
Signed-off-by: Heinrich Schuchardt <[email protected]>
Reviewed-by: Sean Anderson <[email protected]>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/clk/clk_k210.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/clk/clk_k210.c b/drivers/clk/clk_k210.c index 1961efaa5e7..f7d36963f85 100644 --- a/drivers/clk/clk_k210.c +++ b/drivers/clk/clk_k210.c @@ -846,7 +846,7 @@ again: error = DIV_ROUND_CLOSEST_ULL(f * inv_ratio, r * od); /* The lower 16 bits are spurious */ - error = abs((error - BIT(32))) >> 16; + error = abs64((error - BIT_ULL(32))) >> 16; if (error < best_error) { best->r = r; |
