All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Md Sadre Alam <quic_mdalam@quicinc.com>,
	broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org,
	conor+dt@kernel.org, andersson@kernel.org,
	konradybcio@kernel.org, miquel.raynal@bootlin.com,
	richard@nod.at, vigneshr@ti.com,
	manivannan.sadhasivam@linaro.org, esben@geanix.com,
	linux-arm-msm@vger.kernel.org, linux-spi@vger.kernel.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mtd@lists.infradead.org
Cc: oe-kbuild-all@lists.linux.dev, quic_mdalam@quicinc.com,
	quic_varada@quicinc.com, quic_srichara@quicinc.com
Subject: Re: [PATCH v9 6/8] spi: spi-qpic: add driver for QCOM SPI NAND flash Interface
Date: Sat, 14 Sep 2024 19:42:53 +0800	[thread overview]
Message-ID: <202409141932.JyCSfNIc-lkp@intel.com> (raw)
In-Reply-To: <20240912061503.3468147-7-quic_mdalam@quicinc.com>

Hi Md,

kernel test robot noticed the following build errors:

[auto build test ERROR on mtd/nand/next]
[also build test ERROR on broonie-spi/for-next robh/for-next linus/master v6.11-rc7 next-20240913]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Md-Sadre-Alam/spi-dt-bindings-Introduce-qcom-spi-qpic-snand/20240912-141925
base:   https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git nand/next
patch link:    https://lore.kernel.org/r/20240912061503.3468147-7-quic_mdalam%40quicinc.com
patch subject: [PATCH v9 6/8] spi: spi-qpic: add driver for QCOM SPI NAND flash Interface
config: arm64-randconfig-r063-20240914 (https://download.01.org/0day-ci/archive/20240914/202409141932.JyCSfNIc-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 14.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240914/202409141932.JyCSfNIc-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/202409141932.JyCSfNIc-lkp@intel.com/

All errors (new ones prefixed by >>):

   aarch64-linux-ld: Unexpected GOT/PLT entries detected!
   aarch64-linux-ld: Unexpected run-time procedure linkages detected!
   aarch64-linux-ld: drivers/spi/spi-qpic-snand.o: in function `qcom_spi_remove':
>> drivers/spi/spi-qpic-snand.c:1597:(.text+0x1f8): undefined reference to `qcom_nandc_unalloc'
   aarch64-linux-ld: drivers/spi/spi-qpic-snand.o: in function `qcom_spi_probe':
>> drivers/spi/spi-qpic-snand.c:1540:(.text+0x680): undefined reference to `qcom_nandc_alloc'
   aarch64-linux-ld: drivers/spi/spi-qpic-snand.o: in function `qcom_spi_init':
>> drivers/spi/spi-qpic-snand.c:192:(.text+0x6d0): undefined reference to `qcom_write_reg_dma'
>> aarch64-linux-ld: drivers/spi/spi-qpic-snand.c:197:(.text+0x6f4): undefined reference to `qcom_write_reg_dma'
   aarch64-linux-ld: drivers/spi/spi-qpic-snand.c:199:(.text+0x710): undefined reference to `qcom_write_reg_dma'
   aarch64-linux-ld: drivers/spi/spi-qpic-snand.c:200:(.text+0x72c): undefined reference to `qcom_write_reg_dma'
>> aarch64-linux-ld: drivers/spi/spi-qpic-snand.c:203:(.text+0x734): undefined reference to `qcom_submit_descs'
   aarch64-linux-ld: drivers/spi/spi-qpic-snand.o: in function `qcom_spi_probe':
   drivers/spi/spi-qpic-snand.c:1576:(.text+0x754): undefined reference to `qcom_nandc_unalloc'
   aarch64-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_submit_wmt_recv_urb':
   drivers/bluetooth/btmtk.c:531:(.text+0x928): undefined reference to `usb_alloc_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:537:(.text+0x958): undefined reference to `usb_free_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:550:(.text+0x998): undefined reference to `usb_free_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:561:(.text+0x9ec): undefined reference to `usb_anchor_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:562:(.text+0x9f8): undefined reference to `usb_submit_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:567:(.text+0xa3c): undefined reference to `usb_unanchor_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:570:(.text+0xa44): undefined reference to `usb_free_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_submit_intr_urb':
   drivers/bluetooth/btmtk.c:1174:(.text+0xab4): undefined reference to `usb_alloc_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:1181:(.text+0xadc): undefined reference to `usb_free_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:1195:(.text+0xb94): undefined reference to `usb_anchor_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:1197:(.text+0xba0): undefined reference to `usb_submit_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:1202:(.text+0xbe4): undefined reference to `usb_unanchor_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:1205:(.text+0xbec): undefined reference to `usb_free_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_suspend':
   drivers/bluetooth/btmtk.c:1265:(.text+0xce0): undefined reference to `usb_kill_anchored_urbs'
   aarch64-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_hci_wmt_sync':
   drivers/bluetooth/btmtk.c:610:(.text+0xdc0): undefined reference to `usb_autopm_get_interface'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:618:(.text+0xe24): undefined reference to `usb_autopm_put_interface'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:625:(.text+0xe3c): undefined reference to `usb_autopm_put_interface'
   aarch64-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_recv_acl':
   drivers/bluetooth/btmtk.c:946:(.text+0x13a0): undefined reference to `usb_disable_autosuspend'
   aarch64-linux-ld: drivers/bluetooth/btmtk.o: in function `__set_mtk_intr_interface':
   drivers/bluetooth/btmtk.c:991:(.text+0x14c8): undefined reference to `usb_set_interface'
   aarch64-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_isointf_init':
   drivers/bluetooth/btmtk.c:1224:(.text+0x15d8): undefined reference to `usb_kill_anchored_urbs'
   aarch64-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_wmt_recv':
   drivers/bluetooth/btmtk.c:508:(.text+0x1884): undefined reference to `usb_anchor_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:509:(.text+0x1890): undefined reference to `usb_submit_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:518:(.text+0x18dc): undefined reference to `usb_unanchor_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.o: in function `alloc_mtk_intr_urb':
   drivers/bluetooth/btmtk.c:1037:(.text+0x1958): undefined reference to `usb_alloc_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_reg_read':
   drivers/bluetooth/btmtk.c:790:(.text+0x1af0): undefined reference to `usb_control_msg'
   aarch64-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_uhw_reg_write':
   drivers/bluetooth/btmtk.c:738:(.text+0x1bd0): undefined reference to `usb_control_msg'
   aarch64-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_uhw_reg_read':
   drivers/bluetooth/btmtk.c:761:(.text+0x1cbc): undefined reference to `usb_control_msg'
   aarch64-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_intr_complete':
   drivers/bluetooth/btmtk.c:1145:(.text+0x1f48): undefined reference to `usb_anchor_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:1147:(.text+0x1f54): undefined reference to `usb_submit_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:1157:(.text+0x1fb4): undefined reference to `usb_unanchor_urb'


vim +1597 drivers/spi/spi-qpic-snand.c

  1463	
  1464	static int qcom_spi_probe(struct platform_device *pdev)
  1465	{
  1466		struct device *dev = &pdev->dev;
  1467		struct spi_controller *ctlr;
  1468		struct qcom_nand_controller *snandc;
  1469		struct qpic_spi_nand *qspi;
  1470		struct qpic_ecc *ecc;
  1471		struct resource *res;
  1472		const void *dev_data;
  1473		int ret;
  1474	
  1475		ecc = devm_kzalloc(dev, sizeof(*ecc), GFP_KERNEL);
  1476		if (!ecc)
  1477			return -ENOMEM;
  1478	
  1479		qspi = devm_kzalloc(dev, sizeof(*qspi), GFP_KERNEL);
  1480		if (!qspi)
  1481			return -ENOMEM;
  1482	
  1483		ctlr = __devm_spi_alloc_controller(dev, sizeof(*snandc), false);
  1484		if (!ctlr)
  1485			return -ENOMEM;
  1486	
  1487		platform_set_drvdata(pdev, ctlr);
  1488	
  1489		snandc = spi_controller_get_devdata(ctlr);
  1490		qspi->snandc = snandc;
  1491	
  1492		snandc->dev = dev;
  1493		snandc->qspi = qspi;
  1494		snandc->qspi->ctlr = ctlr;
  1495		snandc->qspi->ecc = ecc;
  1496	
  1497		dev_data = of_device_get_match_data(dev);
  1498		if (!dev_data) {
  1499			dev_err(&pdev->dev, "failed to get device data\n");
  1500			return -ENODEV;
  1501		}
  1502	
  1503		snandc->props = dev_data;
  1504		snandc->dev = &pdev->dev;
  1505	
  1506		snandc->core_clk = devm_clk_get(dev, "core");
  1507		if (IS_ERR(snandc->core_clk))
  1508			return PTR_ERR(snandc->core_clk);
  1509	
  1510		snandc->aon_clk = devm_clk_get(dev, "aon");
  1511		if (IS_ERR(snandc->aon_clk))
  1512			return PTR_ERR(snandc->aon_clk);
  1513	
  1514		snandc->qspi->iomacro_clk = devm_clk_get(dev, "iom");
  1515		if (IS_ERR(snandc->qspi->iomacro_clk))
  1516			return PTR_ERR(snandc->qspi->iomacro_clk);
  1517	
  1518		snandc->base = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
  1519		if (IS_ERR(snandc->base))
  1520			return PTR_ERR(snandc->base);
  1521	
  1522		snandc->base_phys = res->start;
  1523		snandc->base_dma = dma_map_resource(dev, res->start, resource_size(res),
  1524						    DMA_BIDIRECTIONAL, 0);
  1525		if (dma_mapping_error(dev, snandc->base_dma))
  1526			return -ENXIO;
  1527	
  1528		ret = clk_prepare_enable(snandc->core_clk);
  1529		if (ret)
  1530			goto err_dis_core_clk;
  1531	
  1532		ret = clk_prepare_enable(snandc->aon_clk);
  1533		if (ret)
  1534			goto err_dis_aon_clk;
  1535	
  1536		ret = clk_prepare_enable(snandc->qspi->iomacro_clk);
  1537		if (ret)
  1538			goto err_dis_iom_clk;
  1539	
> 1540		ret = qcom_nandc_alloc(snandc);
  1541		if (ret)
  1542			goto err_snand_alloc;
  1543	
  1544		ret = qcom_spi_init(snandc);
  1545		if (ret)
  1546			goto err_spi_init;
  1547	
  1548		/* setup ECC engine */
  1549		snandc->qspi->ecc_eng.dev = &pdev->dev;
  1550		snandc->qspi->ecc_eng.integration = NAND_ECC_ENGINE_INTEGRATION_PIPELINED;
  1551		snandc->qspi->ecc_eng.ops = &qcom_spi_ecc_engine_ops_pipelined;
  1552		snandc->qspi->ecc_eng.priv = snandc;
  1553	
  1554		ret = nand_ecc_register_on_host_hw_engine(&snandc->qspi->ecc_eng);
  1555		if (ret) {
  1556			dev_err(&pdev->dev, "failed to register ecc engine:%d\n", ret);
  1557			goto err_spi_init;
  1558		}
  1559	
  1560		ctlr->num_chipselect = QPIC_QSPI_NUM_CS;
  1561		ctlr->mem_ops = &qcom_spi_mem_ops;
  1562		ctlr->mem_caps = &qcom_spi_mem_caps;
  1563		ctlr->dev.of_node = pdev->dev.of_node;
  1564		ctlr->mode_bits = SPI_TX_DUAL | SPI_RX_DUAL |
  1565				    SPI_TX_QUAD | SPI_RX_QUAD;
  1566	
  1567		ret = spi_register_controller(ctlr);
  1568		if (ret) {
  1569			dev_err(&pdev->dev, "spi_register_controller failed.\n");
  1570			goto err_spi_init;
  1571		}
  1572	
  1573		return 0;
  1574	
  1575	err_spi_init:
  1576		qcom_nandc_unalloc(snandc);
  1577	err_snand_alloc:
  1578		clk_disable_unprepare(snandc->qspi->iomacro_clk);
  1579	err_dis_iom_clk:
  1580		clk_disable_unprepare(snandc->aon_clk);
  1581	err_dis_aon_clk:
  1582		clk_disable_unprepare(snandc->core_clk);
  1583	err_dis_core_clk:
  1584		dma_unmap_resource(dev, res->start, resource_size(res),
  1585				   DMA_BIDIRECTIONAL, 0);
  1586		return ret;
  1587	}
  1588	
  1589	static void qcom_spi_remove(struct platform_device *pdev)
  1590	{
  1591		struct spi_controller *ctlr = platform_get_drvdata(pdev);
  1592		struct qcom_nand_controller *snandc = spi_controller_get_devdata(ctlr);
  1593		struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
  1594	
  1595		spi_unregister_controller(ctlr);
  1596	
> 1597		qcom_nandc_unalloc(snandc);
  1598	
  1599		clk_disable_unprepare(snandc->aon_clk);
  1600		clk_disable_unprepare(snandc->core_clk);
  1601		clk_disable_unprepare(snandc->qspi->iomacro_clk);
  1602	
  1603		dma_unmap_resource(&pdev->dev, snandc->base_dma, resource_size(res),
  1604				   DMA_BIDIRECTIONAL, 0);
  1605	}
  1606	

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

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Md Sadre Alam <quic_mdalam@quicinc.com>,
	broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org,
	conor+dt@kernel.org, andersson@kernel.org,
	konradybcio@kernel.org, miquel.raynal@bootlin.com,
	richard@nod.at, vigneshr@ti.com,
	manivannan.sadhasivam@linaro.org, esben@geanix.com,
	linux-arm-msm@vger.kernel.org, linux-spi@vger.kernel.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mtd@lists.infradead.org
Cc: oe-kbuild-all@lists.linux.dev, quic_mdalam@quicinc.com,
	quic_varada@quicinc.com, quic_srichara@quicinc.com
Subject: Re: [PATCH v9 6/8] spi: spi-qpic: add driver for QCOM SPI NAND flash Interface
Date: Sat, 14 Sep 2024 19:42:53 +0800	[thread overview]
Message-ID: <202409141932.JyCSfNIc-lkp@intel.com> (raw)
In-Reply-To: <20240912061503.3468147-7-quic_mdalam@quicinc.com>

Hi Md,

kernel test robot noticed the following build errors:

[auto build test ERROR on mtd/nand/next]
[also build test ERROR on broonie-spi/for-next robh/for-next linus/master v6.11-rc7 next-20240913]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Md-Sadre-Alam/spi-dt-bindings-Introduce-qcom-spi-qpic-snand/20240912-141925
base:   https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git nand/next
patch link:    https://lore.kernel.org/r/20240912061503.3468147-7-quic_mdalam%40quicinc.com
patch subject: [PATCH v9 6/8] spi: spi-qpic: add driver for QCOM SPI NAND flash Interface
config: arm64-randconfig-r063-20240914 (https://download.01.org/0day-ci/archive/20240914/202409141932.JyCSfNIc-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 14.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240914/202409141932.JyCSfNIc-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/202409141932.JyCSfNIc-lkp@intel.com/

All errors (new ones prefixed by >>):

   aarch64-linux-ld: Unexpected GOT/PLT entries detected!
   aarch64-linux-ld: Unexpected run-time procedure linkages detected!
   aarch64-linux-ld: drivers/spi/spi-qpic-snand.o: in function `qcom_spi_remove':
>> drivers/spi/spi-qpic-snand.c:1597:(.text+0x1f8): undefined reference to `qcom_nandc_unalloc'
   aarch64-linux-ld: drivers/spi/spi-qpic-snand.o: in function `qcom_spi_probe':
>> drivers/spi/spi-qpic-snand.c:1540:(.text+0x680): undefined reference to `qcom_nandc_alloc'
   aarch64-linux-ld: drivers/spi/spi-qpic-snand.o: in function `qcom_spi_init':
>> drivers/spi/spi-qpic-snand.c:192:(.text+0x6d0): undefined reference to `qcom_write_reg_dma'
>> aarch64-linux-ld: drivers/spi/spi-qpic-snand.c:197:(.text+0x6f4): undefined reference to `qcom_write_reg_dma'
   aarch64-linux-ld: drivers/spi/spi-qpic-snand.c:199:(.text+0x710): undefined reference to `qcom_write_reg_dma'
   aarch64-linux-ld: drivers/spi/spi-qpic-snand.c:200:(.text+0x72c): undefined reference to `qcom_write_reg_dma'
>> aarch64-linux-ld: drivers/spi/spi-qpic-snand.c:203:(.text+0x734): undefined reference to `qcom_submit_descs'
   aarch64-linux-ld: drivers/spi/spi-qpic-snand.o: in function `qcom_spi_probe':
   drivers/spi/spi-qpic-snand.c:1576:(.text+0x754): undefined reference to `qcom_nandc_unalloc'
   aarch64-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_submit_wmt_recv_urb':
   drivers/bluetooth/btmtk.c:531:(.text+0x928): undefined reference to `usb_alloc_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:537:(.text+0x958): undefined reference to `usb_free_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:550:(.text+0x998): undefined reference to `usb_free_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:561:(.text+0x9ec): undefined reference to `usb_anchor_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:562:(.text+0x9f8): undefined reference to `usb_submit_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:567:(.text+0xa3c): undefined reference to `usb_unanchor_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:570:(.text+0xa44): undefined reference to `usb_free_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_submit_intr_urb':
   drivers/bluetooth/btmtk.c:1174:(.text+0xab4): undefined reference to `usb_alloc_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:1181:(.text+0xadc): undefined reference to `usb_free_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:1195:(.text+0xb94): undefined reference to `usb_anchor_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:1197:(.text+0xba0): undefined reference to `usb_submit_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:1202:(.text+0xbe4): undefined reference to `usb_unanchor_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:1205:(.text+0xbec): undefined reference to `usb_free_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_suspend':
   drivers/bluetooth/btmtk.c:1265:(.text+0xce0): undefined reference to `usb_kill_anchored_urbs'
   aarch64-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_hci_wmt_sync':
   drivers/bluetooth/btmtk.c:610:(.text+0xdc0): undefined reference to `usb_autopm_get_interface'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:618:(.text+0xe24): undefined reference to `usb_autopm_put_interface'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:625:(.text+0xe3c): undefined reference to `usb_autopm_put_interface'
   aarch64-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_recv_acl':
   drivers/bluetooth/btmtk.c:946:(.text+0x13a0): undefined reference to `usb_disable_autosuspend'
   aarch64-linux-ld: drivers/bluetooth/btmtk.o: in function `__set_mtk_intr_interface':
   drivers/bluetooth/btmtk.c:991:(.text+0x14c8): undefined reference to `usb_set_interface'
   aarch64-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_isointf_init':
   drivers/bluetooth/btmtk.c:1224:(.text+0x15d8): undefined reference to `usb_kill_anchored_urbs'
   aarch64-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_wmt_recv':
   drivers/bluetooth/btmtk.c:508:(.text+0x1884): undefined reference to `usb_anchor_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:509:(.text+0x1890): undefined reference to `usb_submit_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:518:(.text+0x18dc): undefined reference to `usb_unanchor_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.o: in function `alloc_mtk_intr_urb':
   drivers/bluetooth/btmtk.c:1037:(.text+0x1958): undefined reference to `usb_alloc_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_reg_read':
   drivers/bluetooth/btmtk.c:790:(.text+0x1af0): undefined reference to `usb_control_msg'
   aarch64-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_uhw_reg_write':
   drivers/bluetooth/btmtk.c:738:(.text+0x1bd0): undefined reference to `usb_control_msg'
   aarch64-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_uhw_reg_read':
   drivers/bluetooth/btmtk.c:761:(.text+0x1cbc): undefined reference to `usb_control_msg'
   aarch64-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_intr_complete':
   drivers/bluetooth/btmtk.c:1145:(.text+0x1f48): undefined reference to `usb_anchor_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:1147:(.text+0x1f54): undefined reference to `usb_submit_urb'
   aarch64-linux-ld: drivers/bluetooth/btmtk.c:1157:(.text+0x1fb4): undefined reference to `usb_unanchor_urb'


vim +1597 drivers/spi/spi-qpic-snand.c

  1463	
  1464	static int qcom_spi_probe(struct platform_device *pdev)
  1465	{
  1466		struct device *dev = &pdev->dev;
  1467		struct spi_controller *ctlr;
  1468		struct qcom_nand_controller *snandc;
  1469		struct qpic_spi_nand *qspi;
  1470		struct qpic_ecc *ecc;
  1471		struct resource *res;
  1472		const void *dev_data;
  1473		int ret;
  1474	
  1475		ecc = devm_kzalloc(dev, sizeof(*ecc), GFP_KERNEL);
  1476		if (!ecc)
  1477			return -ENOMEM;
  1478	
  1479		qspi = devm_kzalloc(dev, sizeof(*qspi), GFP_KERNEL);
  1480		if (!qspi)
  1481			return -ENOMEM;
  1482	
  1483		ctlr = __devm_spi_alloc_controller(dev, sizeof(*snandc), false);
  1484		if (!ctlr)
  1485			return -ENOMEM;
  1486	
  1487		platform_set_drvdata(pdev, ctlr);
  1488	
  1489		snandc = spi_controller_get_devdata(ctlr);
  1490		qspi->snandc = snandc;
  1491	
  1492		snandc->dev = dev;
  1493		snandc->qspi = qspi;
  1494		snandc->qspi->ctlr = ctlr;
  1495		snandc->qspi->ecc = ecc;
  1496	
  1497		dev_data = of_device_get_match_data(dev);
  1498		if (!dev_data) {
  1499			dev_err(&pdev->dev, "failed to get device data\n");
  1500			return -ENODEV;
  1501		}
  1502	
  1503		snandc->props = dev_data;
  1504		snandc->dev = &pdev->dev;
  1505	
  1506		snandc->core_clk = devm_clk_get(dev, "core");
  1507		if (IS_ERR(snandc->core_clk))
  1508			return PTR_ERR(snandc->core_clk);
  1509	
  1510		snandc->aon_clk = devm_clk_get(dev, "aon");
  1511		if (IS_ERR(snandc->aon_clk))
  1512			return PTR_ERR(snandc->aon_clk);
  1513	
  1514		snandc->qspi->iomacro_clk = devm_clk_get(dev, "iom");
  1515		if (IS_ERR(snandc->qspi->iomacro_clk))
  1516			return PTR_ERR(snandc->qspi->iomacro_clk);
  1517	
  1518		snandc->base = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
  1519		if (IS_ERR(snandc->base))
  1520			return PTR_ERR(snandc->base);
  1521	
  1522		snandc->base_phys = res->start;
  1523		snandc->base_dma = dma_map_resource(dev, res->start, resource_size(res),
  1524						    DMA_BIDIRECTIONAL, 0);
  1525		if (dma_mapping_error(dev, snandc->base_dma))
  1526			return -ENXIO;
  1527	
  1528		ret = clk_prepare_enable(snandc->core_clk);
  1529		if (ret)
  1530			goto err_dis_core_clk;
  1531	
  1532		ret = clk_prepare_enable(snandc->aon_clk);
  1533		if (ret)
  1534			goto err_dis_aon_clk;
  1535	
  1536		ret = clk_prepare_enable(snandc->qspi->iomacro_clk);
  1537		if (ret)
  1538			goto err_dis_iom_clk;
  1539	
> 1540		ret = qcom_nandc_alloc(snandc);
  1541		if (ret)
  1542			goto err_snand_alloc;
  1543	
  1544		ret = qcom_spi_init(snandc);
  1545		if (ret)
  1546			goto err_spi_init;
  1547	
  1548		/* setup ECC engine */
  1549		snandc->qspi->ecc_eng.dev = &pdev->dev;
  1550		snandc->qspi->ecc_eng.integration = NAND_ECC_ENGINE_INTEGRATION_PIPELINED;
  1551		snandc->qspi->ecc_eng.ops = &qcom_spi_ecc_engine_ops_pipelined;
  1552		snandc->qspi->ecc_eng.priv = snandc;
  1553	
  1554		ret = nand_ecc_register_on_host_hw_engine(&snandc->qspi->ecc_eng);
  1555		if (ret) {
  1556			dev_err(&pdev->dev, "failed to register ecc engine:%d\n", ret);
  1557			goto err_spi_init;
  1558		}
  1559	
  1560		ctlr->num_chipselect = QPIC_QSPI_NUM_CS;
  1561		ctlr->mem_ops = &qcom_spi_mem_ops;
  1562		ctlr->mem_caps = &qcom_spi_mem_caps;
  1563		ctlr->dev.of_node = pdev->dev.of_node;
  1564		ctlr->mode_bits = SPI_TX_DUAL | SPI_RX_DUAL |
  1565				    SPI_TX_QUAD | SPI_RX_QUAD;
  1566	
  1567		ret = spi_register_controller(ctlr);
  1568		if (ret) {
  1569			dev_err(&pdev->dev, "spi_register_controller failed.\n");
  1570			goto err_spi_init;
  1571		}
  1572	
  1573		return 0;
  1574	
  1575	err_spi_init:
  1576		qcom_nandc_unalloc(snandc);
  1577	err_snand_alloc:
  1578		clk_disable_unprepare(snandc->qspi->iomacro_clk);
  1579	err_dis_iom_clk:
  1580		clk_disable_unprepare(snandc->aon_clk);
  1581	err_dis_aon_clk:
  1582		clk_disable_unprepare(snandc->core_clk);
  1583	err_dis_core_clk:
  1584		dma_unmap_resource(dev, res->start, resource_size(res),
  1585				   DMA_BIDIRECTIONAL, 0);
  1586		return ret;
  1587	}
  1588	
  1589	static void qcom_spi_remove(struct platform_device *pdev)
  1590	{
  1591		struct spi_controller *ctlr = platform_get_drvdata(pdev);
  1592		struct qcom_nand_controller *snandc = spi_controller_get_devdata(ctlr);
  1593		struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
  1594	
  1595		spi_unregister_controller(ctlr);
  1596	
> 1597		qcom_nandc_unalloc(snandc);
  1598	
  1599		clk_disable_unprepare(snandc->aon_clk);
  1600		clk_disable_unprepare(snandc->core_clk);
  1601		clk_disable_unprepare(snandc->qspi->iomacro_clk);
  1602	
  1603		dma_unmap_resource(&pdev->dev, snandc->base_dma, resource_size(res),
  1604				   DMA_BIDIRECTIONAL, 0);
  1605	}
  1606	

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

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

  parent reply	other threads:[~2024-09-14 11:43 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-12  6:14 [PATCH v9 0/8] Add QPIC SPI NAND driver Md Sadre Alam
2024-09-12  6:14 ` Md Sadre Alam
2024-09-12  6:14 ` [PATCH v9 1/8] spi: dt-bindings: Introduce qcom,spi-qpic-snand Md Sadre Alam
2024-09-12  6:14   ` Md Sadre Alam
2024-09-12  6:14 ` [PATCH v9 2/8] mtd: rawnand: qcom: cleanup qcom_nandc driver Md Sadre Alam
2024-09-12  6:14   ` Md Sadre Alam
2024-09-12  6:14 ` [PATCH v9 3/8] mtd: rawnand: qcom: Add qcom prefix to common api Md Sadre Alam
2024-09-12  6:14   ` Md Sadre Alam
2024-09-12  6:14 ` [PATCH v9 4/8] mtd: nand: Add qpic_common API file Md Sadre Alam
2024-09-12  6:14   ` Md Sadre Alam
2024-09-12  6:15 ` [PATCH v9 5/8] mtd: rawnand: qcom: use FIELD_PREP and GENMASK Md Sadre Alam
2024-09-12  6:15   ` Md Sadre Alam
2024-09-12  6:15 ` [PATCH v9 6/8] spi: spi-qpic: add driver for QCOM SPI NAND flash Interface Md Sadre Alam
2024-09-12  6:15   ` Md Sadre Alam
2024-09-13  9:22   ` kernel test robot
2024-09-13  9:22     ` kernel test robot
2024-09-14 11:42   ` kernel test robot [this message]
2024-09-14 11:42     ` kernel test robot
2024-09-12  6:15 ` [PATCH v9 7/8] arm64: dts: qcom: ipq9574: Add SPI nand support Md Sadre Alam
2024-09-12  6:15   ` Md Sadre Alam
2024-09-12  6:15 ` [PATCH v9 8/8] arm64: dts: qcom: ipq9574: Disable eMMC node Md Sadre Alam
2024-09-12  6:15   ` Md Sadre Alam

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202409141932.JyCSfNIc-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=andersson@kernel.org \
    --cc=broonie@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=esben@geanix.com \
    --cc=konradybcio@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=manivannan.sadhasivam@linaro.org \
    --cc=miquel.raynal@bootlin.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=quic_mdalam@quicinc.com \
    --cc=quic_srichara@quicinc.com \
    --cc=quic_varada@quicinc.com \
    --cc=richard@nod.at \
    --cc=robh@kernel.org \
    --cc=vigneshr@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.