On Tue, Jul 23, 2019 at 10:43:39AM +0300, 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. > > > > > 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 > > +++ 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. It is tricky. It is asserting that the IB side is built as a module if the ethernet side is a module.. It is kind of a weird pattern as the module config is INFINIBAND_HNS and these others are just bool opens what to include, but I think it is OK.. Jason