summaryrefslogtreecommitdiff
path: root/net/core/devlink.c
diff options
context:
space:
mode:
authorParav Pandit <parav@nvidia.com>2021-08-10 16:24:18 +0300
committerDavid S. Miller <davem@davemloft.net>2021-08-11 16:34:21 +0300
commit699784f7b72861206e49679f485befbc48b05e53 (patch)
treee4072dbd6ecc9755ba57288482f96847a75710ea /net/core/devlink.c
parent076b2a9dbb28e8b3d9a264a8bca664794255d448 (diff)
downloadlinux-699784f7b72861206e49679f485befbc48b05e53.tar.xz
devlink: Create a helper function for one parameter registration
Create and use a helper function for one parameter registration. Subsequent patch also will reuse this for driver facing routine to register a single parameter. Signed-off-by: Parav Pandit <parav@nvidia.com> Reviewed-by: Jiri Pirko <jiri@nvidia.com> Reviewed-by: Leon Romanovsky <leonro@nvidia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/devlink.c')
-rw-r--r--net/core/devlink.c24
1 files changed, 18 insertions, 6 deletions
diff --git a/net/core/devlink.c b/net/core/devlink.c
index 867ae7e39788..050dd7271a45 100644
--- a/net/core/devlink.c
+++ b/net/core/devlink.c
@@ -9800,6 +9800,22 @@ static int devlink_param_verify(const struct devlink_param *param)
return devlink_param_driver_verify(param);
}
+static int __devlink_param_register_one(struct devlink *devlink,
+ unsigned int port_index,
+ struct list_head *param_list,
+ const struct devlink_param *param,
+ enum devlink_command reg_cmd)
+{
+ int err;
+
+ err = devlink_param_verify(param);
+ if (err)
+ return err;
+
+ return devlink_param_register_one(devlink, port_index,
+ param_list, param, reg_cmd);
+}
+
static int __devlink_params_register(struct devlink *devlink,
unsigned int port_index,
struct list_head *param_list,
@@ -9814,12 +9830,8 @@ static int __devlink_params_register(struct devlink *devlink,
mutex_lock(&devlink->lock);
for (i = 0; i < params_count; i++, param++) {
- err = devlink_param_verify(param);
- if (err)
- goto rollback;
-
- err = devlink_param_register_one(devlink, port_index,
- param_list, param, reg_cmd);
+ err = __devlink_param_register_one(devlink, port_index,
+ param_list, param, reg_cmd);
if (err)
goto rollback;
}