All of lore.kernel.org
 help / color / mirror / Atom feed
* [tglx-devel:cleanups 36/36] drivers/ptp/ptp_vmclock.c:154:12: error: call to undeclared function 'get_cycles'; ISO C99 and later do not support implicit function declarations
@ 2026-06-23  7:12 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-06-23  7:12 UTC (permalink / raw)
  To: Thomas Gleixner; +Cc: llvm, oe-kbuild-all

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git cleanups
head:   759e4e4e18f43902ea6f66c481a45175490cad0c
commit: 759e4e4e18f43902ea6f66c481a45175490cad0c [36/36] treewide: Remove asm/timex.h includes from generic code
config: x86_64-rhel-9.4-rust (https://download.01.org/0day-ci/archive/20260623/202606231516.eb6SPVb5-lkp@intel.com/config)
compiler: clang version 22.1.3 (https://github.com/llvm/llvm-project e9846648fd6183ee6d8cbdb4502213fcf902a211)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260623/202606231516.eb6SPVb5-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202606231516.eb6SPVb5-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/ptp/ptp_vmclock.c:154:12: error: call to undeclared function 'get_cycles'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     154 |                         cycle = get_cycles();
         |                                 ^
   1 error generated.


vim +/get_cycles +154 drivers/ptp/ptp_vmclock.c

20503272422693 David Woodhouse 2024-10-06  116  
20503272422693 David Woodhouse 2024-10-06  117  	while (1) {
20503272422693 David Woodhouse 2024-10-06  118  		seq = le32_to_cpu(st->clk->seq_count) & ~1ULL;
20503272422693 David Woodhouse 2024-10-06  119  
20503272422693 David Woodhouse 2024-10-06  120  		/*
20503272422693 David Woodhouse 2024-10-06  121  		 * This pairs with a write barrier in the hypervisor
20503272422693 David Woodhouse 2024-10-06  122  		 * which populates this structure.
20503272422693 David Woodhouse 2024-10-06  123  		 */
20503272422693 David Woodhouse 2024-10-06  124  		virt_rmb();
20503272422693 David Woodhouse 2024-10-06  125  
20503272422693 David Woodhouse 2024-10-06  126  		if (st->clk->clock_status == VMCLOCK_STATUS_UNRELIABLE)
20503272422693 David Woodhouse 2024-10-06  127  			return -EINVAL;
20503272422693 David Woodhouse 2024-10-06  128  
20503272422693 David Woodhouse 2024-10-06  129  		/*
20503272422693 David Woodhouse 2024-10-06  130  		 * When invoked for gettimex64(), fill in the pre/post system
20503272422693 David Woodhouse 2024-10-06  131  		 * times. The simple case is when system time is based on the
20503272422693 David Woodhouse 2024-10-06  132  		 * same counter as st->cs_id, in which case all three times
20503272422693 David Woodhouse 2024-10-06  133  		 * will be derived from the *same* counter value.
20503272422693 David Woodhouse 2024-10-06  134  		 *
20503272422693 David Woodhouse 2024-10-06  135  		 * If the system isn't using the same counter, then the value
a6d799608e6a61 Thomas Gleixner 2026-05-29  136  		 * from ptp_read_system_prets() will still be used as pre_ts,
a6d799608e6a61 Thomas Gleixner 2026-05-29  137  		 * and ptp_read_system_postts() is called to populate postts
a6d799608e6a61 Thomas Gleixner 2026-05-29  138  		 * after calling get_cycles().
20503272422693 David Woodhouse 2024-10-06  139  		 */
20503272422693 David Woodhouse 2024-10-06  140  		if (sts) {
a6d799608e6a61 Thomas Gleixner 2026-05-29  141  			ptp_read_system_prets(sts);
a6d799608e6a61 Thomas Gleixner 2026-05-29  142  			if (sts->pre_sts.cs_id == st->cs_id) {
a6d799608e6a61 Thomas Gleixner 2026-05-29  143  				cycle = sts->pre_sts.cycles;
a6d799608e6a61 Thomas Gleixner 2026-05-29  144  				sts->post_sts = sts->pre_sts;
bc484a5096732c David Woodhouse 2026-06-04  145  			} else if (sts->pre_sts.hw_csid == st->cs_id &&
bc484a5096732c David Woodhouse 2026-06-04  146  				   sts->pre_sts.hw_cycles) {
bc484a5096732c David Woodhouse 2026-06-04  147  				cycle = sts->pre_sts.hw_cycles;
bc484a5096732c David Woodhouse 2026-06-04  148  				sts->post_sts = sts->pre_sts;
20503272422693 David Woodhouse 2024-10-06  149  			} else {
de40e94c2ee6a5 Thomas Gleixner 2026-04-08  150  				cycle = ptp_vmclock_read_cpu_counter();
20503272422693 David Woodhouse 2024-10-06  151  				ptp_read_system_postts(sts);
20503272422693 David Woodhouse 2024-10-06  152  			}
20503272422693 David Woodhouse 2024-10-06  153  		} else {
20503272422693 David Woodhouse 2024-10-06 @154  			cycle = get_cycles();
20503272422693 David Woodhouse 2024-10-06  155  		}
20503272422693 David Woodhouse 2024-10-06  156  
20503272422693 David Woodhouse 2024-10-06  157  		delta = cycle - le64_to_cpu(st->clk->counter_value);
20503272422693 David Woodhouse 2024-10-06  158  
20503272422693 David Woodhouse 2024-10-06  159  		frac_sec = mul_u64_u64_shr_add_u64(&tspec->tv_sec, delta,
20503272422693 David Woodhouse 2024-10-06  160  						   le64_to_cpu(st->clk->counter_period_frac_sec),
20503272422693 David Woodhouse 2024-10-06  161  						   st->clk->counter_period_shift,
20503272422693 David Woodhouse 2024-10-06  162  						   le64_to_cpu(st->clk->time_frac_sec));
20503272422693 David Woodhouse 2024-10-06  163  		tspec->tv_nsec = mul_u64_u64_shr(frac_sec, NSEC_PER_SEC, 64);
20503272422693 David Woodhouse 2024-10-06  164  		tspec->tv_sec += le64_to_cpu(st->clk->time_sec);
20503272422693 David Woodhouse 2024-10-06  165  
20503272422693 David Woodhouse 2024-10-06  166  		if (!tai_adjust(st->clk, &tspec->tv_sec))
20503272422693 David Woodhouse 2024-10-06  167  			return -EINVAL;
20503272422693 David Woodhouse 2024-10-06  168  
20503272422693 David Woodhouse 2024-10-06  169  		/*
20503272422693 David Woodhouse 2024-10-06  170  		 * This pairs with a write barrier in the hypervisor
20503272422693 David Woodhouse 2024-10-06  171  		 * which populates this structure.
20503272422693 David Woodhouse 2024-10-06  172  		 */
20503272422693 David Woodhouse 2024-10-06  173  		virt_rmb();
20503272422693 David Woodhouse 2024-10-06  174  		if (seq == le32_to_cpu(st->clk->seq_count))
20503272422693 David Woodhouse 2024-10-06  175  			break;
20503272422693 David Woodhouse 2024-10-06  176  
20503272422693 David Woodhouse 2024-10-06  177  		if (ktime_after(ktime_get(), deadline))
20503272422693 David Woodhouse 2024-10-06  178  			return -ETIMEDOUT;
20503272422693 David Woodhouse 2024-10-06  179  	}
20503272422693 David Woodhouse 2024-10-06  180  
20503272422693 David Woodhouse 2024-10-06  181  	if (system_counter) {
20503272422693 David Woodhouse 2024-10-06  182  		system_counter->cycles = cycle;
20503272422693 David Woodhouse 2024-10-06  183  		system_counter->cs_id = st->cs_id;
20503272422693 David Woodhouse 2024-10-06  184  	}
20503272422693 David Woodhouse 2024-10-06  185  
20503272422693 David Woodhouse 2024-10-06  186  	return 0;
20503272422693 David Woodhouse 2024-10-06  187  }
20503272422693 David Woodhouse 2024-10-06  188  

:::::: The code at line 154 was first introduced by commit
:::::: 20503272422693d793b84f88bf23fe4e955d3a33 ptp: Add support for the AMZNC10C 'vmclock' device

:::::: TO: David Woodhouse <dwmw@amazon.co.uk>
:::::: CC: David S. Miller <davem@davemloft.net>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-06-23  7:12 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-23  7:12 [tglx-devel:cleanups 36/36] drivers/ptp/ptp_vmclock.c:154:12: error: call to undeclared function 'get_cycles'; ISO C99 and later do not support implicit function declarations kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.