diff options
author | Shalom Toledo <shalomt@mellanox.com> | 2019-06-18 15:45:35 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-06-18 18:52:36 +0300 |
commit | cd4bb2a3344cb53d9234cca232edfb2dce0f0a35 (patch) | |
tree | ecbbc1ad8c8df65beafe050660025c7594b7628f | |
parent | 13091aa30535b719e269f20a7bc34002bf5afae5 (diff) | |
download | linux-cd4bb2a3344cb53d9234cca232edfb2dce0f0a35.tar.xz |
mlxsw: spectrum_ptp: Fix compilation on 32-bit ARM
Compilation on 32-bit ARM fails after commit 992aa864dca0 ("mlxsw:
spectrum_ptp: Add implementation for physical hardware clock operations")
because of 64-bit division:
arm-linux-gnueabi-ld:
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.o: in function
`mlxsw_sp1_ptp_phc_settime': spectrum_ptp.c:(.text+0x39c): undefined
reference to `__aeabi_uldivmod'
Fix by using div_u64().
Fixes: 992aa864dca0 ("mlxsw: spectrum_ptp: Add implementation for physical hardware clock operations")
Signed-off-by: Shalom Toledo <shalomt@mellanox.com>
Reviewed-by: Ido Schimmel <idosch@mellanox.com>
Reported-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c index 2a9bbc90225e..bb6c0cb25771 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c @@ -81,13 +81,12 @@ static int mlxsw_sp1_ptp_phc_settime(struct mlxsw_sp_ptp_clock *clock, u64 nsec) { struct mlxsw_core *mlxsw_core = clock->core; + u64 next_sec, next_sec_in_nsec, cycles; char mtutc_pl[MLXSW_REG_MTUTC_LEN]; char mtpps_pl[MLXSW_REG_MTPPS_LEN]; - u64 next_sec_in_nsec, cycles; - u32 next_sec; int err; - next_sec = nsec / NSEC_PER_SEC + 1; + next_sec = div_u64(nsec, NSEC_PER_SEC) + 1; next_sec_in_nsec = next_sec * NSEC_PER_SEC; spin_lock(&clock->lock); |