Re: [PATCH 10/12] misc: Flexcard basic timestamp counter support

From: kbuild test robot
Date: Tue Dec 13 2016 - 22:29:49 EST


Hi Holger,

[auto build test ERROR on char-misc/char-misc-testing]
[also build test ERROR on v4.9]
[cannot apply to ljones-mfd/for-mfd-next next-20161213]
[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/Holger-Dengler/Eberspaecher-Flexcard-PMC-II-base-support/20161214-082350
config: arm-allmodconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=arm

All error/warnings (new ones prefixed by >>):

drivers/misc/flexcard_posixclock.c: In function 'flexcard_clk_gettime':
>> drivers/misc/flexcard_posixclock.c:55:10: error: implicit declaration of function 'readl' [-Werror=implicit-function-declaration]
upper = readl(clk->ts64);
^~~~~
drivers/misc/flexcard_posixclock.c: In function 'flexcard_clk_settime':
>> drivers/misc/flexcard_posixclock.c:75:2: error: implicit declaration of function 'writel' [-Werror=implicit-function-declaration]
writel(FLEXCARD_RST_TS, clk->reset);
^~~~~~
drivers/misc/flexcard_posixclock.c: In function 'flexcard_clk_iomap':
>> drivers/misc/flexcard_posixclock.c:96:14: error: implicit declaration of function 'devm_ioremap' [-Werror=implicit-function-declaration]
clk->ts64 = devm_ioremap(&pdev->dev, res->start, resource_size(res));
^~~~~~~~~~~~
>> drivers/misc/flexcard_posixclock.c:96:12: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
clk->ts64 = devm_ioremap(&pdev->dev, res->start, resource_size(res));
^
drivers/misc/flexcard_posixclock.c:104:13: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
clk->reset = devm_ioremap(&pdev->dev, res->start, resource_size(res));
^
cc1: some warnings being treated as errors

vim +/readl +55 drivers/misc/flexcard_posixclock.c

49 {
50 struct flexcard_clk *clk = container_of(pc, struct flexcard_clk, clock);
51 u64 now;
52 u32 upper, rem;
53
54 retry:
> 55 upper = readl(clk->ts64);
56 now = ((u64) upper << 32) | readl(clk->ts64 + 4);
57 if (upper != readl(clk->ts64))
58 goto retry;
59
60 tp->tv_sec = div_u64_rem(now, 1000000, &rem);
61 tp->tv_nsec = rem * 1000;
62
63 return 0;
64 }
65
66 static int flexcard_clk_settime(struct posix_clock *pc,
67 const struct timespec *tp)
68 {
69 struct flexcard_clk *clk = container_of(pc, struct flexcard_clk, clock);
70
71 /* The FlexCard posix clock could only be reset to 0 and not set */
72 if (tp->tv_sec || tp->tv_nsec)
73 return -EINVAL;
74
> 75 writel(FLEXCARD_RST_TS, clk->reset);
76
77 return 0;
78 }
79
80 static struct posix_clock_operations flexcard_clk_ops = {
81 .owner = THIS_MODULE,
82 .clock_getres = flexcard_clk_getres,
83 .clock_gettime = flexcard_clk_gettime,
84 .clock_settime = flexcard_clk_settime,
85 };
86
87 static int flexcard_clk_iomap(struct platform_device *pdev)
88 {
89 struct flexcard_clk *clk = platform_get_drvdata(pdev);
90 struct resource *res;
91
92 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
93 if (!res)
94 return -ENXIO;
95
> 96 clk->ts64 = devm_ioremap(&pdev->dev, res->start, resource_size(res));
97 if (!clk->ts64)
98 return -ENOMEM;
99

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

Attachment: .config.gz
Description: application/gzip