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

From: Leon Romanovsky <[email-masked]>
Date: Tue, 10 Jan 2023 10:38:47 +0200

On Sat, Jan 07, 2023 at 07:02:00PM -0800, Ajit Khaparde wrote:
> 
> Ajit Khaparde <[email-masked]>
> 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 <[email-masked]>