mlx5e_dev
struct mlx5e_dev *mlx5e_create_devlink(struct device *dev,
struct mlx5e_dev *mlx5e_dev;
devlink = devlink_alloc_ns(&mlx5e_devlink_ops, sizeof(*mlx5e_dev),
void mlx5e_destroy_devlink(struct mlx5e_dev *mlx5e_dev)
struct devlink *devlink = priv_to_devlink(mlx5e_dev);
int mlx5e_devlink_port_register(struct mlx5e_dev *mlx5e_dev,
struct devlink *devlink = priv_to_devlink(mlx5e_dev);
devlink_port_attrs_set(&mlx5e_dev->dl_port, &attrs);
return devlink_port_register(devlink, &mlx5e_dev->dl_port,
void mlx5e_devlink_port_unregister(struct mlx5e_dev *mlx5e_dev)
devlink_port_unregister(&mlx5e_dev->dl_port);
struct mlx5e_dev *mlx5e_create_devlink(struct device *dev,
void mlx5e_destroy_devlink(struct mlx5e_dev *mlx5e_dev);
int mlx5e_devlink_port_register(struct mlx5e_dev *mlx5e_dev,
void mlx5e_devlink_port_unregister(struct mlx5e_dev *mlx5e_dev);
struct mlx5e_dev *mlx5e_dev = auxiliary_get_drvdata(adev);
struct mlx5e_priv *priv = netdev_priv(mlx5e_dev->netdev);
struct net_device *netdev = mlx5e_dev->netdev;
struct mlx5e_dev *mlx5e_dev = auxiliary_get_drvdata(adev);
struct mlx5e_priv *priv = netdev_priv(mlx5e_dev->netdev);
struct net_device *netdev = mlx5e_dev->netdev;
struct mlx5e_dev *mlx5e_dev;
mlx5e_dev = mlx5e_create_devlink(&adev->dev, mdev);
if (IS_ERR(mlx5e_dev))
return PTR_ERR(mlx5e_dev);
auxiliary_set_drvdata(adev, mlx5e_dev);
err = mlx5e_devlink_port_register(mlx5e_dev, mdev);
SET_NETDEV_DEVLINK_PORT(netdev, &mlx5e_dev->dl_port);
mlx5e_dev->netdev = netdev;
mlx5e_devlink_port_unregister(mlx5e_dev);
mlx5e_destroy_devlink(mlx5e_dev);
struct mlx5e_dev *mlx5e_dev = auxiliary_get_drvdata(adev);
struct net_device *netdev = mlx5e_dev->netdev;
mlx5e_devlink_port_unregister(mlx5e_dev);
mlx5e_destroy_devlink(mlx5e_dev);