mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 22:21:40 +00:00
devlink: move port_split/unsplit() ops into devlink_port_ops
Move port_split/unsplit() from devlink_ops into newly introduced devlink_port_ops. Signed-off-by: Jiri Pirko <jiri@nvidia.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
ab8ccc6c13
commit
f58a3e4dfe
@ -1256,8 +1256,6 @@ static const struct devlink_ops ice_devlink_ops = {
|
||||
BIT(DEVLINK_RELOAD_ACTION_FW_ACTIVATE),
|
||||
.reload_down = ice_devlink_reload_down,
|
||||
.reload_up = ice_devlink_reload_up,
|
||||
.port_split = ice_devlink_port_split,
|
||||
.port_unsplit = ice_devlink_port_unsplit,
|
||||
.eswitch_mode_get = ice_eswitch_mode_get,
|
||||
.eswitch_mode_set = ice_eswitch_mode_set,
|
||||
.info_get = ice_devlink_info_get,
|
||||
@ -1513,6 +1511,8 @@ ice_devlink_set_port_split_options(struct ice_pf *pf,
|
||||
}
|
||||
|
||||
static const struct devlink_port_ops ice_devlink_port_ops = {
|
||||
.port_split = ice_devlink_port_split,
|
||||
.port_unsplit = ice_devlink_port_unsplit,
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -1723,8 +1723,6 @@ static const struct devlink_ops mlxsw_devlink_ops = {
|
||||
BIT(DEVLINK_RELOAD_ACTION_FW_ACTIVATE),
|
||||
.reload_down = mlxsw_devlink_core_bus_device_reload_down,
|
||||
.reload_up = mlxsw_devlink_core_bus_device_reload_up,
|
||||
.port_split = mlxsw_devlink_port_split,
|
||||
.port_unsplit = mlxsw_devlink_port_unsplit,
|
||||
.sb_pool_get = mlxsw_devlink_sb_pool_get,
|
||||
.sb_pool_set = mlxsw_devlink_sb_pool_set,
|
||||
.sb_port_pool_get = mlxsw_devlink_sb_port_pool_get,
|
||||
@ -3117,6 +3115,8 @@ u64 mlxsw_core_res_get(struct mlxsw_core *mlxsw_core,
|
||||
EXPORT_SYMBOL(mlxsw_core_res_get);
|
||||
|
||||
static const struct devlink_port_ops mlxsw_devlink_port_ops = {
|
||||
.port_split = mlxsw_devlink_port_split,
|
||||
.port_unsplit = mlxsw_devlink_port_unsplit,
|
||||
};
|
||||
|
||||
static int __mlxsw_core_port_init(struct mlxsw_core *mlxsw_core, u16 local_port,
|
||||
|
@ -311,8 +311,6 @@ nfp_devlink_flash_update(struct devlink *devlink,
|
||||
}
|
||||
|
||||
const struct devlink_ops nfp_devlink_ops = {
|
||||
.port_split = nfp_devlink_port_split,
|
||||
.port_unsplit = nfp_devlink_port_unsplit,
|
||||
.sb_pool_get = nfp_devlink_sb_pool_get,
|
||||
.sb_pool_set = nfp_devlink_sb_pool_set,
|
||||
.eswitch_mode_get = nfp_devlink_eswitch_mode_get,
|
||||
@ -322,6 +320,8 @@ const struct devlink_ops nfp_devlink_ops = {
|
||||
};
|
||||
|
||||
static const struct devlink_port_ops nfp_devlink_port_ops = {
|
||||
.port_split = nfp_devlink_port_split,
|
||||
.port_unsplit = nfp_devlink_port_unsplit,
|
||||
};
|
||||
|
||||
int nfp_devlink_port_register(struct nfp_app *app, struct nfp_port *port)
|
||||
|
@ -1276,10 +1276,6 @@ struct devlink_ops {
|
||||
struct netlink_ext_ack *extack);
|
||||
int (*port_type_set)(struct devlink_port *devlink_port,
|
||||
enum devlink_port_type port_type);
|
||||
int (*port_split)(struct devlink *devlink, struct devlink_port *port,
|
||||
unsigned int count, struct netlink_ext_ack *extack);
|
||||
int (*port_unsplit)(struct devlink *devlink, struct devlink_port *port,
|
||||
struct netlink_ext_ack *extack);
|
||||
int (*sb_pool_get)(struct devlink *devlink, unsigned int sb_index,
|
||||
u16 pool_index,
|
||||
struct devlink_sb_pool_info *pool_info);
|
||||
@ -1653,8 +1649,15 @@ void devlink_free(struct devlink *devlink);
|
||||
|
||||
/**
|
||||
* struct devlink_port_ops - Port operations
|
||||
* @port_split: Callback used to split the port into multiple ones.
|
||||
* @port_unsplit: Callback used to unsplit the port group back into
|
||||
* a single port.
|
||||
*/
|
||||
struct devlink_port_ops {
|
||||
int (*port_split)(struct devlink *devlink, struct devlink_port *port,
|
||||
unsigned int count, struct netlink_ext_ack *extack);
|
||||
int (*port_unsplit)(struct devlink *devlink, struct devlink_port *port,
|
||||
struct netlink_ext_ack *extack);
|
||||
};
|
||||
|
||||
void devlink_port_init(struct devlink *devlink,
|
||||
|
@ -1320,7 +1320,7 @@ static int devlink_nl_cmd_port_split_doit(struct sk_buff *skb,
|
||||
|
||||
if (GENL_REQ_ATTR_CHECK(info, DEVLINK_ATTR_PORT_SPLIT_COUNT))
|
||||
return -EINVAL;
|
||||
if (!devlink->ops->port_split)
|
||||
if (!devlink_port->ops->port_split)
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
count = nla_get_u32(info->attrs[DEVLINK_ATTR_PORT_SPLIT_COUNT]);
|
||||
@ -1339,8 +1339,8 @@ static int devlink_nl_cmd_port_split_doit(struct sk_buff *skb,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
return devlink->ops->port_split(devlink, devlink_port, count,
|
||||
info->extack);
|
||||
return devlink_port->ops->port_split(devlink, devlink_port, count,
|
||||
info->extack);
|
||||
}
|
||||
|
||||
static int devlink_nl_cmd_port_unsplit_doit(struct sk_buff *skb,
|
||||
@ -1349,9 +1349,9 @@ static int devlink_nl_cmd_port_unsplit_doit(struct sk_buff *skb,
|
||||
struct devlink_port *devlink_port = info->user_ptr[1];
|
||||
struct devlink *devlink = info->user_ptr[0];
|
||||
|
||||
if (!devlink->ops->port_unsplit)
|
||||
if (!devlink_port->ops->port_unsplit)
|
||||
return -EOPNOTSUPP;
|
||||
return devlink->ops->port_unsplit(devlink, devlink_port, info->extack);
|
||||
return devlink_port->ops->port_unsplit(devlink, devlink_port, info->extack);
|
||||
}
|
||||
|
||||
static int devlink_nl_cmd_port_new_doit(struct sk_buff *skb,
|
||||
|
Loading…
Reference in New Issue
Block a user