[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202105071901.AkYZrUSI-lkp@intel.com>
Date: Fri, 7 May 2021 19:26:33 +0800
From: kernel test robot <lkp@...el.com>
To: Yangbo Lu <yangbo.lu@....com>, netdev@...r.kernel.org
Cc: kbuild-all@...ts.01.org, Yangbo Lu <yangbo.lu@....com>,
"David S . Miller" <davem@...emloft.net>,
Richard Cochran <richardcochran@...il.com>,
Claudiu Manoil <claudiu.manoil@....com>,
Jakub Kicinski <kuba@...nel.org>
Subject: Re: [net-next 1/6] ptp: add ptp virtual clock driver framework
Hi Yangbo,
I love your patch! Yet something to improve:
[auto build test ERROR on 9d31d2338950293ec19d9b095fbaa9030899dcb4]
url: https://github.com/0day-ci/linux/commits/Yangbo-Lu/ptp-support-virtual-clocks-for-multiple-domains/20210507-164927
base: 9d31d2338950293ec19d9b095fbaa9030899dcb4
config: nds32-randconfig-r012-20210507 (attached as .config)
compiler: nds32le-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/1f46e22fa0f24ac9acde10ca897266e0bac0f367
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Yangbo-Lu/ptp-support-virtual-clocks-for-multiple-domains/20210507-164927
git checkout 1f46e22fa0f24ac9acde10ca897266e0bac0f367
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=nds32
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>
All errors (new ones prefixed by >>):
In file included from drivers/ptp/ptp_private.h:16,
from drivers/ptp/ptp_clock.c:20:
>> include/linux/ptp_clock_kernel.h:71:22: error: field 'cc' has incomplete type
71 | struct cyclecounter cc;
| ^~
In file included from drivers/ptp/ptp_clock.c:20:
>> drivers/ptp/ptp_private.h:59:22: error: field 'cc' has incomplete type
59 | struct cyclecounter cc;
| ^~
>> drivers/ptp/ptp_private.h:60:21: error: field 'tc' has incomplete type
60 | struct timecounter tc;
| ^~
--
In file included from drivers/ptp/ptp_private.h:16,
from drivers/ptp/ptp_vclock.c:8:
>> include/linux/ptp_clock_kernel.h:71:22: error: field 'cc' has incomplete type
71 | struct cyclecounter cc;
| ^~
In file included from drivers/ptp/ptp_vclock.c:8:
>> drivers/ptp/ptp_private.h:59:22: error: field 'cc' has incomplete type
59 | struct cyclecounter cc;
| ^~
>> drivers/ptp/ptp_private.h:60:21: error: field 'tc' has incomplete type
60 | struct timecounter tc;
| ^~
drivers/ptp/ptp_vclock.c: In function 'ptp_vclock_adjfine':
>> drivers/ptp/ptp_vclock.c:20:2: error: implicit declaration of function 'timecounter_read'; did you mean 'refcount_read'? [-Werror=implicit-function-declaration]
20 | timecounter_read(&vclock->tc);
| ^~~~~~~~~~~~~~~~
| refcount_read
drivers/ptp/ptp_vclock.c: In function 'ptp_vclock_adjtime':
>> drivers/ptp/ptp_vclock.c:33:2: error: implicit declaration of function 'timecounter_adjtime' [-Werror=implicit-function-declaration]
33 | timecounter_adjtime(&vclock->tc, delta);
| ^~~~~~~~~~~~~~~~~~~
drivers/ptp/ptp_vclock.c: In function 'ptp_vclock_settime':
>> drivers/ptp/ptp_vclock.c:62:2: error: implicit declaration of function 'timecounter_init'; did you mean 'timerqueue_init'? [-Werror=implicit-function-declaration]
62 | timecounter_init(&vclock->tc, &vclock->cc, ns);
| ^~~~~~~~~~~~~~~~
| timerqueue_init
drivers/ptp/ptp_vclock.c: In function 'ptp_clock_find_domain_tstamp':
>> drivers/ptp/ptp_vclock.c:103:23: error: implicit declaration of function 'timecounter_cyc2time' [-Werror=implicit-function-declaration]
103 | domain_ts->tstamp = timecounter_cyc2time(&vclock->tc, domain_ts->tstamp);
| ^~~~~~~~~~~~~~~~~~~~
In file included from <command-line>:
drivers/ptp/ptp_vclock.c: In function 'ptp_get_pclock_info':
>> include/linux/kernel.h:709:32: error: dereferencing pointer to incomplete type 'const struct cyclecounter'
709 | BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
| ^~~~~~
include/linux/compiler_types.h:308:9: note: in definition of macro '__compiletime_assert'
308 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:328:2: note: in expansion of macro '_compiletime_assert'
328 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
include/linux/kernel.h:709:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
709 | BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
| ^~~~~~~~~~~~~~~~
include/linux/kernel.h:709:20: note: in expansion of macro '__same_type'
709 | BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
| ^~~~~~~~~~~
drivers/ptp/ptp_private.h:51:25: note: in expansion of macro 'container_of'
51 | #define cc_to_vclock(d) container_of((d), struct ptp_vclock, cc)
| ^~~~~~~~~~~~
drivers/ptp/ptp_vclock.c:126:30: note: in expansion of macro 'cc_to_vclock'
126 | struct ptp_vclock *vclock = cc_to_vclock(cc);
| ^~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from include/linux/spi/spi.h:17,
from drivers/iio/accel/adxl372.c:14:
>> include/linux/ptp_clock_kernel.h:71:22: error: field 'cc' has incomplete type
71 | struct cyclecounter cc;
| ^~
vim +/cc +71 include/linux/ptp_clock_kernel.h
50
51 /**
52 * struct ptp_vclock_cc - ptp virtual clock cycle counter info
53 *
54 * @cc: cyclecounter structure
55 * @refresh_interval: time interval to refresh time counter, to avoid 64-bit
56 * overflow during delta conversion. For example, with
57 * cc.mult value 2^28, there are 36 bits left of cycle
58 * counter. With 1 ns counter resolution, the overflow time
59 * is 2^36 ns which is 68.7 s. The refresh_interval may be
60 * (60 * HZ) less than 68.7 s.
61 * @mult_num: parameter for cc.mult adjustment calculation, see below
62 * @mult_dem: parameter for cc.mult adjustment calculation, see below
63 *
64 * scaled_ppm to adjustment(mult_adj) of cc.mult
65 *
66 * mult_adj = mult * (ppb / 10^9)
67 * = mult * (scaled_ppm * 1000 / 2^16) / 10^9
68 * = scaled_ppm * mult_num / mult_dem
69 */
70 struct ptp_vclock_cc {
> 71 struct cyclecounter cc;
72 unsigned long refresh_interval;
73 u32 mult_num;
74 u32 mult_dem;
75 };
76
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Download attachment ".config.gz" of type "application/gzip" (25430 bytes)
Powered by blists - more mailing lists