Hi Clément, kernel test robot noticed the following build errors: [auto build test ERROR on 89be9a83ccf1f88522317ce02f854f30d6115c41] url: https://github.com/intel-lab-lkp/linux/commits/Cl-ment-Le-Goffic/bus-firewall-move-stm32_firewall-header-file-in-include-folder/20250728-234144 base: 89be9a83ccf1f88522317ce02f854f30d6115c41 patch link: https://lore.kernel.org/r/20250728-ddrperfm-upstream-v5-13-03f1be8ad396%40foss.st.com patch subject: [PATCH v5 13/20] perf: stm32: introduce DDRPERFM driver config: s390-randconfig-001-20250730 (https://download.01.org/0day-ci/archive/20250730/202507302237.gyVCBmXs-lkp@xxxxxxxxx/config) compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250730/202507302237.gyVCBmXs-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202507302237.gyVCBmXs-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): >> drivers/perf/stm32_ddr_pmu.c:213:2: error: call to undeclared function 'writel_relaxed'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 213 | writel_relaxed(r->start.mask, pmu->membase + r->start.reg); | ^ drivers/perf/stm32_ddr_pmu.c:220:2: error: call to undeclared function 'writel_relaxed'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 220 | writel_relaxed(r->stop.mask, pmu->membase + r->stop.reg); | ^ drivers/perf/stm32_ddr_pmu.c:227:2: error: call to undeclared function 'writel_relaxed'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 227 | writel_relaxed(r->clear_time.mask, pmu->membase + r->clear_time.reg); | ^ drivers/perf/stm32_ddr_pmu.c:234:2: error: call to undeclared function 'writel_relaxed'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 234 | writel_relaxed(r->clear_cnt.mask & BIT(counter->idx), pmu->membase + r->clear_cnt.reg); | ^ >> drivers/perf/stm32_ddr_pmu.c:240:15: error: call to undeclared function 'readl_relaxed'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 240 | u32 status = readl_relaxed(pmu->membase + r->status.reg); | ^ drivers/perf/stm32_ddr_pmu.c:255:12: error: call to undeclared function 'readl_relaxed'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 255 | u32 val = readl_relaxed(pmu->membase + r->enable.reg); | ^ drivers/perf/stm32_ddr_pmu.c:258:2: error: call to undeclared function 'writel_relaxed'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 258 | writel_relaxed(val, pmu->membase + r->enable.reg); | ^ drivers/perf/stm32_ddr_pmu.c:264:12: error: call to undeclared function 'readl_relaxed'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 264 | u32 val = readl_relaxed(pmu->membase + r->enable.reg); | ^ drivers/perf/stm32_ddr_pmu.c:267:2: error: call to undeclared function 'writel_relaxed'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 267 | writel_relaxed(val, pmu->membase + r->enable.reg); | ^ drivers/perf/stm32_ddr_pmu.c:285:17: error: call to undeclared function 'readl_relaxed'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 285 | cnt_sel_val = readl_relaxed(pmu->membase + r->cfg.reg); | ^ drivers/perf/stm32_ddr_pmu.c:288:3: error: call to undeclared function 'writel_relaxed'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 288 | writel_relaxed(cnt_sel_val, pmu->membase + r->cfg.reg); | ^ drivers/perf/stm32_ddr_pmu.c:302:16: error: call to undeclared function 'readl_relaxed'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 302 | cnt_sel_val = readl_relaxed(pmu->membase + cnt_sel_evt_reg); | ^ drivers/perf/stm32_ddr_pmu.c:306:2: error: call to undeclared function 'writel_relaxed'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 306 | writel_relaxed(cnt_sel_val, pmu->membase + cnt_sel_evt_reg); | ^ drivers/perf/stm32_ddr_pmu.c:428:9: error: call to undeclared function 'readl_relaxed'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 428 | val = readl_relaxed(pmu->membase + r->counter_evt[counter->idx].reg); | ^ drivers/perf/stm32_ddr_pmu.c:778:3: error: call to undeclared function 'writel_relaxed'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 778 | writel_relaxed(pmu->dram_type, pmu->membase + pmu->cfg->regs->dram_inf.reg); | ^ drivers/perf/stm32_ddr_pmu.c:803:2: error: call to undeclared function 'writel_relaxed'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 803 | writel_relaxed(pmu->dram_type, pmu->membase + pmu->cfg->regs->dram_inf.reg); | ^ 16 errors generated. vim +/writel_relaxed +213 drivers/perf/stm32_ddr_pmu.c 208 209 static void stm32_ddr_start_counters(struct stm32_ddr_pmu *pmu) 210 { 211 const struct stm32_ddr_pmu_regspec *r = pmu->cfg->regs; 212 > 213 writel_relaxed(r->start.mask, pmu->membase + r->start.reg); 214 } 215 216 static void stm32_ddr_stop_counters(struct stm32_ddr_pmu *pmu) 217 { 218 const struct stm32_ddr_pmu_regspec *r = pmu->cfg->regs; 219 220 writel_relaxed(r->stop.mask, pmu->membase + r->stop.reg); 221 } 222 223 static void stm32_ddr_clear_time_counter(struct stm32_ddr_pmu *pmu) 224 { 225 const struct stm32_ddr_pmu_regspec *r = pmu->cfg->regs; 226 227 writel_relaxed(r->clear_time.mask, pmu->membase + r->clear_time.reg); 228 } 229 230 static void stm32_ddr_clear_event_counter(struct stm32_ddr_pmu *pmu, struct stm32_ddr_cnt *counter) 231 { 232 const struct stm32_ddr_pmu_regspec *r = pmu->cfg->regs; 233 234 writel_relaxed(r->clear_cnt.mask & BIT(counter->idx), pmu->membase + r->clear_cnt.reg); 235 } 236 237 static void stm32_ddr_clear_counter(struct stm32_ddr_pmu *pmu, struct stm32_ddr_cnt *counter) 238 { 239 const struct stm32_ddr_pmu_regspec *r = pmu->cfg->regs; > 240 u32 status = readl_relaxed(pmu->membase + r->status.reg); 241 242 if (counter->idx == pmu->cfg->time_cnt_idx) 243 stm32_ddr_clear_time_counter(pmu); 244 else 245 stm32_ddr_clear_event_counter(pmu, counter); 246 247 if (status & r->status.mask) 248 dev_err(pmu->dev, "Failed to clear counter %i because the PMU is busy\n", 249 counter->idx); 250 } 251 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki