Commit 69d56e0e authored by Moshe Shemesh's avatar Moshe Shemesh Committed by Jakub Kicinski

devlink: Change devlink_reload_supported() param type

Change devlink_reload_supported() function to get devlink_ops pointer
param instead of devlink pointer param.
This change will be used in the next patch to check if devlink reload is
supported before devlink instance is allocated.
Signed-off-by: default avatarMoshe Shemesh <moshe@mellanox.com>
Reviewed-by: default avatarJakub Kicinski <kuba@kernel.org>
Reviewed-by: default avatarJiri Pirko <jiri@nvidia.com>
Reviewed-by: default avatarJacob Keller <jacob.e.keller@intel.com>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 846e463a
...@@ -2963,9 +2963,9 @@ static void devlink_reload_netns_change(struct devlink *devlink, ...@@ -2963,9 +2963,9 @@ static void devlink_reload_netns_change(struct devlink *devlink,
DEVLINK_CMD_PARAM_NEW); DEVLINK_CMD_PARAM_NEW);
} }
static bool devlink_reload_supported(const struct devlink *devlink) static bool devlink_reload_supported(const struct devlink_ops *ops)
{ {
return devlink->ops->reload_down && devlink->ops->reload_up; return ops->reload_down && ops->reload_up;
} }
static void devlink_reload_failed_set(struct devlink *devlink, static void devlink_reload_failed_set(struct devlink *devlink,
...@@ -3009,7 +3009,7 @@ static int devlink_nl_cmd_reload(struct sk_buff *skb, struct genl_info *info) ...@@ -3009,7 +3009,7 @@ static int devlink_nl_cmd_reload(struct sk_buff *skb, struct genl_info *info)
struct net *dest_net = NULL; struct net *dest_net = NULL;
int err; int err;
if (!devlink_reload_supported(devlink)) if (!devlink_reload_supported(devlink->ops))
return -EOPNOTSUPP; return -EOPNOTSUPP;
err = devlink_resources_validate(devlink, NULL, info); err = devlink_resources_validate(devlink, NULL, info);
...@@ -7679,7 +7679,7 @@ EXPORT_SYMBOL_GPL(devlink_register); ...@@ -7679,7 +7679,7 @@ EXPORT_SYMBOL_GPL(devlink_register);
void devlink_unregister(struct devlink *devlink) void devlink_unregister(struct devlink *devlink)
{ {
mutex_lock(&devlink_mutex); mutex_lock(&devlink_mutex);
WARN_ON(devlink_reload_supported(devlink) && WARN_ON(devlink_reload_supported(devlink->ops) &&
devlink->reload_enabled); devlink->reload_enabled);
devlink_notify(devlink, DEVLINK_CMD_DEL); devlink_notify(devlink, DEVLINK_CMD_DEL);
list_del(&devlink->list); list_del(&devlink->list);
...@@ -8720,7 +8720,7 @@ __devlink_param_driverinit_value_set(struct devlink *devlink, ...@@ -8720,7 +8720,7 @@ __devlink_param_driverinit_value_set(struct devlink *devlink,
int devlink_param_driverinit_value_get(struct devlink *devlink, u32 param_id, int devlink_param_driverinit_value_get(struct devlink *devlink, u32 param_id,
union devlink_param_value *init_val) union devlink_param_value *init_val)
{ {
if (!devlink_reload_supported(devlink)) if (!devlink_reload_supported(devlink->ops))
return -EOPNOTSUPP; return -EOPNOTSUPP;
return __devlink_param_driverinit_value_get(&devlink->param_list, return __devlink_param_driverinit_value_get(&devlink->param_list,
...@@ -8767,7 +8767,7 @@ int devlink_port_param_driverinit_value_get(struct devlink_port *devlink_port, ...@@ -8767,7 +8767,7 @@ int devlink_port_param_driverinit_value_get(struct devlink_port *devlink_port,
{ {
struct devlink *devlink = devlink_port->devlink; struct devlink *devlink = devlink_port->devlink;
if (!devlink_reload_supported(devlink)) if (!devlink_reload_supported(devlink->ops))
return -EOPNOTSUPP; return -EOPNOTSUPP;
return __devlink_param_driverinit_value_get(&devlink_port->param_list, return __devlink_param_driverinit_value_get(&devlink_port->param_list,
...@@ -9968,7 +9968,7 @@ static void __net_exit devlink_pernet_pre_exit(struct net *net) ...@@ -9968,7 +9968,7 @@ static void __net_exit devlink_pernet_pre_exit(struct net *net)
mutex_lock(&devlink_mutex); mutex_lock(&devlink_mutex);
list_for_each_entry(devlink, &devlink_list, list) { list_for_each_entry(devlink, &devlink_list, list) {
if (net_eq(devlink_net(devlink), net)) { if (net_eq(devlink_net(devlink), net)) {
if (WARN_ON(!devlink_reload_supported(devlink))) if (WARN_ON(!devlink_reload_supported(devlink->ops)))
continue; continue;
err = devlink_reload(devlink, &init_net, NULL); err = devlink_reload(devlink, &init_net, NULL);
if (err && err != -EOPNOTSUPP) if (err && err != -EOPNOTSUPP)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment