Re: [PATCH net 1/4] ptp: ptp_idt82p33: update to support adjphase

From: kernel test robot
Date: Fri Aug 07 2020 - 16:59:02 EST


Hi,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on net/master]

url: https://github.com/0day-ci/linux/commits/min-li-xe-renesas-com/ptp-ptp_idt82p33-update-to-support-adjphase/20200808-000545
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git 8912fd6a61d7474ea9b43be93f136034d28868d5
config: i386-randconfig-s001-20200807 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-118-ge1578773-dirty
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386

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_idt82p33.o: in function `idt82p33_adjwritephase':
>> drivers/ptp/ptp_idt82p33.c:695: undefined reference to `__divdi3'

vim +695 drivers/ptp/ptp_idt82p33.c

676
677 static int idt82p33_adjwritephase(struct ptp_clock_info *ptp, s32 offsetNs)
678 {
679 struct idt82p33_channel *channel =
680 container_of(ptp, struct idt82p33_channel, caps);
681 struct idt82p33 *idt82p33 = channel->idt82p33;
682 s64 offsetInFs;
683 s64 offsetRegVal;
684 u8 val[4] = {0};
685 int err;
686
687 offsetInFs = (s64)(-offsetNs) * 1000000;
688
689 if (offsetInFs > WRITE_PHASE_OFFSET_LIMIT)
690 offsetInFs = WRITE_PHASE_OFFSET_LIMIT;
691 else if (offsetInFs < -WRITE_PHASE_OFFSET_LIMIT)
692 offsetInFs = -WRITE_PHASE_OFFSET_LIMIT;
693
694 /* Convert from phaseOffsetInFs to register value */
> 695 offsetRegVal = ((offsetInFs * 1000) / IDT_T0DPLL_PHASE_RESOL);
696
697 val[0] = offsetRegVal & 0xFF;
698 val[1] = (offsetRegVal >> 8) & 0xFF;
699 val[2] = (offsetRegVal >> 16) & 0xFF;
700 val[3] = (offsetRegVal >> 24) & 0x1F;
701 val[3] |= PH_OFFSET_EN;
702
703 mutex_lock(&idt82p33->reg_lock);
704
705 err = idt82p33_dpll_set_mode(channel, PLL_MODE_WPH);
706 if (err) {
707 dev_err(&idt82p33->client->dev,
708 "Failed at line %d in func %s!\n",
709 __LINE__,
710 __func__);
711 goto out;
712 }
713
714 err = idt82p33_write(idt82p33, channel->dpll_phase_cnfg, val,
715 sizeof(val));
716
717 out:
718 mutex_unlock(&idt82p33->reg_lock);
719 return err;
720 }
721

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip