From: kbuild test robot <lkp@intel.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: kbuild-all@lists.01.org,
Linux Memory Management List <linux-mm@kvack.org>
Subject: [linux-next:master 4395/7467] drivers/clocksource/timer-vf-pit.c:194: error: unterminated argument list invoking macro "BUG_ON"
Date: Wed, 11 Mar 2020 14:16:21 +0800 [thread overview]
Message-ID: <202003111412.XUjpXn7y%lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 11208 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 134546626849cd6852d6d4bf8f207b5fbc54261b
commit: cc2550b421aa30e3da67e5a7f6d14f3ecd3527b3 [4395/7467] clocksource: Replace setup_irq() by request_irq()
config: arm-randconfig-a001-20200311 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout cc2550b421aa30e3da67e5a7f6d14f3ecd3527b3
# save the attached .config to linux build tree
GCC_VERSION=9.2.0 make.cross ARCH=arm
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All error/warnings (new ones prefixed by >>):
drivers/clocksource/timer-vf-pit.c: In function 'pit_clockevent_init':
>> drivers/clocksource/timer-vf-pit.c:194: error: unterminated argument list invoking macro "BUG_ON"
194 | TIMER_OF_DECLARE(vf610, "fsl,vf610-pit", pit_timer_init);
|
>> drivers/clocksource/timer-vf-pit.c:131:2: error: 'BUG_ON' undeclared (first use in this function)
131 | BUG_ON(request_irq(irq, pit_timer_interrupt, IRQF_TIMER | IRQF_IRQPOLL,
| ^~~~~~
drivers/clocksource/timer-vf-pit.c:131:2: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/clocksource/timer-vf-pit.c:131:8: error: expected ';' at end of input
131 | BUG_ON(request_irq(irq, pit_timer_interrupt, IRQF_TIMER | IRQF_IRQPOLL,
| ^
| ;
......
194 | TIMER_OF_DECLARE(vf610, "fsl,vf610-pit", pit_timer_init);
|
>> drivers/clocksource/timer-vf-pit.c:131:2: error: expected declaration or statement at end of input
131 | BUG_ON(request_irq(irq, pit_timer_interrupt, IRQF_TIMER | IRQF_IRQPOLL,
| ^~~~~~
>> drivers/clocksource/timer-vf-pit.c:131:2: warning: no return statement in function returning non-void [-Wreturn-type]
At top level:
drivers/clocksource/timer-vf-pit.c:126:19: warning: 'pit_clockevent_init' defined but not used [-Wunused-function]
126 | static int __init pit_clockevent_init(unsigned long rate, int irq)
| ^~~~~~~~~~~~~~~~~~~
drivers/clocksource/timer-vf-pit.c:117:34: warning: 'clockevent_pit' defined but not used [-Wunused-variable]
117 | static struct clock_event_device clockevent_pit = {
| ^~~~~~~~~~~~~~
drivers/clocksource/timer-vf-pit.c:97:20: warning: 'pit_timer_interrupt' defined but not used [-Wunused-function]
97 | static irqreturn_t pit_timer_interrupt(int irq, void *dev_id)
| ^~~~~~~~~~~~~~~~~~~
drivers/clocksource/timer-vf-pit.c:56:19: warning: 'pit_clocksource_init' defined but not used [-Wunused-function]
56 | static int __init pit_clocksource_init(unsigned long rate)
| ^~~~~~~~~~~~~~~~~~~~
vim +/BUG_ON +194 drivers/clocksource/timer-vf-pit.c
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 125
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 126 static int __init pit_clockevent_init(unsigned long rate, int irq)
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 127 {
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 128 __raw_writel(0, clkevt_base + PITTCTRL);
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 129 __raw_writel(PITTFLG_TIF, clkevt_base + PITTFLG);
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 130
cc2550b421aa30 drivers/clocksource/timer-vf-pit.c afzal mohammed 2020-02-27 @131 BUG_ON(request_irq(irq, pit_timer_interrupt, IRQF_TIMER | IRQF_IRQPOLL,
cc2550b421aa30 drivers/clocksource/timer-vf-pit.c afzal mohammed 2020-02-27 132 "VF pit timer", &clockevent_pit);
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 133
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 134 clockevent_pit.cpumask = cpumask_of(0);
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 135 clockevent_pit.irq = irq;
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 136 /*
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 137 * The value for the LDVAL register trigger is calculated as:
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 138 * LDVAL trigger = (period / clock period) - 1
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 139 * The pit is a 32-bit down count timer, when the conter value
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 140 * reaches 0, it will generate an interrupt, thus the minimal
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 141 * LDVAL trigger value is 1. And then the min_delta is
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 142 * minimal LDVAL trigger value + 1, and the max_delta is full 32-bit.
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 143 */
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 144 clockevents_config_and_register(&clockevent_pit, rate, 2, 0xffffffff);
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 145
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 146 return 0;
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 147 }
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 148
b71306e62d6a42 drivers/clocksource/vf_pit_timer.c Daniel Lezcano 2016-06-06 149 static int __init pit_timer_init(struct device_node *np)
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 150 {
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 151 struct clk *pit_clk;
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 152 void __iomem *timer_base;
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 153 unsigned long clk_rate;
b71306e62d6a42 drivers/clocksource/vf_pit_timer.c Daniel Lezcano 2016-06-06 154 int irq, ret;
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 155
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 156 timer_base = of_iomap(np, 0);
b71306e62d6a42 drivers/clocksource/vf_pit_timer.c Daniel Lezcano 2016-06-06 157 if (!timer_base) {
ac9ce6d1a0cc29 drivers/clocksource/vf_pit_timer.c Rafał Miłecki 2017-03-09 158 pr_err("Failed to iomap\n");
b71306e62d6a42 drivers/clocksource/vf_pit_timer.c Daniel Lezcano 2016-06-06 159 return -ENXIO;
b71306e62d6a42 drivers/clocksource/vf_pit_timer.c Daniel Lezcano 2016-06-06 160 }
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 161
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 162 /*
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 163 * PIT0 and PIT1 can be chained to build a 64-bit timer,
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 164 * so choose PIT2 as clocksource, PIT3 as clockevent device,
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 165 * and leave PIT0 and PIT1 unused for anyone else who needs them.
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 166 */
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 167 clksrc_base = timer_base + PITn_OFFSET(2);
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 168 clkevt_base = timer_base + PITn_OFFSET(3);
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 169
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 170 irq = irq_of_parse_and_map(np, 0);
b71306e62d6a42 drivers/clocksource/vf_pit_timer.c Daniel Lezcano 2016-06-06 171 if (irq <= 0)
b71306e62d6a42 drivers/clocksource/vf_pit_timer.c Daniel Lezcano 2016-06-06 172 return -EINVAL;
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 173
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 174 pit_clk = of_clk_get(np, 0);
b71306e62d6a42 drivers/clocksource/vf_pit_timer.c Daniel Lezcano 2016-06-06 175 if (IS_ERR(pit_clk))
b71306e62d6a42 drivers/clocksource/vf_pit_timer.c Daniel Lezcano 2016-06-06 176 return PTR_ERR(pit_clk);
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 177
b71306e62d6a42 drivers/clocksource/vf_pit_timer.c Daniel Lezcano 2016-06-06 178 ret = clk_prepare_enable(pit_clk);
b71306e62d6a42 drivers/clocksource/vf_pit_timer.c Daniel Lezcano 2016-06-06 179 if (ret)
b71306e62d6a42 drivers/clocksource/vf_pit_timer.c Daniel Lezcano 2016-06-06 180 return ret;
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 181
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 182 clk_rate = clk_get_rate(pit_clk);
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 183 cycle_per_jiffy = clk_rate / (HZ);
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 184
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 185 /* enable the pit module */
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 186 __raw_writel(~PITMCR_MDIS, timer_base + PITMCR);
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 187
b71306e62d6a42 drivers/clocksource/vf_pit_timer.c Daniel Lezcano 2016-06-06 188 ret = pit_clocksource_init(clk_rate);
b71306e62d6a42 drivers/clocksource/vf_pit_timer.c Daniel Lezcano 2016-06-06 189 if (ret)
b71306e62d6a42 drivers/clocksource/vf_pit_timer.c Daniel Lezcano 2016-06-06 190 return ret;
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 191
b71306e62d6a42 drivers/clocksource/vf_pit_timer.c Daniel Lezcano 2016-06-06 192 return pit_clockevent_init(clk_rate, irq);
c19672492d233e drivers/clocksource/vf_pit_timer.c Jingchang Lu 2013-05-29 193 }
1727339590fdb5 drivers/clocksource/vf_pit_timer.c Daniel Lezcano 2017-05-26 @194 TIMER_OF_DECLARE(vf610, "fsl,vf610-pit", pit_timer_init);
:::::: The code at line 194 was first introduced by commit
:::::: 1727339590fdb5a1ded881b540cd32121278d414 clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
:::::: TO: Daniel Lezcano <daniel.lezcano@linaro.org>
:::::: CC: Daniel Lezcano <daniel.lezcano@linaro.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 26109 bytes --]
next reply other threads:[~2020-03-11 6:16 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-11 6:16 kbuild test robot [this message]
2020-03-11 6:55 ` [kbuild-all] " Li, Philip
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202003111412.XUjpXn7y%lkp@intel.com \
--to=lkp@intel.com \
--cc=akpm@linux-foundation.org \
--cc=kbuild-all@lists.01.org \
--cc=linux-mm@kvack.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox