Re: [PATCH net-next 07/10] mlx4: Register mlx4 devices to an auxiliary virtual bus

From: Leon Romanovsky
Date: Tue Aug 08 2023 - 15:31:46 EST


On Fri, Aug 04, 2023 at 05:05:24PM +0200, Petr Pavlu wrote:
> Add an auxiliary virtual bus to model the mlx4 driver structure. The
> code is added along the current custom device management logic.
> Subsequent patches switch mlx4_en and mlx4_ib to the auxiliary bus and
> the old interface is then removed.
>
> Structure mlx4_priv gains a new adev dynamic array to keep track of its
> auxiliary devices. Access to the array is protected by the global
> mlx4_intf mutex.
>
> Functions mlx4_register_device() and mlx4_unregister_device() are
> updated to expose auxiliary devices on the bus in order to load mlx4_en
> and/or mlx4_ib. Functions mlx4_register_auxiliary_driver() and
> mlx4_unregister_auxiliary_driver() are added to substitute
> mlx4_register_interface() and mlx4_unregister_interface(), respectively.
> Function mlx4_do_bond() is adjusted to walk over the adev array and
> re-adds a specific auxiliary device if its driver sets the
> MLX4_INTFF_BONDING flag.
>
> Signed-off-by: Petr Pavlu <petr.pavlu@xxxxxxxx>
> Tested-by: Leon Romanovsky <leon@xxxxxxxxxx>
> ---
> drivers/net/ethernet/mellanox/mlx4/Kconfig | 1 +
> drivers/net/ethernet/mellanox/mlx4/intf.c | 230 ++++++++++++++++++++-
> drivers/net/ethernet/mellanox/mlx4/main.c | 17 +-
> drivers/net/ethernet/mellanox/mlx4/mlx4.h | 6 +
> include/linux/mlx4/device.h | 7 +
> include/linux/mlx4/driver.h | 11 +
> 6 files changed, 268 insertions(+), 4 deletions(-)
>

Thanks,
Reviewed-by: Leon Romanovsky <leonro@xxxxxxxxxx>