On Tue, Jul 23, 2019 at 04:35:40PM +0300, Leon Romanovsky wrote: > On Tue, Jul 23, 2019 at 09:34:02AM -0300, Jason Gunthorpe wrote: > > 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.. > > select ??? select doesn't influence module or not any different from depeends Jason