From: Leon Romanovsky <leonro@xxxxxxxxxx> Changelog: v2: * kbuild spotted that I didn't delete all code in patch #5, so deleted even more ulp_ops derefences. v1: https://lore.kernel.org/linux-rdma/20210329085212.257771-1-leon@xxxxxxxxxx * Go much deeper and removed useless ULP indirection v0: https://lore.kernel.org/linux-rdma/20210324142524.1135319-1-leon@xxxxxxxxxx ----------------------------------------------------------------------- The following series fixes issue spotted in [1], where bnxt_re driver messed with module reference counting in order to implement symbol dependency of bnxt_re and bnxt modules. All of this is done, when in upstream we have only one ULP user of that bnxt module. The simple declaration of exported symbol would do the trick. This series removes that custom module_get/_put, which is not supposed to be in the driver from the beginning and get rid of nasty indirection logic that isn't relevant for the upstream code. Such small changes allow us to simplify the bnxt code and my hope that Devesh will continue where I stopped and remove struct bnxt_ulp_ops too. Thanks [1] https://lore.kernel.org/linux-rdma/20210324142524.1135319-1-leon@xxxxxxxxxx Leon Romanovsky (5): RDMA/bnxt_re: Depend on bnxt ethernet driver and not blindly select it RDMA/bnxt_re: Create direct symbolic link between bnxt modules RDMA/bnxt_re: Get rid of custom module reference counting net/bnxt: Remove useless check of non-existent ULP id net/bnxt: Use direct API instead of useless indirection drivers/infiniband/hw/bnxt_re/Kconfig | 4 +- drivers/infiniband/hw/bnxt_re/main.c | 93 ++----- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 4 +- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 1 - drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c | 245 +++++++----------- drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.h | 32 +-- 6 files changed, 119 insertions(+), 260 deletions(-) -- 2.30.2