On 2019/7/23 15:43, Leon Romanovsky wrote: > On Tue, Jul 23, 2019 at 10:49:08AM +0800, YueHaibing wrote: >> If INFINIBAND_HNS_HIP08 is selected and HNS3 is m, >> but INFINIBAND_HNS is y, building fails: >> >> drivers/infiniband/hw/hns/hns_roce_hw_v2.o: In function `hns_roce_hw_v2_exit': >> hns_roce_hw_v2.c:(.exit.text+0xd): undefined reference to `hnae3_unregister_client' >> drivers/infiniband/hw/hns/hns_roce_hw_v2.o: In function `hns_roce_hw_v2_init': >> hns_roce_hw_v2.c:(.init.text+0xd): undefined reference to `hnae3_register_client' > > It means that you have a problem with header files of your hns3. hnae3_unregister_client is a EXPORT_SYMBOL. If INFINIBAND_HNS is y, hns-roce-hw-v2 will be built-in, but as HNS3 is set to m, linking will failed. I can't see how to fix this in header files of hns3, or am I missing something? > >> >> Reported-by: Hulk Robot <hulkci@xxxxxxxxxx> >> Fixes: dd74282df573 ("RDMA/hns: Initialize the PCI device for hip08 RoCE") >> Signed-off-by: YueHaibing <yuehaibing@xxxxxxxxxx> >> --- >> drivers/infiniband/hw/hns/Kconfig | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/infiniband/hw/hns/Kconfig b/drivers/infiniband/hw/hns/Kconfig >> index b59da5d..4371c80 100644 >> --- a/drivers/infiniband/hw/hns/Kconfig >> +++ b/drivers/infiniband/hw/hns/Kconfig >> @@ -23,7 +23,8 @@ config INFINIBAND_HNS_HIP06 >> >> config INFINIBAND_HNS_HIP08 >> bool "Hisilicon Hip08 Family RoCE support" >> - depends on INFINIBAND_HNS && PCI && HNS3 >> + depends on INFINIBAND_HNS && (INFINIBAND_HNS = HNS3) > > This is wrong. > >> + depends on PCI >> ---help--- >> RoCE driver support for Hisilicon RoCE engine in Hisilicon Hip08 SoC. >> The RoCE engine is a PCI device. >> -- >> 2.7.4 >> >> > > . >