Re: [PATCH] RDMA/hns: Fix build error for hip08

From: Yuehaibing
Date: Tue Jul 23 2019 - 06:06:41 EST



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