Hi Steve,
FYI, the error/warning still remains.
tree:
https://android.googlesource.com/kernel/common android11-5.4
head: bf4d02ab1ecad898c38734f26b71ace90293c588
commit: 5f378fd56aa3988be21e859254a2d72628d044c6 [3942/13266] ANDROID: rtc: class: support
hctosys from modular RTC drivers
config: i386-randconfig-r013-20210816 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
git remote add android-common
https://android.googlesource.com/kernel/common
git fetch --no-tags android-common android11-5.4
git checkout 5f378fd56aa3988be21e859254a2d72628d044c6
# save the attached .config to linux build tree
make W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
> drivers/rtc/hctosys.c:24:5: warning: no previous prototype for
'rtc_hctosys' [-Wmissing-prototypes]
24 | int rtc_hctosys(void)
| ^~~~~~~~~~~
vim +/rtc_hctosys +24 drivers/rtc/hctosys.c
12
13 /* IMPORTANT: the RTC only stores whole seconds. It is arbitrary
14 * whether it stores the most close value or the value with partial
15 * seconds truncated. However, it is important that we use it to store
16 * the truncated value. This is because otherwise it is necessary,
17 * in an rtc sync function, to read both xtime.tv_sec and
18 * xtime.tv_nsec. On some processors (i.e. ARM), an atomic read
19 * of >32bits is not possible. So storing the most close value would
20 * slow down the sync API. So here we have the truncated value and
21 * the best guess is to add 0.5s.
22 */
23
24 int rtc_hctosys(void)
25 {
26 int err = -ENODEV;
27 struct rtc_time tm;
28 struct timespec64 tv64 = {
29 .tv_nsec = NSEC_PER_SEC >> 1,
30 };
31 struct rtc_device *rtc = rtc_class_open(CONFIG_RTC_HCTOSYS_DEVICE);
32
33 if (!rtc) {
34 pr_info("unable to open rtc device (%s)\n",
35 CONFIG_RTC_HCTOSYS_DEVICE);
36 goto err_open;
37 }
38
39 err = rtc_read_time(rtc, &tm);
40 if (err) {
41 dev_err(rtc->dev.parent,
42 "hctosys: unable to read the hardware clock\n");
43 goto err_read;
44 }
45
46 tv64.tv_sec = rtc_tm_to_time64(&tm);
47
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org