[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <202511071114.8WeW2GZK-lkp@intel.com>
Date: Fri, 7 Nov 2025 11:39:11 +0800
From: kernel test robot <lkp@...el.com>
To: Markus Stockhausen <markus.stockhausen@....de>
Cc: oe-kbuild-all@...ts.linux.dev, linux-kernel@...r.kernel.org,
Miquel Raynal <miquel.raynal@...tlin.com>
Subject: drivers/mtd/nand/ecc-realtek.c:443:undefined reference to
`dma_free_pages'
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 4a0c9b3391999818e2c5b93719699b255be1f682
commit: 3148d0e5b1c5733d69ec51b70c8280e46488750a mtd: nand: realtek-ecc: Add Realtek external ECC engine support
date: 6 weeks ago
config: sh-randconfig-r121-20251107 (https://download.01.org/0day-ci/archive/20251107/202511071114.8WeW2GZK-lkp@intel.com/config)
compiler: sh4-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251107/202511071114.8WeW2GZK-lkp@intel.com/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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202511071114.8WeW2GZK-lkp@intel.com/
All errors (new ones prefixed by >>):
sh4-linux-ld: drivers/mtd/nand/ecc-realtek.o: in function `rtl_ecc_remove':
>> drivers/mtd/nand/ecc-realtek.c:443:(.text+0x1f8): undefined reference to `dma_free_pages'
sh4-linux-ld: drivers/mtd/nand/ecc-realtek.o: in function `rtl_ecc_probe':
>> drivers/mtd/nand/ecc-realtek.c:434:(.text+0x2e8): undefined reference to `dma_alloc_pages'
sh4-linux-ld: drivers/media/i2c/tc358746.o: in function `tc358746_probe':
drivers/media/i2c/tc358746.c:1585:(.text+0x15cc): undefined reference to `devm_clk_hw_register'
sh4-linux-ld: drivers/media/i2c/tc358746.c:1610:(.text+0x163c): undefined reference to `devm_of_clk_add_hw_provider'
sh4-linux-ld: drivers/media/i2c/tc358746.c:1610:(.text+0x1640): undefined reference to `of_clk_hw_simple_get'
vim +443 drivers/mtd/nand/ecc-realtek.c
389
390 static int rtl_ecc_probe(struct platform_device *pdev)
391 {
392 struct device *dev = &pdev->dev;
393 struct rtl_ecc_engine *rtlc;
394 void __iomem *base;
395 int ret;
396
397 rtlc = devm_kzalloc(dev, sizeof(*rtlc), GFP_KERNEL);
398 if (!rtlc)
399 return -ENOMEM;
400
401 base = devm_platform_ioremap_resource(pdev, 0);
402 if (IS_ERR(base))
403 return PTR_ERR(base);
404
405 ret = devm_mutex_init(dev, &rtlc->lock);
406 if (ret)
407 return ret;
408
409 rtlc->regmap = devm_regmap_init_mmio(dev, base, &rtl_ecc_regmap_config);
410 if (IS_ERR(rtlc->regmap))
411 return PTR_ERR(rtlc->regmap);
412
413 /*
414 * Focus on simplicity and use a preallocated DMA buffer for data exchange with the
415 * engine. For now make it a noncoherent memory model as invalidating/flushing caches
416 * is faster than reading/writing uncached memory on the known architectures.
417 */
418
419 rtlc->buf = dma_alloc_noncoherent(dev, RTL_ECC_DMA_SIZE, &rtlc->buf_dma,
420 DMA_BIDIRECTIONAL, GFP_KERNEL);
421 if (IS_ERR(rtlc->buf))
422 return PTR_ERR(rtlc->buf);
423
424 rtlc->dev = dev;
425 rtlc->engine.dev = dev;
426 rtlc->engine.ops = &rtl_ecc_engine_ops;
427 rtlc->engine.integration = NAND_ECC_ENGINE_INTEGRATION_EXTERNAL;
428
429 nand_ecc_register_on_host_hw_engine(&rtlc->engine);
430
431 platform_set_drvdata(pdev, rtlc);
432
433 return 0;
> 434 }
435
436 static void rtl_ecc_remove(struct platform_device *pdev)
437 {
438 struct rtl_ecc_engine *rtlc = platform_get_drvdata(pdev);
439
440 nand_ecc_unregister_on_host_hw_engine(&rtlc->engine);
441 dma_free_noncoherent(rtlc->dev, RTL_ECC_DMA_SIZE, rtlc->buf, rtlc->buf_dma,
442 DMA_BIDIRECTIONAL);
> 443 }
444
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists