drivers/ptp/ptp_clockmatrix.c:2179: undefined reference to `__udivdi3'
From: kernel test robot
Date: Thu Nov 11 2021 - 05:58:37 EST
tree: https://github.com/0day-ci/linux/commits/min-li-xe-renesas-com/ptp-clockmatrix-use-rsmu-driver-to-access-i2c-spi-bus/20210922-152050
head: cffaee07726f4bfb624fff0f4a35e0102026bf6f
commit: cffaee07726f4bfb624fff0f4a35e0102026bf6f ptp: clockmatrix: use rsmu driver to access i2c/spi bus
date: 7 weeks ago
config: i386-randconfig-a011-20210928 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/cffaee07726f4bfb624fff0f4a35e0102026bf6f
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review min-li-xe-renesas-com/ptp-clockmatrix-use-rsmu-driver-to-access-i2c-spi-bus/20210922-152050
git checkout cffaee07726f4bfb624fff0f4a35e0102026bf6f
# save the attached .config to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>
All errors (new ones prefixed by >>):
ld: drivers/ptp/ptp_clockmatrix.o: in function `idtcm_get_dco_delay':
>> drivers/ptp/ptp_clockmatrix.c:2179: undefined reference to `__udivdi3'
>> ld: drivers/ptp/ptp_clockmatrix.c:2182: undefined reference to `__udivdi3'
vim +2179 drivers/ptp/ptp_clockmatrix.c
2148
2149 /*
2150 * Compensate for the PTP DCO input-to-output delay.
2151 * This delay is 18 FOD cycles.
2152 */
2153 static u32 idtcm_get_dco_delay(struct idtcm_channel *channel)
2154 {
2155 struct idtcm *idtcm = channel->idtcm;
2156 u8 mbuf[8] = {0};
2157 u8 nbuf[2] = {0};
2158 u32 fodFreq;
2159 int err;
2160 u64 m;
2161 u16 n;
2162
2163 err = idtcm_read(idtcm, channel->dpll_ctrl_n,
2164 DPLL_CTRL_DPLL_FOD_FREQ, mbuf, 6);
2165 if (err)
2166 return 0;
2167
2168 err = idtcm_read(idtcm, channel->dpll_ctrl_n,
2169 DPLL_CTRL_DPLL_FOD_FREQ + 6, nbuf, 2);
2170 if (err)
2171 return 0;
2172
2173 m = get_unaligned_le64(mbuf);
2174 n = get_unaligned_le16(nbuf);
2175
2176 if (n == 0)
2177 n = 1;
2178
> 2179 fodFreq = m / n;
2180
2181 if (fodFreq >= 500000000)
> 2182 return 18 * (u64)NSEC_PER_SEC / fodFreq;
2183
2184 return 0;
2185 }
2186
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip