Re: [pci:controller/rockchip 10/11] drivers/pci/controller/dwc/pcie-designware-ep.c:26:undefined reference to `pci_epc_init_notify'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jun 27, 2024 at 02:23:38AM +0800, kernel test robot wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git controller/rockchip
> head:   246afbe0f6fca433d8d918b740719170b1b082cc
> commit: 9b2ba393b3a659a4695691794dc030b6f7744b23 [10/11] PCI: dw-rockchip: Add endpoint mode support
> config: loongarch-randconfig-r081-20240626 (https://download.01.org/0day-ci/archive/20240627/202406270250.k2esVVnL-lkp@xxxxxxxxx/config)
> compiler: loongarch64-linux-gcc (GCC) 13.2.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240627/202406270250.k2esVVnL-lkp@xxxxxxxxx/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@xxxxxxxxx>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202406270250.k2esVVnL-lkp@xxxxxxxxx/
>

Hello Krzysztof,

> All errors (new ones prefixed by >>):
> 
>    loongarch64-linux-ld: drivers/pci/controller/dwc/pcie-designware-ep.o: in function `dw_pcie_ep_init_notify':
> >> drivers/pci/controller/dwc/pcie-designware-ep.c:26:(.text+0x1e4): undefined reference to `pci_epc_init_notify'

Seeing that it is pcie-designware-ep.c that fails to build, I can see the error.
I have forgotten to do:

diff --git a/drivers/pci/controller/dwc/Kconfig b/drivers/pci/controller/dwc/Kconfig
index 9c4fb8ba7573..4c38181acffa 100644
--- a/drivers/pci/controller/dwc/Kconfig
+++ b/drivers/pci/controller/dwc/Kconfig
@@ -329,6 +329,7 @@ config PCIE_ROCKCHIP_DW_EP
        bool "Rockchip DesignWare PCIe controller (endpoint mode)"
        depends on ARCH_ROCKCHIP || COMPILE_TEST
        depends on OF
+       depends on PCI_ENDPOINT
        select PCIE_DW_EP
        select PCIE_ROCKCHIP_DW
        help

(The .config in this build has PCIE_ROCKCHIP_DW_EP selected, but not PCI_ENDPOINT,
which should not be allowed...)

This is my fault, all the other endpoint drivers have a depends on PCI_ENDPOINT.
Will send a patch for this shortly. I'm truly sorry for this mistake.




Looking more closely at the pci/controller/rockchip branch,
I can also see that we have another potential problem:

Commit 7a847796e509 ("PCI: endpoint: Introduce 'epc_deinit' event and notify the EPF drivers"),
which is on branch: pci/endpoint
has introduced a stub (dummy definition) for pci_epc_init_notify.
However, if the test robot builds the pci/controller/rockchip branch with PCIE_ROCKCHIP_DW_HOST
selected, and not PCIE_ROCKCHIP_DW_EP selected, we could get a failure that pci_epc_init_notify()
does not have a stub...

This problem can be solved by cherry-picking 7a847796e509 ("PCI: endpoint: Introduce 'epc_deinit'
event and notify the EPF drivers") to the pci/controller/rockchip branch, or by rebasing the
pci/controller/rockchip branch on top of the pci/endpoint branch... I'm sorry for this too.


Kind regards,
Niklas




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux