Hi Daniel, [auto build test ERROR on tip/timers/core -- if it's inappropriate base, please suggest rules for selecting the more suitable base]
url: https://github.com/0day-ci/linux/commits/Daniel-Lezcano/time-Define-dummy-functions-for-the-generic-sched-clock/20151030-065823 config: parisc-allyesconfig (attached as .config) 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=parisc All error/warnings (new ones prefixed by >>): drivers/clocksource/pxa_timer.c: In function 'pxa_ost0_interrupt': >> drivers/clocksource/pxa_timer.c:73:3: error: dereferencing pointer to >> incomplete type c->event_handler(c); ^ drivers/clocksource/pxa_timer.c: At top level: >> drivers/clocksource/pxa_timer.c:79:54: warning: 'struct clock_event_device' >> declared inside parameter list pxa_osmr0_set_next_event(unsigned long delta, struct clock_event_device *dev) ^ >> drivers/clocksource/pxa_timer.c:79:54: warning: its scope is only this >> definition or declaration, which is probably not what you want drivers/clocksource/pxa_timer.c:91:38: warning: 'struct clock_event_device' declared inside parameter list static int pxa_osmr0_shutdown(struct clock_event_device *evt) ^ >> drivers/clocksource/pxa_timer.c:135:15: error: variable 'ckevt_pxa_osmr0' >> has initializer but incomplete type static struct clock_event_device ckevt_pxa_osmr0 = { ^ >> drivers/clocksource/pxa_timer.c:136:2: error: unknown field 'name' specified >> in initializer .name = "osmr0", ^ >> drivers/clocksource/pxa_timer.c:136:2: warning: excess elements in struct >> initializer drivers/clocksource/pxa_timer.c:136:2: warning: (near initialization for 'ckevt_pxa_osmr0') >> drivers/clocksource/pxa_timer.c:137:2: error: unknown field 'features' >> specified in initializer .features = CLOCK_EVT_FEAT_ONESHOT, ^ >> drivers/clocksource/pxa_timer.c:137:15: error: 'CLOCK_EVT_FEAT_ONESHOT' >> undeclared here (not in a function) .features = CLOCK_EVT_FEAT_ONESHOT, ^ drivers/clocksource/pxa_timer.c:137:2: warning: excess elements in struct initializer .features = CLOCK_EVT_FEAT_ONESHOT, ^ drivers/clocksource/pxa_timer.c:137:2: warning: (near initialization for 'ckevt_pxa_osmr0') >> drivers/clocksource/pxa_timer.c:138:2: error: unknown field 'rating' >> specified in initializer .rating = 200, ^ drivers/clocksource/pxa_timer.c:138:2: warning: excess elements in struct initializer drivers/clocksource/pxa_timer.c:138:2: warning: (near initialization for 'ckevt_pxa_osmr0') >> drivers/clocksource/pxa_timer.c:139:2: error: unknown field 'set_next_event' >> specified in initializer .set_next_event = pxa_osmr0_set_next_event, ^ drivers/clocksource/pxa_timer.c:139:2: warning: excess elements in struct initializer drivers/clocksource/pxa_timer.c:139:2: warning: (near initialization for 'ckevt_pxa_osmr0') >> drivers/clocksource/pxa_timer.c:140:2: error: unknown field >> 'set_state_shutdown' specified in initializer .set_state_shutdown = pxa_osmr0_shutdown, ^ drivers/clocksource/pxa_timer.c:140:2: warning: excess elements in struct initializer drivers/clocksource/pxa_timer.c:140:2: warning: (near initialization for 'ckevt_pxa_osmr0') >> drivers/clocksource/pxa_timer.c:141:2: error: unknown field >> 'set_state_oneshot' specified in initializer .set_state_oneshot = pxa_osmr0_shutdown, ^ drivers/clocksource/pxa_timer.c:141:2: warning: excess elements in struct initializer drivers/clocksource/pxa_timer.c:141:2: warning: (near initialization for 'ckevt_pxa_osmr0') >> drivers/clocksource/pxa_timer.c:142:2: error: unknown field 'suspend' >> specified in initializer .suspend = pxa_timer_suspend, ^ drivers/clocksource/pxa_timer.c:142:2: warning: excess elements in struct initializer drivers/clocksource/pxa_timer.c:142:2: warning: (near initialization for 'ckevt_pxa_osmr0') >> drivers/clocksource/pxa_timer.c:143:2: error: unknown field 'resume' >> specified in initializer .resume = pxa_timer_resume, ^ drivers/clocksource/pxa_timer.c:143:2: warning: excess elements in struct initializer drivers/clocksource/pxa_timer.c:143:2: warning: (near initialization for 'ckevt_pxa_osmr0') drivers/clocksource/pxa_timer.c: In function 'pxa_timer_common_init': >> drivers/clocksource/pxa_timer.c:160:2: error: invalid use of undefined type >> 'struct clock_event_device' ckevt_pxa_osmr0.cpumask = cpumask_of(0); ^ >> drivers/clocksource/pxa_timer.c:164:2: error: implicit declaration of >> function 'clocksource_mmio_init' [-Werror=implicit-function-declaration] clocksource_mmio_init(timer_base + OSCR, "oscr0", clock_tick_rate, 200, ^ >> drivers/clocksource/pxa_timer.c:165:14: error: 'clocksource_mmio_readl_up' >> undeclared (first use in this function) 32, clocksource_mmio_readl_up); ^ drivers/clocksource/pxa_timer.c:165:14: note: each undeclared identifier is reported only once for each function it appears in >> drivers/clocksource/pxa_timer.c:166:2: error: implicit declaration of >> function 'clockevents_config_and_register' >> [-Werror=implicit-function-declaration] clockevents_config_and_register(&ckevt_pxa_osmr0, clock_tick_rate, ^ drivers/clocksource/pxa_timer.c: At top level: >> drivers/clocksource/pxa_timer.c:196:35: error: expected ')' before string >> constant CLOCKSOURCE_OF_DECLARE(pxa_timer, "marvell,pxa-timer", pxa_timer_dt_init); ^ drivers/clocksource/pxa_timer.c:170:20: warning: 'pxa_timer_dt_init' defined but not used [-Wunused-function] static void __init pxa_timer_dt_init(struct device_node *np) ^ cc1: some warnings being treated as errors vim +73 drivers/clocksource/pxa_timer.c ^1da177e arch/arm/mach-pxa/time.c Linus Torvalds 2005-04-16 67 { 7bbb18c9 arch/arm/mach-pxa/time.c Bill Gatliff 2007-07-21 68 struct clock_event_device *c = dev_id; 7bbb18c9 arch/arm/mach-pxa/time.c Bill Gatliff 2007-07-21 69 7bbb18c9 arch/arm/mach-pxa/time.c Bill Gatliff 2007-07-21 70 /* Disarm the compare/match, signal the event. */ ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 71 timer_writel(timer_readl(OIER) & ~OIER_E0, OIER); ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 72 timer_writel(OSSR_M0, OSSR); 7bbb18c9 arch/arm/mach-pxa/time.c Bill Gatliff 2007-07-21 @73 c->event_handler(c); ^1da177e arch/arm/mach-pxa/time.c Linus Torvalds 2005-04-16 74 ^1da177e arch/arm/mach-pxa/time.c Linus Torvalds 2005-04-16 75 return IRQ_HANDLED; ^1da177e arch/arm/mach-pxa/time.c Linus Torvalds 2005-04-16 76 } ^1da177e arch/arm/mach-pxa/time.c Linus Torvalds 2005-04-16 77 7bbb18c9 arch/arm/mach-pxa/time.c Bill Gatliff 2007-07-21 78 static int 7bbb18c9 arch/arm/mach-pxa/time.c Bill Gatliff 2007-07-21 @79 pxa_osmr0_set_next_event(unsigned long delta, struct clock_event_device *dev) 7bbb18c9 arch/arm/mach-pxa/time.c Bill Gatliff 2007-07-21 80 { a602f0f2 arch/arm/mach-pxa/time.c Uwe Kleine-König 2009-12-17 81 unsigned long next, oscr; 7bbb18c9 arch/arm/mach-pxa/time.c Bill Gatliff 2007-07-21 82 ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 83 timer_writel(timer_readl(OIER) | OIER_E0, OIER); ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 84 next = timer_readl(OSCR) + delta; ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 85 timer_writel(next, OSMR0); ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 86 oscr = timer_readl(OSCR); 91bc51d8 arch/arm/mach-pxa/time.c Russell King 2007-11-08 87 91bc51d8 arch/arm/mach-pxa/time.c Russell King 2007-11-08 88 return (signed)(next - oscr) <= MIN_OSCR_DELTA ? -ETIME : 0; 7bbb18c9 arch/arm/mach-pxa/time.c Bill Gatliff 2007-07-21 89 } 7bbb18c9 arch/arm/mach-pxa/time.c Bill Gatliff 2007-07-21 90 47d490ea drivers/clocksource/pxa_timer.c Viresh Kumar 2015-06-18 @91 static int pxa_osmr0_shutdown(struct clock_event_device *evt) 7bbb18c9 arch/arm/mach-pxa/time.c Bill Gatliff 2007-07-21 92 { 7bbb18c9 arch/arm/mach-pxa/time.c Bill Gatliff 2007-07-21 93 /* initializing, released, or preparing for suspend */ ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 94 timer_writel(timer_readl(OIER) & ~OIER_E0, OIER); ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 95 timer_writel(OSSR_M0, OSSR); 47d490ea drivers/clocksource/pxa_timer.c Viresh Kumar 2015-06-18 96 return 0; 7bbb18c9 arch/arm/mach-pxa/time.c Bill Gatliff 2007-07-21 97 } 7bbb18c9 arch/arm/mach-pxa/time.c Bill Gatliff 2007-07-21 98 5b30d5bf arch/arm/mach-pxa/time.c Stephen Warren 2012-11-07 99 #ifdef CONFIG_PM 5b30d5bf arch/arm/mach-pxa/time.c Stephen Warren 2012-11-07 100 static unsigned long osmr[4], oier, oscr; 5b30d5bf arch/arm/mach-pxa/time.c Stephen Warren 2012-11-07 101 5b30d5bf arch/arm/mach-pxa/time.c Stephen Warren 2012-11-07 102 static void pxa_timer_suspend(struct clock_event_device *cedev) 5b30d5bf arch/arm/mach-pxa/time.c Stephen Warren 2012-11-07 103 { ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 104 osmr[0] = timer_readl(OSMR0); ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 105 osmr[1] = timer_readl(OSMR1); ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 106 osmr[2] = timer_readl(OSMR2); ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 107 osmr[3] = timer_readl(OSMR3); ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 108 oier = timer_readl(OIER); ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 109 oscr = timer_readl(OSCR); 5b30d5bf arch/arm/mach-pxa/time.c Stephen Warren 2012-11-07 110 } 5b30d5bf arch/arm/mach-pxa/time.c Stephen Warren 2012-11-07 111 5b30d5bf arch/arm/mach-pxa/time.c Stephen Warren 2012-11-07 112 static void pxa_timer_resume(struct clock_event_device *cedev) 5b30d5bf arch/arm/mach-pxa/time.c Stephen Warren 2012-11-07 113 { 5b30d5bf arch/arm/mach-pxa/time.c Stephen Warren 2012-11-07 114 /* 5b30d5bf arch/arm/mach-pxa/time.c Stephen Warren 2012-11-07 115 * Ensure that we have at least MIN_OSCR_DELTA between match 5b30d5bf arch/arm/mach-pxa/time.c Stephen Warren 2012-11-07 116 * register 0 and the OSCR, to guarantee that we will receive 5b30d5bf arch/arm/mach-pxa/time.c Stephen Warren 2012-11-07 117 * the one-shot timer interrupt. We adjust OSMR0 in preference 5b30d5bf arch/arm/mach-pxa/time.c Stephen Warren 2012-11-07 118 * to OSCR to guarantee that OSCR is monotonically incrementing. 5b30d5bf arch/arm/mach-pxa/time.c Stephen Warren 2012-11-07 119 */ 5b30d5bf arch/arm/mach-pxa/time.c Stephen Warren 2012-11-07 120 if (osmr[0] - oscr < MIN_OSCR_DELTA) 5b30d5bf arch/arm/mach-pxa/time.c Stephen Warren 2012-11-07 121 osmr[0] += MIN_OSCR_DELTA; 5b30d5bf arch/arm/mach-pxa/time.c Stephen Warren 2012-11-07 122 ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 123 timer_writel(osmr[0], OSMR0); ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 124 timer_writel(osmr[1], OSMR1); ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 125 timer_writel(osmr[2], OSMR2); ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 126 timer_writel(osmr[3], OSMR3); ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 127 timer_writel(oier, OIER); ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 128 timer_writel(oscr, OSCR); 5b30d5bf arch/arm/mach-pxa/time.c Stephen Warren 2012-11-07 129 } 5b30d5bf arch/arm/mach-pxa/time.c Stephen Warren 2012-11-07 130 #else 5b30d5bf arch/arm/mach-pxa/time.c Stephen Warren 2012-11-07 131 #define pxa_timer_suspend NULL 5b30d5bf arch/arm/mach-pxa/time.c Stephen Warren 2012-11-07 132 #define pxa_timer_resume NULL 5b30d5bf arch/arm/mach-pxa/time.c Stephen Warren 2012-11-07 133 #endif 5b30d5bf arch/arm/mach-pxa/time.c Stephen Warren 2012-11-07 134 7bbb18c9 arch/arm/mach-pxa/time.c Bill Gatliff 2007-07-21 @135 static struct clock_event_device ckevt_pxa_osmr0 = { 7bbb18c9 arch/arm/mach-pxa/time.c Bill Gatliff 2007-07-21 @136 .name = "osmr0", a88264c2 arch/arm/mach-pxa/time.c Russell King 2007-11-12 @137 .features = CLOCK_EVT_FEAT_ONESHOT, 7bbb18c9 arch/arm/mach-pxa/time.c Bill Gatliff 2007-07-21 @138 .rating = 200, 7bbb18c9 arch/arm/mach-pxa/time.c Bill Gatliff 2007-07-21 @139 .set_next_event = pxa_osmr0_set_next_event, 47d490ea drivers/clocksource/pxa_timer.c Viresh Kumar 2015-06-18 @140 .set_state_shutdown = pxa_osmr0_shutdown, 47d490ea drivers/clocksource/pxa_timer.c Viresh Kumar 2015-06-18 @141 .set_state_oneshot = pxa_osmr0_shutdown, 5b30d5bf arch/arm/mach-pxa/time.c Stephen Warren 2012-11-07 @142 .suspend = pxa_timer_suspend, 5b30d5bf arch/arm/mach-pxa/time.c Stephen Warren 2012-11-07 @143 .resume = pxa_timer_resume, ^1da177e arch/arm/mach-pxa/time.c Linus Torvalds 2005-04-16 144 }; ^1da177e arch/arm/mach-pxa/time.c Linus Torvalds 2005-04-16 145 7bbb18c9 arch/arm/mach-pxa/time.c Bill Gatliff 2007-07-21 146 static struct irqaction pxa_ost0_irq = { 7bbb18c9 arch/arm/mach-pxa/time.c Bill Gatliff 2007-07-21 147 .name = "ost0", ed7936f9 arch/arm/mach-pxa/time.c Michael Opdenacker 2013-12-09 148 .flags = IRQF_TIMER | IRQF_IRQPOLL, 7bbb18c9 arch/arm/mach-pxa/time.c Bill Gatliff 2007-07-21 149 .handler = pxa_ost0_interrupt, 7bbb18c9 arch/arm/mach-pxa/time.c Bill Gatliff 2007-07-21 150 .dev_id = &ckevt_pxa_osmr0, 7bbb18c9 arch/arm/mach-pxa/time.c Bill Gatliff 2007-07-21 151 }; 7bbb18c9 arch/arm/mach-pxa/time.c Bill Gatliff 2007-07-21 152 6f2116eb drivers/clocksource/pxa_timer.c Robert Jarzmik 2015-01-31 153 static void __init pxa_timer_common_init(int irq, unsigned long clock_tick_rate) ^1da177e arch/arm/mach-pxa/time.c Linus Torvalds 2005-04-16 154 { ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 155 timer_writel(0, OIER); ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 156 timer_writel(OSSR_M0 | OSSR_M1 | OSSR_M2 | OSSR_M3, OSSR); c80204e5 arch/arm/mach-pxa/time.c Sascha Hauer 2006-12-12 157 364ed1e0 arch/arm/mach-pxa/time.c Stephen Boyd 2013-11-15 158 sched_clock_register(pxa_read_sched_clock, 32, clock_tick_rate); 6c3a1583 arch/arm/mach-pxa/time.c Nicolas Pitre 2007-08-17 159 320ab2b0 arch/arm/mach-pxa/time.c Rusty Russell 2008-12-13 @160 ckevt_pxa_osmr0.cpumask = cpumask_of(0); ^1da177e arch/arm/mach-pxa/time.c Linus Torvalds 2005-04-16 161 ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 162 setup_irq(irq, &pxa_ost0_irq); 5c53ff08 arch/arm/mach-pxa/time.c Nicolas Pitre 2005-09-01 163 ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 @164 clocksource_mmio_init(timer_base + OSCR, "oscr0", clock_tick_rate, 200, ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 @165 32, clocksource_mmio_readl_up); 8d84981e arch/arm/mach-pxa/time.c Olof Johansson 2013-01-14 @166 clockevents_config_and_register(&ckevt_pxa_osmr0, clock_tick_rate, 8d84981e arch/arm/mach-pxa/time.c Olof Johansson 2013-01-14 167 MIN_OSCR_DELTA * 2, 0x7fffffff); 5c53ff08 arch/arm/mach-pxa/time.c Nicolas Pitre 2005-09-01 168 } ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 169 ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 170 static void __init pxa_timer_dt_init(struct device_node *np) ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 171 { ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 172 struct clk *clk; ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 173 int irq; ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 174 ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 175 /* timer registers are shared with watchdog timer */ ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 176 timer_base = of_iomap(np, 0); ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 177 if (!timer_base) ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 178 panic("%s: unable to map resource\n", np->name); ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 179 ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 180 clk = of_clk_get(np, 0); ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 181 if (IS_ERR(clk)) { ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 182 pr_crit("%s: unable to get clk\n", np->name); ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 183 return; ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 184 } ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 185 clk_prepare_enable(clk); ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 186 ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 187 /* we are only interested in OS-timer0 irq */ ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 188 irq = irq_of_parse_and_map(np, 0); ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 189 if (irq <= 0) { ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 190 pr_crit("%s: unable to parse OS-timer0 irq\n", np->name); ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 191 return; ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 192 } ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 193 ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 194 pxa_timer_common_init(irq, clk_get_rate(clk)); ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 195 } ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 @196 CLOCKSOURCE_OF_DECLARE(pxa_timer, "marvell,pxa-timer", pxa_timer_dt_init); ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 197 ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 198 /* ab5354c4 drivers/clocksource/pxa_timer.c Robert Jarzmik 2014-07-14 199 * Legacy timer init for non device-tree boards. :::::: The code at line 73 was first introduced by commit :::::: 7bbb18c9f4783b6fb3bf27af71625b590cf4f00b [ARM] 4507/1: pxa2xx clock_event_device :::::: TO: Bill Gatliff <b...@billgatliff.com> :::::: CC: Russell King <rmk+ker...@arm.linux.org.uk> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
.config.gz
Description: Binary data