Re: [PATCH 0/8] Add Auxiliary driver support

From: Leon Romanovsky
Date: Tue Jan 10 2023 - 03:39:47 EST


On Sat, Jan 07, 2023 at 07:02:00PM -0800, Ajit Khaparde wrote:
>
> Ajit Khaparde <ajit.khaparde@xxxxxxxxxxxx>
> Dec 7, 2022, 9:53 AM
> to me, andrew.gospodarek, davem, edumazet, jgg, kuba, leon, linux-kernel, linux-rdma, michael.chan, netdev, pabeni, selvin.xavier
>
> Add auxiliary device driver for Broadcom devices.
> The bnxt_en driver will register and initialize an aux device
> if RDMA is enabled in the underlying device.
> The bnxt_re driver will then probe and initialize the
> RoCE interfaces with the infiniband stack.
>
> We got rid of the bnxt_en_ops which the bnxt_re driver used to
> communicate with bnxt_en.
> Similarly We have tried to clean up most of the bnxt_ulp_ops.
> In most of the cases we used the functions and entry points provided
> by the auxiliary bus driver framework.
> And now these are the minimal functions needed to support the functionality.
>
> We will try to work on getting rid of the remaining if we find any
> other viable option in future.
>
> v1->v2:
> - Incorporated review comments including usage of ulp_id &
> complex function indirections.
> - Used function calls provided by the auxiliary bus interface
> instead of proprietary calls.
> - Refactor code to remove ROCE driver's access to bnxt structure.
>
> v2->v3:
> - Addressed review comments including cleanup of some unnecessary wrappers
> - Fixed warnings seen during cross compilation
>
> v3->v4:
> - Cleaned up bnxt_ulp.c and bnxt_ulp.h further
> - Removed some more dead code
> - Sending the patchset as a standalone series
>
> v4->v5:
> - Removed the SRIOV config callback which bnxt_en driver was calling into
> bnxt_re driver.
> - Removed excessive checks for rdev and other pointers.
>
> v5->v6:
> - Removed excessive checks for dev and other pointers
> - Remove runtime interrupt vector allocation. bnxt_en preallocates
> interrupt vectors for bnxt_re to use.
>
> Please apply. Thanks.
>
> Ajit Khaparde (7):
> bnxt_en: Add auxiliary driver support
> RDMA/bnxt_re: Use auxiliary driver interface
> bnxt_en: Remove usage of ulp_id
> bnxt_en: Use direct API instead of indirection
> bnxt_en: Use auxiliary bus calls over proprietary calls
> RDMA/bnxt_re: Remove the sriov config callback
> bnxt_en: Remove runtime interrupt vector allocation
>
> Hongguang Gao (1):
> bnxt_en: Remove struct bnxt access from RoCE driver
>

Thanks a lot for pursuing it,
Reviewed-by: Leon Romanovsky <leonro@xxxxxxxxxx>