* [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.