Loading drivers/net/ethernet/mellanox/mlx5/core/devlink.c +0 −1 Original line number Diff line number Diff line Loading @@ -320,7 +320,6 @@ static const struct devlink_ops mlx5_devlink_ops = { #endif #ifdef CONFIG_MLX5_SF_MANAGER .port_new = mlx5_devlink_sf_port_new, .port_del = mlx5_devlink_sf_port_del, #endif .flash_update = mlx5_devlink_flash_update, .info_get = mlx5_devlink_info_get, Loading drivers/net/ethernet/mellanox/mlx5/core/esw/devlink_port.c +3 −0 Original line number Diff line number Diff line Loading @@ -145,6 +145,9 @@ struct devlink_port *mlx5_esw_offloads_devlink_port(struct mlx5_eswitch *esw, u1 } static const struct devlink_port_ops mlx5_esw_dl_sf_port_ops = { #ifdef CONFIG_MLX5_SF_MANAGER .port_del = mlx5_devlink_sf_port_del, #endif .port_fn_hw_addr_get = mlx5_devlink_port_fn_hw_addr_get, .port_fn_hw_addr_set = mlx5_devlink_port_fn_hw_addr_set, .port_fn_roce_get = mlx5_devlink_port_fn_roce_get, Loading include/net/devlink.h +5 −17 Original line number Diff line number Diff line Loading @@ -1447,23 +1447,6 @@ struct devlink_ops { int (*port_new)(struct devlink *devlink, const struct devlink_port_new_attrs *attrs, struct netlink_ext_ack *extack); /** * port_del() - Delete a port function * @devlink: Devlink instance * @port: The devlink port * @extack: extack for reporting error messages * * Devlink core will call this device driver function upon user request * to delete a previously created port function * * Notes: * - On success, drivers must unregister the corresponding devlink * port * * Return: 0 on success, negative value otherwise. */ int (*port_del)(struct devlink *devlink, struct devlink_port *port, struct netlink_ext_ack *extack); /** * Rate control callbacks. Loading Loading @@ -1560,6 +1543,9 @@ void devlink_free(struct devlink *devlink); * @port_unsplit: Callback used to unsplit the port group back into * a single port. * @port_type_set: Callback used to set a type of a port. * @port_del: Callback used to delete selected port along with related function. * Devlink core calls this upon user request to delete * a port previously created by devlink_ops->port_new(). * @port_fn_hw_addr_get: Callback used to set port function's hardware address. * Should be used by device drivers to report * the hardware address of a function managed Loading Loading @@ -1602,6 +1588,8 @@ struct devlink_port_ops { struct netlink_ext_ack *extack); int (*port_type_set)(struct devlink_port *devlink_port, enum devlink_port_type port_type); int (*port_del)(struct devlink *devlink, struct devlink_port *port, struct netlink_ext_ack *extack); int (*port_fn_hw_addr_get)(struct devlink_port *port, u8 *hw_addr, int *hw_addr_len, struct netlink_ext_ack *extack); Loading net/devlink/leftover.c +3 −3 Original line number Diff line number Diff line Loading @@ -1348,7 +1348,7 @@ static int devlink_nl_cmd_port_new_doit(struct sk_buff *skb, struct devlink_port_new_attrs new_attrs = {}; struct devlink *devlink = info->user_ptr[0]; if (!devlink->ops->port_new || !devlink->ops->port_del) if (!devlink->ops->port_new) return -EOPNOTSUPP; if (!info->attrs[DEVLINK_ATTR_PORT_FLAVOUR] || Loading Loading @@ -1387,10 +1387,10 @@ static int devlink_nl_cmd_port_del_doit(struct sk_buff *skb, struct netlink_ext_ack *extack = info->extack; struct devlink *devlink = info->user_ptr[0]; if (!devlink->ops->port_del) if (!devlink_port->ops->port_del) return -EOPNOTSUPP; return devlink->ops->port_del(devlink, devlink_port, extack); return devlink_port->ops->port_del(devlink, devlink_port, extack); } static int Loading Loading
drivers/net/ethernet/mellanox/mlx5/core/devlink.c +0 −1 Original line number Diff line number Diff line Loading @@ -320,7 +320,6 @@ static const struct devlink_ops mlx5_devlink_ops = { #endif #ifdef CONFIG_MLX5_SF_MANAGER .port_new = mlx5_devlink_sf_port_new, .port_del = mlx5_devlink_sf_port_del, #endif .flash_update = mlx5_devlink_flash_update, .info_get = mlx5_devlink_info_get, Loading
drivers/net/ethernet/mellanox/mlx5/core/esw/devlink_port.c +3 −0 Original line number Diff line number Diff line Loading @@ -145,6 +145,9 @@ struct devlink_port *mlx5_esw_offloads_devlink_port(struct mlx5_eswitch *esw, u1 } static const struct devlink_port_ops mlx5_esw_dl_sf_port_ops = { #ifdef CONFIG_MLX5_SF_MANAGER .port_del = mlx5_devlink_sf_port_del, #endif .port_fn_hw_addr_get = mlx5_devlink_port_fn_hw_addr_get, .port_fn_hw_addr_set = mlx5_devlink_port_fn_hw_addr_set, .port_fn_roce_get = mlx5_devlink_port_fn_roce_get, Loading
include/net/devlink.h +5 −17 Original line number Diff line number Diff line Loading @@ -1447,23 +1447,6 @@ struct devlink_ops { int (*port_new)(struct devlink *devlink, const struct devlink_port_new_attrs *attrs, struct netlink_ext_ack *extack); /** * port_del() - Delete a port function * @devlink: Devlink instance * @port: The devlink port * @extack: extack for reporting error messages * * Devlink core will call this device driver function upon user request * to delete a previously created port function * * Notes: * - On success, drivers must unregister the corresponding devlink * port * * Return: 0 on success, negative value otherwise. */ int (*port_del)(struct devlink *devlink, struct devlink_port *port, struct netlink_ext_ack *extack); /** * Rate control callbacks. Loading Loading @@ -1560,6 +1543,9 @@ void devlink_free(struct devlink *devlink); * @port_unsplit: Callback used to unsplit the port group back into * a single port. * @port_type_set: Callback used to set a type of a port. * @port_del: Callback used to delete selected port along with related function. * Devlink core calls this upon user request to delete * a port previously created by devlink_ops->port_new(). * @port_fn_hw_addr_get: Callback used to set port function's hardware address. * Should be used by device drivers to report * the hardware address of a function managed Loading Loading @@ -1602,6 +1588,8 @@ struct devlink_port_ops { struct netlink_ext_ack *extack); int (*port_type_set)(struct devlink_port *devlink_port, enum devlink_port_type port_type); int (*port_del)(struct devlink *devlink, struct devlink_port *port, struct netlink_ext_ack *extack); int (*port_fn_hw_addr_get)(struct devlink_port *port, u8 *hw_addr, int *hw_addr_len, struct netlink_ext_ack *extack); Loading
net/devlink/leftover.c +3 −3 Original line number Diff line number Diff line Loading @@ -1348,7 +1348,7 @@ static int devlink_nl_cmd_port_new_doit(struct sk_buff *skb, struct devlink_port_new_attrs new_attrs = {}; struct devlink *devlink = info->user_ptr[0]; if (!devlink->ops->port_new || !devlink->ops->port_del) if (!devlink->ops->port_new) return -EOPNOTSUPP; if (!info->attrs[DEVLINK_ATTR_PORT_FLAVOUR] || Loading Loading @@ -1387,10 +1387,10 @@ static int devlink_nl_cmd_port_del_doit(struct sk_buff *skb, struct netlink_ext_ack *extack = info->extack; struct devlink *devlink = info->user_ptr[0]; if (!devlink->ops->port_del) if (!devlink_port->ops->port_del) return -EOPNOTSUPP; return devlink->ops->port_del(devlink, devlink_port, extack); return devlink_port->ops->port_del(devlink, devlink_port, extack); } static int Loading