From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============6701758422334125590==" MIME-Version: 1.0 From: kernel test robot To: kbuild-all@lists.01.org Subject: [linux-next:master 2450/2855] drivers/dma/fsl-edma.c:302: undefined reference to `devm_ioremap_resource' Date: Sat, 29 Jan 2022 07:47:54 +0800 Message-ID: <202201290705.x0MS0OCH-lkp@intel.com> List-Id: --===============6701758422334125590== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git= master head: b605fdc54c2b28c30ef06d9db99282d8a32ae4be commit: 880f694bd1cef484e92065ea4e736850abce5352 [2450/2855] Kconfig.debug:= make DEBUG_INFO selectable from a choice config: s390-randconfig-r021-20220127 (https://download.01.org/0day-ci/arch= ive/20220129/202201290705.x0MS0OCH-lkp(a)intel.com/config) compiler: s390-linux-gcc (GCC) 11.2.0 reproduce (this is a W=3D1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/= make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.g= it/commit/?id=3D880f694bd1cef484e92065ea4e736850abce5352 git remote add linux-next https://git.kernel.org/pub/scm/linux/kern= el/git/next/linux-next.git git fetch --no-tags linux-next master git checkout 880f694bd1cef484e92065ea4e736850abce5352 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=3D$HOME/0day COMPILER=3Dgcc-11.2.0 make.cross= O=3Dbuild_dir ARCH=3Ds390 SHELL=3D/bin/bash If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): s390-linux-ld: drivers/dma/fsl-edma.o: in function `fsl_edma_probe': >> drivers/dma/fsl-edma.c:302: undefined reference to `devm_ioremap_resourc= e' >> s390-linux-ld: drivers/dma/fsl-edma.c:327: undefined reference to `devm_= ioremap_resource' s390-linux-ld: drivers/dma/qcom/hidma.o: in function `hidma_probe': >> drivers/dma/qcom/hidma.c:759: undefined reference to `devm_ioremap_resou= rce' >> s390-linux-ld: drivers/dma/qcom/hidma.c:766: undefined reference to `dev= m_ioremap_resource' s390-linux-ld: drivers/char/xillybus/xillybus_of.o: in function `xilly_d= rv_probe': >> drivers/char/xillybus/xillybus_of.c:50: undefined reference to `devm_pla= tform_ioremap_resource' s390-linux-ld: drivers/clocksource/timer-of.o: in function `timer_of_bas= e_init': drivers/clocksource/timer-of.c:159: undefined reference to `of_iomap' s390-linux-ld: drivers/clocksource/timer-of.o: in function `timer_of_bas= e_exit': drivers/clocksource/timer-of.c:151: undefined reference to `iounmap' s390-linux-ld: drivers/clocksource/timer-of.c:151: undefined reference t= o `iounmap' vim +302 drivers/dma/fsl-edma.c af802728e4ab07 Robin Gong 2019-06-25 265 = d6be34fbd39b7d Jingchang Lu 2014-02-18 266 static int fsl_edma_probe= (struct platform_device *pdev) d6be34fbd39b7d Jingchang Lu 2014-02-18 267 { af802728e4ab07 Robin Gong 2019-06-25 268 const struct of_device_i= d *of_id =3D af802728e4ab07 Robin Gong 2019-06-25 269 of_match_device(fsl_ed= ma_dt_ids, &pdev->dev); d6be34fbd39b7d Jingchang Lu 2014-02-18 270 struct device_node *np = =3D pdev->dev.of_node; d6be34fbd39b7d Jingchang Lu 2014-02-18 271 struct fsl_edma_engine *= fsl_edma; af802728e4ab07 Robin Gong 2019-06-25 272 const struct fsl_edma_dr= vdata *drvdata =3D NULL; d6be34fbd39b7d Jingchang Lu 2014-02-18 273 struct fsl_edma_chan *fs= l_chan; 377eaf3b3c4ad7 Angelo Dureghello 2018-08-19 274 struct edma_regs *regs; d6be34fbd39b7d Jingchang Lu 2014-02-18 275 struct resource *res; d6be34fbd39b7d Jingchang Lu 2014-02-18 276 int len, chans; d6be34fbd39b7d Jingchang Lu 2014-02-18 277 int ret, i; d6be34fbd39b7d Jingchang Lu 2014-02-18 278 = af802728e4ab07 Robin Gong 2019-06-25 279 if (of_id) af802728e4ab07 Robin Gong 2019-06-25 280 drvdata =3D of_id->data; af802728e4ab07 Robin Gong 2019-06-25 281 if (!drvdata) { af802728e4ab07 Robin Gong 2019-06-25 282 dev_err(&pdev->dev, "un= able to find driver data\n"); af802728e4ab07 Robin Gong 2019-06-25 283 return -EINVAL; af802728e4ab07 Robin Gong 2019-06-25 284 } af802728e4ab07 Robin Gong 2019-06-25 285 = d6be34fbd39b7d Jingchang Lu 2014-02-18 286 ret =3D of_property_read= _u32(np, "dma-channels", &chans); d6be34fbd39b7d Jingchang Lu 2014-02-18 287 if (ret) { d6be34fbd39b7d Jingchang Lu 2014-02-18 288 dev_err(&pdev->dev, "Ca= n't get dma-channels.\n"); d6be34fbd39b7d Jingchang Lu 2014-02-18 289 return ret; d6be34fbd39b7d Jingchang Lu 2014-02-18 290 } d6be34fbd39b7d Jingchang Lu 2014-02-18 291 = d6be34fbd39b7d Jingchang Lu 2014-02-18 292 len =3D sizeof(*fsl_edma= ) + sizeof(*fsl_chan) * chans; d6be34fbd39b7d Jingchang Lu 2014-02-18 293 fsl_edma =3D devm_kzallo= c(&pdev->dev, len, GFP_KERNEL); d6be34fbd39b7d Jingchang Lu 2014-02-18 294 if (!fsl_edma) d6be34fbd39b7d Jingchang Lu 2014-02-18 295 return -ENOMEM; d6be34fbd39b7d Jingchang Lu 2014-02-18 296 = af802728e4ab07 Robin Gong 2019-06-25 297 fsl_edma->drvdata =3D dr= vdata; d6be34fbd39b7d Jingchang Lu 2014-02-18 298 fsl_edma->n_chans =3D ch= ans; d6be34fbd39b7d Jingchang Lu 2014-02-18 299 mutex_init(&fsl_edma->fs= l_edma_mutex); d6be34fbd39b7d Jingchang Lu 2014-02-18 300 = d6be34fbd39b7d Jingchang Lu 2014-02-18 301 res =3D platform_get_res= ource(pdev, IORESOURCE_MEM, 0); d6be34fbd39b7d Jingchang Lu 2014-02-18 @302 fsl_edma->membase =3D de= vm_ioremap_resource(&pdev->dev, res); d6be34fbd39b7d Jingchang Lu 2014-02-18 303 if (IS_ERR(fsl_edma->mem= base)) d6be34fbd39b7d Jingchang Lu 2014-02-18 304 return PTR_ERR(fsl_edma= ->membase); d6be34fbd39b7d Jingchang Lu 2014-02-18 305 = 377eaf3b3c4ad7 Angelo Dureghello 2018-08-19 306 fsl_edma_setup_regs(fsl_= edma); 377eaf3b3c4ad7 Angelo Dureghello 2018-08-19 307 regs =3D &fsl_edma->regs; 377eaf3b3c4ad7 Angelo Dureghello 2018-08-19 308 = 232a7f18cf8ecb Robin Gong 2019-07-24 309 if (drvdata->has_dmaclk)= { 232a7f18cf8ecb Robin Gong 2019-07-24 310 fsl_edma->dmaclk =3D de= vm_clk_get(&pdev->dev, "dma"); 232a7f18cf8ecb Robin Gong 2019-07-24 311 if (IS_ERR(fsl_edma->dm= aclk)) { 232a7f18cf8ecb Robin Gong 2019-07-24 312 dev_err(&pdev->dev, "M= issing DMA block clock.\n"); 232a7f18cf8ecb Robin Gong 2019-07-24 313 return PTR_ERR(fsl_edm= a->dmaclk); 232a7f18cf8ecb Robin Gong 2019-07-24 314 } 232a7f18cf8ecb Robin Gong 2019-07-24 315 = 232a7f18cf8ecb Robin Gong 2019-07-24 316 ret =3D clk_prepare_ena= ble(fsl_edma->dmaclk); 232a7f18cf8ecb Robin Gong 2019-07-24 317 if (ret) { 232a7f18cf8ecb Robin Gong 2019-07-24 318 dev_err(&pdev->dev, "D= MA clk block failed.\n"); 232a7f18cf8ecb Robin Gong 2019-07-24 319 return ret; 232a7f18cf8ecb Robin Gong 2019-07-24 320 } 232a7f18cf8ecb Robin Gong 2019-07-24 321 } 232a7f18cf8ecb Robin Gong 2019-07-24 322 = af802728e4ab07 Robin Gong 2019-06-25 323 for (i =3D 0; i < fsl_ed= ma->drvdata->dmamuxs; i++) { d6be34fbd39b7d Jingchang Lu 2014-02-18 324 char clkname[32]; d6be34fbd39b7d Jingchang Lu 2014-02-18 325 = d6be34fbd39b7d Jingchang Lu 2014-02-18 326 res =3D platform_get_re= source(pdev, IORESOURCE_MEM, 1 + i); d6be34fbd39b7d Jingchang Lu 2014-02-18 @327 fsl_edma->muxbase[i] = =3D devm_ioremap_resource(&pdev->dev, res); 2610acf46b9ed5 Andreas Platschek 2017-12-14 328 if (IS_ERR(fsl_edma->mu= xbase[i])) { 2610acf46b9ed5 Andreas Platschek 2017-12-14 329 /* on error: disable a= ll previously enabled clks */ 2610acf46b9ed5 Andreas Platschek 2017-12-14 330 fsl_disable_clocks(fsl= _edma, i); d6be34fbd39b7d Jingchang Lu 2014-02-18 331 return PTR_ERR(fsl_edm= a->muxbase[i]); 2610acf46b9ed5 Andreas Platschek 2017-12-14 332 } d6be34fbd39b7d Jingchang Lu 2014-02-18 333 = d6be34fbd39b7d Jingchang Lu 2014-02-18 334 sprintf(clkname, "dmamu= x%d", i); d6be34fbd39b7d Jingchang Lu 2014-02-18 335 fsl_edma->muxclk[i] =3D= devm_clk_get(&pdev->dev, clkname); d6be34fbd39b7d Jingchang Lu 2014-02-18 336 if (IS_ERR(fsl_edma->mu= xclk[i])) { d6be34fbd39b7d Jingchang Lu 2014-02-18 337 dev_err(&pdev->dev, "M= issing DMAMUX block clock.\n"); 2610acf46b9ed5 Andreas Platschek 2017-12-14 338 /* on error: disable a= ll previously enabled clks */ 2610acf46b9ed5 Andreas Platschek 2017-12-14 339 fsl_disable_clocks(fsl= _edma, i); d6be34fbd39b7d Jingchang Lu 2014-02-18 340 return PTR_ERR(fsl_edm= a->muxclk[i]); d6be34fbd39b7d Jingchang Lu 2014-02-18 341 } d6be34fbd39b7d Jingchang Lu 2014-02-18 342 = d6be34fbd39b7d Jingchang Lu 2014-02-18 343 ret =3D clk_prepare_ena= ble(fsl_edma->muxclk[i]); 2610acf46b9ed5 Andreas Platschek 2017-12-14 344 if (ret) 2610acf46b9ed5 Andreas Platschek 2017-12-14 345 /* on error: disable a= ll previously enabled clks */ 2610acf46b9ed5 Andreas Platschek 2017-12-14 346 fsl_disable_clocks(fsl= _edma, i); d6be34fbd39b7d Jingchang Lu 2014-02-18 347 = d6be34fbd39b7d Jingchang Lu 2014-02-18 348 } d6be34fbd39b7d Jingchang Lu 2014-02-18 349 = d6be34fbd39b7d Jingchang Lu 2014-02-18 350 fsl_edma->big_endian =3D= of_property_read_bool(np, "big-endian"); d6be34fbd39b7d Jingchang Lu 2014-02-18 351 = d6be34fbd39b7d Jingchang Lu 2014-02-18 352 INIT_LIST_HEAD(&fsl_edma= ->dma_dev.channels); d6be34fbd39b7d Jingchang Lu 2014-02-18 353 for (i =3D 0; i < fsl_ed= ma->n_chans; i++) { d6be34fbd39b7d Jingchang Lu 2014-02-18 354 struct fsl_edma_chan *f= sl_chan =3D &fsl_edma->chans[i]; d6be34fbd39b7d Jingchang Lu 2014-02-18 355 = d6be34fbd39b7d Jingchang Lu 2014-02-18 356 fsl_chan->edma =3D fsl_= edma; 82d149b86d31e1 Yuan Yao 2015-10-30 357 fsl_chan->pm_state =3D = RUNNING; 82d149b86d31e1 Yuan Yao 2015-10-30 358 fsl_chan->slave_id =3D = 0; 82d149b86d31e1 Yuan Yao 2015-10-30 359 fsl_chan->idle =3D true; 0fa89f972da607 Laurentiu Tudor 2019-01-18 360 fsl_chan->dma_dir =3D D= MA_NONE; d6be34fbd39b7d Jingchang Lu 2014-02-18 361 fsl_chan->vchan.desc_fr= ee =3D fsl_edma_free_desc; d6be34fbd39b7d Jingchang Lu 2014-02-18 362 vchan_init(&fsl_chan->v= chan, &fsl_edma->dma_dev); d6be34fbd39b7d Jingchang Lu 2014-02-18 363 = 377eaf3b3c4ad7 Angelo Dureghello 2018-08-19 364 edma_writew(fsl_edma, 0= x0, ®s->tcd[i].csr); d6be34fbd39b7d Jingchang Lu 2014-02-18 365 fsl_edma_chan_mux(fsl_c= han, 0, false); d6be34fbd39b7d Jingchang Lu 2014-02-18 366 } d6be34fbd39b7d Jingchang Lu 2014-02-18 367 = 377eaf3b3c4ad7 Angelo Dureghello 2018-08-19 368 edma_writel(fsl_edma, ~0= , regs->intl); af802728e4ab07 Robin Gong 2019-06-25 369 ret =3D fsl_edma->drvdat= a->setup_irq(pdev, fsl_edma); 0fe25d61102d44 Stefan Agner 2015-06-07 370 if (ret) 0fe25d61102d44 Stefan Agner 2015-06-07 371 return ret; 0fe25d61102d44 Stefan Agner 2015-06-07 372 = d6be34fbd39b7d Jingchang Lu 2014-02-18 373 dma_cap_set(DMA_PRIVATE,= fsl_edma->dma_dev.cap_mask); d6be34fbd39b7d Jingchang Lu 2014-02-18 374 dma_cap_set(DMA_SLAVE, f= sl_edma->dma_dev.cap_mask); d6be34fbd39b7d Jingchang Lu 2014-02-18 375 dma_cap_set(DMA_CYCLIC, = fsl_edma->dma_dev.cap_mask); e0674853943287 Joy Zou 2021-10-26 376 dma_cap_set(DMA_MEMCPY, = fsl_edma->dma_dev.cap_mask); d6be34fbd39b7d Jingchang Lu 2014-02-18 377 = d6be34fbd39b7d Jingchang Lu 2014-02-18 378 fsl_edma->dma_dev.dev = =3D &pdev->dev; d6be34fbd39b7d Jingchang Lu 2014-02-18 379 fsl_edma->dma_dev.device= _alloc_chan_resources d6be34fbd39b7d Jingchang Lu 2014-02-18 380 =3D fsl_edma_alloc_chan= _resources; d6be34fbd39b7d Jingchang Lu 2014-02-18 381 fsl_edma->dma_dev.device= _free_chan_resources d6be34fbd39b7d Jingchang Lu 2014-02-18 382 =3D fsl_edma_free_chan_= resources; d6be34fbd39b7d Jingchang Lu 2014-02-18 383 fsl_edma->dma_dev.device= _tx_status =3D fsl_edma_tx_status; d6be34fbd39b7d Jingchang Lu 2014-02-18 384 fsl_edma->dma_dev.device= _prep_slave_sg =3D fsl_edma_prep_slave_sg; d6be34fbd39b7d Jingchang Lu 2014-02-18 385 fsl_edma->dma_dev.device= _prep_dma_cyclic =3D fsl_edma_prep_dma_cyclic; e0674853943287 Joy Zou 2021-10-26 386 fsl_edma->dma_dev.device= _prep_dma_memcpy =3D fsl_edma_prep_memcpy; d80f381f321ab7 Maxime Ripard 2014-11-17 387 fsl_edma->dma_dev.device= _config =3D fsl_edma_slave_config; d80f381f321ab7 Maxime Ripard 2014-11-17 388 fsl_edma->dma_dev.device= _pause =3D fsl_edma_pause; d80f381f321ab7 Maxime Ripard 2014-11-17 389 fsl_edma->dma_dev.device= _resume =3D fsl_edma_resume; d80f381f321ab7 Maxime Ripard 2014-11-17 390 fsl_edma->dma_dev.device= _terminate_all =3D fsl_edma_terminate_all; ba1cab79cfc629 Andrey Smirnov 2019-07-31 391 fsl_edma->dma_dev.device= _synchronize =3D fsl_edma_synchronize; d6be34fbd39b7d Jingchang Lu 2014-02-18 392 fsl_edma->dma_dev.device= _issue_pending =3D fsl_edma_issue_pending; f45c431148e1ba Maxime Ripard 2014-11-17 393 = f45c431148e1ba Maxime Ripard 2014-11-17 394 fsl_edma->dma_dev.src_ad= dr_widths =3D FSL_EDMA_BUSWIDTHS; f45c431148e1ba Maxime Ripard 2014-11-17 395 fsl_edma->dma_dev.dst_ad= dr_widths =3D FSL_EDMA_BUSWIDTHS; f45c431148e1ba Maxime Ripard 2014-11-17 396 fsl_edma->dma_dev.direct= ions =3D BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV); d6be34fbd39b7d Jingchang Lu 2014-02-18 397 = e0674853943287 Joy Zou 2021-10-26 398 fsl_edma->dma_dev.copy_a= lign =3D DMAENGINE_ALIGN_32_BYTES; e0674853943287 Joy Zou 2021-10-26 399 /* Per worst case 'nbyte= s =3D 1' take CITER as the max_seg_size */ e0674853943287 Joy Zou 2021-10-26 400 dma_set_max_seg_size(fsl= _edma->dma_dev.dev, 0x3fff); e0674853943287 Joy Zou 2021-10-26 401 = d6be34fbd39b7d Jingchang Lu 2014-02-18 402 platform_set_drvdata(pde= v, fsl_edma); d6be34fbd39b7d Jingchang Lu 2014-02-18 403 = d6be34fbd39b7d Jingchang Lu 2014-02-18 404 ret =3D dma_async_device= _register(&fsl_edma->dma_dev); d6be34fbd39b7d Jingchang Lu 2014-02-18 405 if (ret) { a86144da9d1a43 Peter Griffin 2016-06-07 406 dev_err(&pdev->dev, a86144da9d1a43 Peter Griffin 2016-06-07 407 "Can't register Freesc= ale eDMA engine. (%d)\n", ret); af802728e4ab07 Robin Gong 2019-06-25 408 fsl_disable_clocks(fsl_= edma, fsl_edma->drvdata->dmamuxs); d6be34fbd39b7d Jingchang Lu 2014-02-18 409 return ret; d6be34fbd39b7d Jingchang Lu 2014-02-18 410 } d6be34fbd39b7d Jingchang Lu 2014-02-18 411 = d6be34fbd39b7d Jingchang Lu 2014-02-18 412 ret =3D of_dma_controlle= r_register(np, fsl_edma_xlate, fsl_edma); d6be34fbd39b7d Jingchang Lu 2014-02-18 413 if (ret) { a86144da9d1a43 Peter Griffin 2016-06-07 414 dev_err(&pdev->dev, a86144da9d1a43 Peter Griffin 2016-06-07 415 "Can't register Freesc= ale eDMA of_dma. (%d)\n", ret); d6be34fbd39b7d Jingchang Lu 2014-02-18 416 dma_async_device_unregi= ster(&fsl_edma->dma_dev); af802728e4ab07 Robin Gong 2019-06-25 417 fsl_disable_clocks(fsl_= edma, fsl_edma->drvdata->dmamuxs); d6be34fbd39b7d Jingchang Lu 2014-02-18 418 return ret; d6be34fbd39b7d Jingchang Lu 2014-02-18 419 } d6be34fbd39b7d Jingchang Lu 2014-02-18 420 = d6be34fbd39b7d Jingchang Lu 2014-02-18 421 /* enable round robin ar= bitration */ 377eaf3b3c4ad7 Angelo Dureghello 2018-08-19 422 edma_writel(fsl_edma, ED= MA_CR_ERGA | EDMA_CR_ERCA, regs->cr); d6be34fbd39b7d Jingchang Lu 2014-02-18 423 = d6be34fbd39b7d Jingchang Lu 2014-02-18 424 return 0; d6be34fbd39b7d Jingchang Lu 2014-02-18 425 } d6be34fbd39b7d Jingchang Lu 2014-02-18 426 = :::::: The code at line 302 was first introduced by commit :::::: d6be34fbd39b7d577d25cb4edec538e8990ba07c dma: Add Freescale eDMA eng= ine driver support :::::: TO: Jingchang Lu :::::: CC: Vinod Koul --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============6701758422334125590==-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id A1EACC433EF for ; Fri, 28 Jan 2022 23:48:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1EDA26B00DF; Fri, 28 Jan 2022 18:48:12 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 19BD96B00E1; Fri, 28 Jan 2022 18:48:12 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 08BF16B00E2; Fri, 28 Jan 2022 18:48:12 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0048.hostedemail.com [216.40.44.48]) by kanga.kvack.org (Postfix) with ESMTP id EEB596B00DF for ; Fri, 28 Jan 2022 18:48:11 -0500 (EST) Received: from smtpin10.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id A9A3C98794 for ; Fri, 28 Jan 2022 23:48:11 +0000 (UTC) X-FDA: 79081336782.10.16BB142 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by imf15.hostedemail.com (Postfix) with ESMTP id CC5B5A0006 for ; Fri, 28 Jan 2022 23:48:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1643413690; x=1674949690; h=date:from:to:cc:subject:message-id:mime-version; bh=N2icl0MiWl0kj+odnfmw8nG/QFx3KQjhtqOfnUL7c4g=; b=Mw9QOdAQnrQgNhKiTC/QLcBuQlSoofvmoevHURA/H5gqxnpUIaT2Sm/o geoIOCRHUDY6ErrPJGl/t8P2FL5Gk/H8QIluELrwC9kJNiQzBH8T8wpW+ vMnsk0Aes2TED4LSG3a4XdeuhnxmK6q0WIK+qfcF1XrmZhwt//SVQfWVd aN90kZ6xpevnYOwIAat9KVVNcnVFR2KxQUK0B5f/WihU/o032aofJfZE9 cxrpWcSAH09GfBvseMz/kFV1Z7kGsXxuSYyZFj5BBJisgHCznuqaoYqxh 40j4U0TMOruqnT1SIzULgrdkNOfy/FpljMt63NeAMbNSPgeF/kst/jr3U g==; X-IronPort-AV: E=McAfee;i="6200,9189,10241"; a="227886715" X-IronPort-AV: E=Sophos;i="5.88,325,1635231600"; d="scan'208";a="227886715" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Jan 2022 15:48:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,325,1635231600"; d="scan'208";a="564352284" Received: from lkp-server01.sh.intel.com (HELO 276f1b88eecb) ([10.239.97.150]) by orsmga001.jf.intel.com with ESMTP; 28 Jan 2022 15:48:07 -0800 Received: from kbuild by 276f1b88eecb with local (Exim 4.92) (envelope-from ) id 1nDayM-000OSg-CB; Fri, 28 Jan 2022 23:48:06 +0000 Date: Sat, 29 Jan 2022 07:47:54 +0800 From: kernel test robot To: Kees Cook Cc: kbuild-all@lists.01.org, Linux Memory Management List , Arnd Bergmann , Nathan Chancellor , Nick Desaulniers , Masahiro Yamada , Andrew Morton Subject: [linux-next:master 2450/2855] drivers/dma/fsl-edma.c:302: undefined reference to `devm_ioremap_resource' Message-ID: <202201290705.x0MS0OCH-lkp@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.10.1 (2018-07-13) X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: CC5B5A0006 X-Stat-Signature: ffi46mak1f1977xps8xnjnkg3qr8u8fn Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=Mw9QOdAQ; dmarc=pass (policy=none) header.from=intel.com; spf=none (imf15.hostedemail.com: domain of lkp@intel.com has no SPF policy when checking 192.55.52.151) smtp.mailfrom=lkp@intel.com X-Rspam-User: nil X-HE-Tag: 1643413690-198414 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: b605fdc54c2b28c30ef06d9db99282d8a32ae4be commit: 880f694bd1cef484e92065ea4e736850abce5352 [2450/2855] Kconfig.debug: make DEBUG_INFO selectable from a choice config: s390-randconfig-r021-20220127 (https://download.01.org/0day-ci/archive/20220129/202201290705.x0MS0OCH-lkp@intel.com/config) compiler: s390-linux-gcc (GCC) 11.2.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=880f694bd1cef484e92065ea4e736850abce5352 git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git git fetch --no-tags linux-next master git checkout 880f694bd1cef484e92065ea4e736850abce5352 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=s390 SHELL=/bin/bash If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): s390-linux-ld: drivers/dma/fsl-edma.o: in function `fsl_edma_probe': >> drivers/dma/fsl-edma.c:302: undefined reference to `devm_ioremap_resource' >> s390-linux-ld: drivers/dma/fsl-edma.c:327: undefined reference to `devm_ioremap_resource' s390-linux-ld: drivers/dma/qcom/hidma.o: in function `hidma_probe': >> drivers/dma/qcom/hidma.c:759: undefined reference to `devm_ioremap_resource' >> s390-linux-ld: drivers/dma/qcom/hidma.c:766: undefined reference to `devm_ioremap_resource' s390-linux-ld: drivers/char/xillybus/xillybus_of.o: in function `xilly_drv_probe': >> drivers/char/xillybus/xillybus_of.c:50: undefined reference to `devm_platform_ioremap_resource' s390-linux-ld: drivers/clocksource/timer-of.o: in function `timer_of_base_init': drivers/clocksource/timer-of.c:159: undefined reference to `of_iomap' s390-linux-ld: drivers/clocksource/timer-of.o: in function `timer_of_base_exit': drivers/clocksource/timer-of.c:151: undefined reference to `iounmap' s390-linux-ld: drivers/clocksource/timer-of.c:151: undefined reference to `iounmap' vim +302 drivers/dma/fsl-edma.c af802728e4ab07 Robin Gong 2019-06-25 265 d6be34fbd39b7d Jingchang Lu 2014-02-18 266 static int fsl_edma_probe(struct platform_device *pdev) d6be34fbd39b7d Jingchang Lu 2014-02-18 267 { af802728e4ab07 Robin Gong 2019-06-25 268 const struct of_device_id *of_id = af802728e4ab07 Robin Gong 2019-06-25 269 of_match_device(fsl_edma_dt_ids, &pdev->dev); d6be34fbd39b7d Jingchang Lu 2014-02-18 270 struct device_node *np = pdev->dev.of_node; d6be34fbd39b7d Jingchang Lu 2014-02-18 271 struct fsl_edma_engine *fsl_edma; af802728e4ab07 Robin Gong 2019-06-25 272 const struct fsl_edma_drvdata *drvdata = NULL; d6be34fbd39b7d Jingchang Lu 2014-02-18 273 struct fsl_edma_chan *fsl_chan; 377eaf3b3c4ad7 Angelo Dureghello 2018-08-19 274 struct edma_regs *regs; d6be34fbd39b7d Jingchang Lu 2014-02-18 275 struct resource *res; d6be34fbd39b7d Jingchang Lu 2014-02-18 276 int len, chans; d6be34fbd39b7d Jingchang Lu 2014-02-18 277 int ret, i; d6be34fbd39b7d Jingchang Lu 2014-02-18 278 af802728e4ab07 Robin Gong 2019-06-25 279 if (of_id) af802728e4ab07 Robin Gong 2019-06-25 280 drvdata = of_id->data; af802728e4ab07 Robin Gong 2019-06-25 281 if (!drvdata) { af802728e4ab07 Robin Gong 2019-06-25 282 dev_err(&pdev->dev, "unable to find driver data\n"); af802728e4ab07 Robin Gong 2019-06-25 283 return -EINVAL; af802728e4ab07 Robin Gong 2019-06-25 284 } af802728e4ab07 Robin Gong 2019-06-25 285 d6be34fbd39b7d Jingchang Lu 2014-02-18 286 ret = of_property_read_u32(np, "dma-channels", &chans); d6be34fbd39b7d Jingchang Lu 2014-02-18 287 if (ret) { d6be34fbd39b7d Jingchang Lu 2014-02-18 288 dev_err(&pdev->dev, "Can't get dma-channels.\n"); d6be34fbd39b7d Jingchang Lu 2014-02-18 289 return ret; d6be34fbd39b7d Jingchang Lu 2014-02-18 290 } d6be34fbd39b7d Jingchang Lu 2014-02-18 291 d6be34fbd39b7d Jingchang Lu 2014-02-18 292 len = sizeof(*fsl_edma) + sizeof(*fsl_chan) * chans; d6be34fbd39b7d Jingchang Lu 2014-02-18 293 fsl_edma = devm_kzalloc(&pdev->dev, len, GFP_KERNEL); d6be34fbd39b7d Jingchang Lu 2014-02-18 294 if (!fsl_edma) d6be34fbd39b7d Jingchang Lu 2014-02-18 295 return -ENOMEM; d6be34fbd39b7d Jingchang Lu 2014-02-18 296 af802728e4ab07 Robin Gong 2019-06-25 297 fsl_edma->drvdata = drvdata; d6be34fbd39b7d Jingchang Lu 2014-02-18 298 fsl_edma->n_chans = chans; d6be34fbd39b7d Jingchang Lu 2014-02-18 299 mutex_init(&fsl_edma->fsl_edma_mutex); d6be34fbd39b7d Jingchang Lu 2014-02-18 300 d6be34fbd39b7d Jingchang Lu 2014-02-18 301 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); d6be34fbd39b7d Jingchang Lu 2014-02-18 @302 fsl_edma->membase = devm_ioremap_resource(&pdev->dev, res); d6be34fbd39b7d Jingchang Lu 2014-02-18 303 if (IS_ERR(fsl_edma->membase)) d6be34fbd39b7d Jingchang Lu 2014-02-18 304 return PTR_ERR(fsl_edma->membase); d6be34fbd39b7d Jingchang Lu 2014-02-18 305 377eaf3b3c4ad7 Angelo Dureghello 2018-08-19 306 fsl_edma_setup_regs(fsl_edma); 377eaf3b3c4ad7 Angelo Dureghello 2018-08-19 307 regs = &fsl_edma->regs; 377eaf3b3c4ad7 Angelo Dureghello 2018-08-19 308 232a7f18cf8ecb Robin Gong 2019-07-24 309 if (drvdata->has_dmaclk) { 232a7f18cf8ecb Robin Gong 2019-07-24 310 fsl_edma->dmaclk = devm_clk_get(&pdev->dev, "dma"); 232a7f18cf8ecb Robin Gong 2019-07-24 311 if (IS_ERR(fsl_edma->dmaclk)) { 232a7f18cf8ecb Robin Gong 2019-07-24 312 dev_err(&pdev->dev, "Missing DMA block clock.\n"); 232a7f18cf8ecb Robin Gong 2019-07-24 313 return PTR_ERR(fsl_edma->dmaclk); 232a7f18cf8ecb Robin Gong 2019-07-24 314 } 232a7f18cf8ecb Robin Gong 2019-07-24 315 232a7f18cf8ecb Robin Gong 2019-07-24 316 ret = clk_prepare_enable(fsl_edma->dmaclk); 232a7f18cf8ecb Robin Gong 2019-07-24 317 if (ret) { 232a7f18cf8ecb Robin Gong 2019-07-24 318 dev_err(&pdev->dev, "DMA clk block failed.\n"); 232a7f18cf8ecb Robin Gong 2019-07-24 319 return ret; 232a7f18cf8ecb Robin Gong 2019-07-24 320 } 232a7f18cf8ecb Robin Gong 2019-07-24 321 } 232a7f18cf8ecb Robin Gong 2019-07-24 322 af802728e4ab07 Robin Gong 2019-06-25 323 for (i = 0; i < fsl_edma->drvdata->dmamuxs; i++) { d6be34fbd39b7d Jingchang Lu 2014-02-18 324 char clkname[32]; d6be34fbd39b7d Jingchang Lu 2014-02-18 325 d6be34fbd39b7d Jingchang Lu 2014-02-18 326 res = platform_get_resource(pdev, IORESOURCE_MEM, 1 + i); d6be34fbd39b7d Jingchang Lu 2014-02-18 @327 fsl_edma->muxbase[i] = devm_ioremap_resource(&pdev->dev, res); 2610acf46b9ed5 Andreas Platschek 2017-12-14 328 if (IS_ERR(fsl_edma->muxbase[i])) { 2610acf46b9ed5 Andreas Platschek 2017-12-14 329 /* on error: disable all previously enabled clks */ 2610acf46b9ed5 Andreas Platschek 2017-12-14 330 fsl_disable_clocks(fsl_edma, i); d6be34fbd39b7d Jingchang Lu 2014-02-18 331 return PTR_ERR(fsl_edma->muxbase[i]); 2610acf46b9ed5 Andreas Platschek 2017-12-14 332 } d6be34fbd39b7d Jingchang Lu 2014-02-18 333 d6be34fbd39b7d Jingchang Lu 2014-02-18 334 sprintf(clkname, "dmamux%d", i); d6be34fbd39b7d Jingchang Lu 2014-02-18 335 fsl_edma->muxclk[i] = devm_clk_get(&pdev->dev, clkname); d6be34fbd39b7d Jingchang Lu 2014-02-18 336 if (IS_ERR(fsl_edma->muxclk[i])) { d6be34fbd39b7d Jingchang Lu 2014-02-18 337 dev_err(&pdev->dev, "Missing DMAMUX block clock.\n"); 2610acf46b9ed5 Andreas Platschek 2017-12-14 338 /* on error: disable all previously enabled clks */ 2610acf46b9ed5 Andreas Platschek 2017-12-14 339 fsl_disable_clocks(fsl_edma, i); d6be34fbd39b7d Jingchang Lu 2014-02-18 340 return PTR_ERR(fsl_edma->muxclk[i]); d6be34fbd39b7d Jingchang Lu 2014-02-18 341 } d6be34fbd39b7d Jingchang Lu 2014-02-18 342 d6be34fbd39b7d Jingchang Lu 2014-02-18 343 ret = clk_prepare_enable(fsl_edma->muxclk[i]); 2610acf46b9ed5 Andreas Platschek 2017-12-14 344 if (ret) 2610acf46b9ed5 Andreas Platschek 2017-12-14 345 /* on error: disable all previously enabled clks */ 2610acf46b9ed5 Andreas Platschek 2017-12-14 346 fsl_disable_clocks(fsl_edma, i); d6be34fbd39b7d Jingchang Lu 2014-02-18 347 d6be34fbd39b7d Jingchang Lu 2014-02-18 348 } d6be34fbd39b7d Jingchang Lu 2014-02-18 349 d6be34fbd39b7d Jingchang Lu 2014-02-18 350 fsl_edma->big_endian = of_property_read_bool(np, "big-endian"); d6be34fbd39b7d Jingchang Lu 2014-02-18 351 d6be34fbd39b7d Jingchang Lu 2014-02-18 352 INIT_LIST_HEAD(&fsl_edma->dma_dev.channels); d6be34fbd39b7d Jingchang Lu 2014-02-18 353 for (i = 0; i < fsl_edma->n_chans; i++) { d6be34fbd39b7d Jingchang Lu 2014-02-18 354 struct fsl_edma_chan *fsl_chan = &fsl_edma->chans[i]; d6be34fbd39b7d Jingchang Lu 2014-02-18 355 d6be34fbd39b7d Jingchang Lu 2014-02-18 356 fsl_chan->edma = fsl_edma; 82d149b86d31e1 Yuan Yao 2015-10-30 357 fsl_chan->pm_state = RUNNING; 82d149b86d31e1 Yuan Yao 2015-10-30 358 fsl_chan->slave_id = 0; 82d149b86d31e1 Yuan Yao 2015-10-30 359 fsl_chan->idle = true; 0fa89f972da607 Laurentiu Tudor 2019-01-18 360 fsl_chan->dma_dir = DMA_NONE; d6be34fbd39b7d Jingchang Lu 2014-02-18 361 fsl_chan->vchan.desc_free = fsl_edma_free_desc; d6be34fbd39b7d Jingchang Lu 2014-02-18 362 vchan_init(&fsl_chan->vchan, &fsl_edma->dma_dev); d6be34fbd39b7d Jingchang Lu 2014-02-18 363 377eaf3b3c4ad7 Angelo Dureghello 2018-08-19 364 edma_writew(fsl_edma, 0x0, ®s->tcd[i].csr); d6be34fbd39b7d Jingchang Lu 2014-02-18 365 fsl_edma_chan_mux(fsl_chan, 0, false); d6be34fbd39b7d Jingchang Lu 2014-02-18 366 } d6be34fbd39b7d Jingchang Lu 2014-02-18 367 377eaf3b3c4ad7 Angelo Dureghello 2018-08-19 368 edma_writel(fsl_edma, ~0, regs->intl); af802728e4ab07 Robin Gong 2019-06-25 369 ret = fsl_edma->drvdata->setup_irq(pdev, fsl_edma); 0fe25d61102d44 Stefan Agner 2015-06-07 370 if (ret) 0fe25d61102d44 Stefan Agner 2015-06-07 371 return ret; 0fe25d61102d44 Stefan Agner 2015-06-07 372 d6be34fbd39b7d Jingchang Lu 2014-02-18 373 dma_cap_set(DMA_PRIVATE, fsl_edma->dma_dev.cap_mask); d6be34fbd39b7d Jingchang Lu 2014-02-18 374 dma_cap_set(DMA_SLAVE, fsl_edma->dma_dev.cap_mask); d6be34fbd39b7d Jingchang Lu 2014-02-18 375 dma_cap_set(DMA_CYCLIC, fsl_edma->dma_dev.cap_mask); e0674853943287 Joy Zou 2021-10-26 376 dma_cap_set(DMA_MEMCPY, fsl_edma->dma_dev.cap_mask); d6be34fbd39b7d Jingchang Lu 2014-02-18 377 d6be34fbd39b7d Jingchang Lu 2014-02-18 378 fsl_edma->dma_dev.dev = &pdev->dev; d6be34fbd39b7d Jingchang Lu 2014-02-18 379 fsl_edma->dma_dev.device_alloc_chan_resources d6be34fbd39b7d Jingchang Lu 2014-02-18 380 = fsl_edma_alloc_chan_resources; d6be34fbd39b7d Jingchang Lu 2014-02-18 381 fsl_edma->dma_dev.device_free_chan_resources d6be34fbd39b7d Jingchang Lu 2014-02-18 382 = fsl_edma_free_chan_resources; d6be34fbd39b7d Jingchang Lu 2014-02-18 383 fsl_edma->dma_dev.device_tx_status = fsl_edma_tx_status; d6be34fbd39b7d Jingchang Lu 2014-02-18 384 fsl_edma->dma_dev.device_prep_slave_sg = fsl_edma_prep_slave_sg; d6be34fbd39b7d Jingchang Lu 2014-02-18 385 fsl_edma->dma_dev.device_prep_dma_cyclic = fsl_edma_prep_dma_cyclic; e0674853943287 Joy Zou 2021-10-26 386 fsl_edma->dma_dev.device_prep_dma_memcpy = fsl_edma_prep_memcpy; d80f381f321ab7 Maxime Ripard 2014-11-17 387 fsl_edma->dma_dev.device_config = fsl_edma_slave_config; d80f381f321ab7 Maxime Ripard 2014-11-17 388 fsl_edma->dma_dev.device_pause = fsl_edma_pause; d80f381f321ab7 Maxime Ripard 2014-11-17 389 fsl_edma->dma_dev.device_resume = fsl_edma_resume; d80f381f321ab7 Maxime Ripard 2014-11-17 390 fsl_edma->dma_dev.device_terminate_all = fsl_edma_terminate_all; ba1cab79cfc629 Andrey Smirnov 2019-07-31 391 fsl_edma->dma_dev.device_synchronize = fsl_edma_synchronize; d6be34fbd39b7d Jingchang Lu 2014-02-18 392 fsl_edma->dma_dev.device_issue_pending = fsl_edma_issue_pending; f45c431148e1ba Maxime Ripard 2014-11-17 393 f45c431148e1ba Maxime Ripard 2014-11-17 394 fsl_edma->dma_dev.src_addr_widths = FSL_EDMA_BUSWIDTHS; f45c431148e1ba Maxime Ripard 2014-11-17 395 fsl_edma->dma_dev.dst_addr_widths = FSL_EDMA_BUSWIDTHS; f45c431148e1ba Maxime Ripard 2014-11-17 396 fsl_edma->dma_dev.directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV); d6be34fbd39b7d Jingchang Lu 2014-02-18 397 e0674853943287 Joy Zou 2021-10-26 398 fsl_edma->dma_dev.copy_align = DMAENGINE_ALIGN_32_BYTES; e0674853943287 Joy Zou 2021-10-26 399 /* Per worst case 'nbytes = 1' take CITER as the max_seg_size */ e0674853943287 Joy Zou 2021-10-26 400 dma_set_max_seg_size(fsl_edma->dma_dev.dev, 0x3fff); e0674853943287 Joy Zou 2021-10-26 401 d6be34fbd39b7d Jingchang Lu 2014-02-18 402 platform_set_drvdata(pdev, fsl_edma); d6be34fbd39b7d Jingchang Lu 2014-02-18 403 d6be34fbd39b7d Jingchang Lu 2014-02-18 404 ret = dma_async_device_register(&fsl_edma->dma_dev); d6be34fbd39b7d Jingchang Lu 2014-02-18 405 if (ret) { a86144da9d1a43 Peter Griffin 2016-06-07 406 dev_err(&pdev->dev, a86144da9d1a43 Peter Griffin 2016-06-07 407 "Can't register Freescale eDMA engine. (%d)\n", ret); af802728e4ab07 Robin Gong 2019-06-25 408 fsl_disable_clocks(fsl_edma, fsl_edma->drvdata->dmamuxs); d6be34fbd39b7d Jingchang Lu 2014-02-18 409 return ret; d6be34fbd39b7d Jingchang Lu 2014-02-18 410 } d6be34fbd39b7d Jingchang Lu 2014-02-18 411 d6be34fbd39b7d Jingchang Lu 2014-02-18 412 ret = of_dma_controller_register(np, fsl_edma_xlate, fsl_edma); d6be34fbd39b7d Jingchang Lu 2014-02-18 413 if (ret) { a86144da9d1a43 Peter Griffin 2016-06-07 414 dev_err(&pdev->dev, a86144da9d1a43 Peter Griffin 2016-06-07 415 "Can't register Freescale eDMA of_dma. (%d)\n", ret); d6be34fbd39b7d Jingchang Lu 2014-02-18 416 dma_async_device_unregister(&fsl_edma->dma_dev); af802728e4ab07 Robin Gong 2019-06-25 417 fsl_disable_clocks(fsl_edma, fsl_edma->drvdata->dmamuxs); d6be34fbd39b7d Jingchang Lu 2014-02-18 418 return ret; d6be34fbd39b7d Jingchang Lu 2014-02-18 419 } d6be34fbd39b7d Jingchang Lu 2014-02-18 420 d6be34fbd39b7d Jingchang Lu 2014-02-18 421 /* enable round robin arbitration */ 377eaf3b3c4ad7 Angelo Dureghello 2018-08-19 422 edma_writel(fsl_edma, EDMA_CR_ERGA | EDMA_CR_ERCA, regs->cr); d6be34fbd39b7d Jingchang Lu 2014-02-18 423 d6be34fbd39b7d Jingchang Lu 2014-02-18 424 return 0; d6be34fbd39b7d Jingchang Lu 2014-02-18 425 } d6be34fbd39b7d Jingchang Lu 2014-02-18 426 :::::: The code at line 302 was first introduced by commit :::::: d6be34fbd39b7d577d25cb4edec538e8990ba07c dma: Add Freescale eDMA engine driver support :::::: TO: Jingchang Lu :::::: CC: Vinod Koul --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org