Re: [PATCH v3 2/8] MIPS: ranchu: Add Goldfish RTC driver

From: kbuild test robot
Date: Sun Jul 23 2017 - 22:16:07 EST


Hi Miodrag,

[auto build test ERROR on linus/master]
[also build test ERROR on next-20170721]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Aleksandar-Markovic/MIPS-Add-virtual-Ranchu-board-as-a-generic-based-board/20170724-062318
config: sparc64-allmodconfig (attached as .config)
compiler: sparc64-linux-gnu-gcc (Debian 6.3.0-18) 6.3.0 20170516
reproduce:
wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=sparc64

All errors (new ones prefixed by >>):

drivers/rtc/rtc-goldfish.c: In function 'goldfish_rtc_read_alarm':
>> drivers/rtc/rtc-goldfish.c:51:18: error: implicit declaration of function 'readl' [-Werror=implicit-function-declaration]
rtc_alarm_low = readl(base + TIMER_ALARM_LOW);
^~~~~
drivers/rtc/rtc-goldfish.c: In function 'goldfish_rtc_set_alarm':
>> drivers/rtc/rtc-goldfish.c:86:3: error: implicit declaration of function 'writel' [-Werror=implicit-function-declaration]
writel((rtc_alarm >> 32), base + TIMER_ALARM_HIGH);
^~~~~~
cc1: some warnings being treated as errors

vim +/readl +51 drivers/rtc/rtc-goldfish.c

38
39 static int goldfish_rtc_read_alarm(struct device *dev,
40 struct rtc_wkalrm *alrm)
41 {
42 u64 rtc_alarm;
43 u64 rtc_alarm_low;
44 u64 rtc_alarm_high;
45 void __iomem *base;
46 struct goldfish_rtc *rtcdrv;
47
48 rtcdrv = dev_get_drvdata(dev);
49 base = rtcdrv->base;
50
> 51 rtc_alarm_low = readl(base + TIMER_ALARM_LOW);
52 rtc_alarm_high = readl(base + TIMER_ALARM_HIGH);
53 rtc_alarm = (rtc_alarm_high << 32) | rtc_alarm_low;
54
55 do_div(rtc_alarm, NSEC_PER_SEC);
56 memset(alrm, 0, sizeof(struct rtc_wkalrm));
57
58 rtc_time_to_tm(rtc_alarm, &(alrm->time));
59
60 if (readl(base + TIMER_ALARM_STATUS))
61 alrm->enabled = 1;
62 else
63 alrm->enabled = 0;
64
65 return 0;
66 }
67
68 static int goldfish_rtc_set_alarm(struct device *dev,
69 struct rtc_wkalrm *alrm)
70 {
71 struct goldfish_rtc *rtcdrv;
72 unsigned long rtc_alarm;
73 u64 rtc_status_reg;
74 void __iomem *base;
75 int ret = 0;
76
77 rtcdrv = dev_get_drvdata(dev);
78 base = rtcdrv->base;
79
80 if (alrm->enabled) {
81 ret = rtc_tm_to_time(&(alrm->time), &rtc_alarm);
82 if (ret != 0)
83 return ret;
84
85 rtc_alarm *= NSEC_PER_SEC;
> 86 writel((rtc_alarm >> 32), base + TIMER_ALARM_HIGH);
87 writel(rtc_alarm, base + TIMER_ALARM_LOW);
88 } else {
89 /*
90 * if this function was called with enabled=0
91 * then it could mean that the application is
92 * trying to cancel an ongoing alarm
93 */
94 rtc_status_reg = readl(base + TIMER_ALARM_STATUS);
95 if (rtc_status_reg)
96 writel(1, base + TIMER_CLEAR_ALARM);
97 }
98
99 return ret;
100 }
101

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip