All of lore.kernel.org
 help / color / mirror / Atom feed
* [jcmvbkbc-xtensa:xtensa-6.5-esp32 24/34] drivers/misc/esp32-ipc.c:148: undefined reference to `devm_of_iomap'
@ 2023-08-30 20:31 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2023-08-30 20:31 UTC (permalink / raw)
  To: Max Filippov; +Cc: oe-kbuild-all

tree:   https://github.com/jcmvbkbc/linux-xtensa xtensa-6.5-esp32
head:   32b212f29f8b514e9e765eba17d54e901e635130
commit: 6531df78dcbb1d955a0dc87a67760a6bcbca770c [24/34] esp_wifi: add IPC transport
config: um-defconfig (https://download.01.org/0day-ci/archive/20230831/202308310403.PrSLZ2vt-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230831/202308310403.PrSLZ2vt-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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202308310403.PrSLZ2vt-lkp@intel.com/

All errors (new ones prefixed by >>):

   /usr/bin/ld: drivers/misc/esp32-ipc.o: in function `init_hw':
>> drivers/misc/esp32-ipc.c:148: undefined reference to `devm_of_iomap'
>> /usr/bin/ld: drivers/misc/esp32-ipc.c:152: undefined reference to `devm_iounmap'
   collect2: error: ld returned 1 exit status

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for ESP32_IPC
   Depends on [n]: OF [=n] && HAS_IOMEM [=n]
   Selected by [y]:
   - ESP32_WIFI_SHMEM [=y] && NETDEVICES [=y] && WLAN [=y] && WLAN_VENDOR_ESPRESSIF [=y]


vim +148 drivers/misc/esp32-ipc.c

e4dbf9ea0a4eca Max Filippov 2023-08-11  143  
e4dbf9ea0a4eca Max Filippov 2023-08-11  144  static int init_hw(struct platform_device *pdev, struct esp32_ipc *hw)
e4dbf9ea0a4eca Max Filippov 2023-08-11  145  {
e4dbf9ea0a4eca Max Filippov 2023-08-11  146  	void __user *p;
e4dbf9ea0a4eca Max Filippov 2023-08-11  147  
e4dbf9ea0a4eca Max Filippov 2023-08-11 @148  	p = devm_of_iomap(&pdev->dev, pdev->dev.of_node, 0, NULL);
e4dbf9ea0a4eca Max Filippov 2023-08-11  149  	if (IS_ERR(p))
e4dbf9ea0a4eca Max Filippov 2023-08-11  150  		return PTR_ERR(p);
e4dbf9ea0a4eca Max Filippov 2023-08-11  151  	hw->hw_q = (void *)readl(p);
e4dbf9ea0a4eca Max Filippov 2023-08-11 @152  	devm_iounmap(&pdev->dev, p);
e4dbf9ea0a4eca Max Filippov 2023-08-11  153  
e4dbf9ea0a4eca Max Filippov 2023-08-11  154  	hw->regs = devm_of_iomap(&pdev->dev, pdev->dev.of_node, 1, NULL);
e4dbf9ea0a4eca Max Filippov 2023-08-11  155  	if (IS_ERR(hw->regs))
e4dbf9ea0a4eca Max Filippov 2023-08-11  156  		return PTR_ERR(hw->regs);
e4dbf9ea0a4eca Max Filippov 2023-08-11  157  
e4dbf9ea0a4eca Max Filippov 2023-08-11  158  	dev_dbg(&pdev->dev, "%s: regs = %p, queues = %p\n",
e4dbf9ea0a4eca Max Filippov 2023-08-11  159  		__func__, hw->regs, hw->hw_q);
e4dbf9ea0a4eca Max Filippov 2023-08-11  160  	if (hw->hw_q) {
e4dbf9ea0a4eca Max Filippov 2023-08-11  161  		u32 i;
e4dbf9ea0a4eca Max Filippov 2023-08-11  162  
e4dbf9ea0a4eca Max Filippov 2023-08-11  163  		for (i = 0; i < 2; ++i) {
e4dbf9ea0a4eca Max Filippov 2023-08-11  164  			dev_dbg(&pdev->dev, "%s: queue %d: offset = %d, mask = %x\n",
e4dbf9ea0a4eca Max Filippov 2023-08-11  165  				__func__, i,
e4dbf9ea0a4eca Max Filippov 2023-08-11  166  				hw->hw_q[i].offset,
e4dbf9ea0a4eca Max Filippov 2023-08-11  167  				hw->hw_q[i].mask);
e4dbf9ea0a4eca Max Filippov 2023-08-11  168  		}
e4dbf9ea0a4eca Max Filippov 2023-08-11  169  	} else {
e4dbf9ea0a4eca Max Filippov 2023-08-11  170  		return -ENODEV;
e4dbf9ea0a4eca Max Filippov 2023-08-11  171  	}
e4dbf9ea0a4eca Max Filippov 2023-08-11  172  
e4dbf9ea0a4eca Max Filippov 2023-08-11  173  	hw->irq = platform_get_irq(pdev, 0);
e4dbf9ea0a4eca Max Filippov 2023-08-11  174  	if (hw->irq >= 0) {
e4dbf9ea0a4eca Max Filippov 2023-08-11  175  		int ret;
e4dbf9ea0a4eca Max Filippov 2023-08-11  176  
e4dbf9ea0a4eca Max Filippov 2023-08-11  177  		ret = devm_request_threaded_irq(&pdev->dev, hw->irq,
e4dbf9ea0a4eca Max Filippov 2023-08-11  178  						esp32_ipc_irq_handler,
e4dbf9ea0a4eca Max Filippov 2023-08-11  179  						esp32_ipc_thread_handler,
e4dbf9ea0a4eca Max Filippov 2023-08-11  180  						IRQF_SHARED, pdev->name, hw);
e4dbf9ea0a4eca Max Filippov 2023-08-11  181  		if (ret < 0) {
e4dbf9ea0a4eca Max Filippov 2023-08-11  182  			dev_err(&pdev->dev, "request_irq %d failed\n", hw->irq);
e4dbf9ea0a4eca Max Filippov 2023-08-11  183  			return ret;
e4dbf9ea0a4eca Max Filippov 2023-08-11  184  		}
e4dbf9ea0a4eca Max Filippov 2023-08-11  185  	} else {
e4dbf9ea0a4eca Max Filippov 2023-08-11  186  		dev_err(&pdev->dev, "missing IRQ property\n");
e4dbf9ea0a4eca Max Filippov 2023-08-11  187  		return -ENODEV;
e4dbf9ea0a4eca Max Filippov 2023-08-11  188  	}
e4dbf9ea0a4eca Max Filippov 2023-08-11  189  
e4dbf9ea0a4eca Max Filippov 2023-08-11  190  	return 0;
e4dbf9ea0a4eca Max Filippov 2023-08-11  191  }
e4dbf9ea0a4eca Max Filippov 2023-08-11  192  

:::::: The code at line 148 was first introduced by commit
:::::: e4dbf9ea0a4ecaa2b6aef8d6e5fb345d36c55643 misc/esp32-ipc: introduce generic IPC for ESP32

:::::: TO: Max Filippov <jcmvbkbc@gmail.com>
:::::: CC: Max Filippov <jcmvbkbc@gmail.com>

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-08-30 20:33 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-30 20:31 [jcmvbkbc-xtensa:xtensa-6.5-esp32 24/34] drivers/misc/esp32-ipc.c:148: undefined reference to `devm_of_iomap' kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.