bnxt_en: Add auxiliary driver support
authorAjit Khaparde <ajit.khaparde@broadcom.com>
Mon, 7 Mar 2022 04:01:30 +0000 (20:01 -0800)
committerAjit Khaparde <ajit.khaparde@broadcom.com>
Thu, 2 Feb 2023 03:02:06 +0000 (19:02 -0800)
commitd80d88b0dfff5829ab31030692672ba6fe9cde48
tree8b395111b665a92bd5bef46c1bb1d425295d2feb
parent9f266ccaa2f5228bfe67ad58a94ca4e0109b954a
bnxt_en: Add auxiliary driver support

Add auxiliary driver support.
An auxiliary device will be created if the hardware indicates
support for RDMA.
The bnxt_ulp_probe() function has been removed and a new
bnxt_rdma_aux_device_add() function has been added.
The bnxt_free_msix_vecs() and bnxt_req_msix_vecs() will now hold
the RTNL lock when they call the bnxt_close_nic()and bnxt_open_nic()
since the device close and open need to be protected under RTNL lock.
The operations between the bnxt_en and bnxt_re will be protected
using the en_ops_lock.
This will be used by the bnxt_re driver in a follow-on patch
to create ROCE interfaces.

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Andy Gospodarek <andrew.gospodarek@broadcom.com>
Reviewed-by: Selvin Xavier <selvin.xavier@broadcom.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
drivers/net/ethernet/broadcom/Kconfig
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/broadcom/bnxt/bnxt.h
drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c
drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.h