void devlink_params_unregister(struct devlink *devlink,
                               const struct devlink_param *params,
                               size_t params_count);
+int devlink_param_register(struct devlink *devlink,
+                          const struct devlink_param *param);
+void devlink_param_unregister(struct devlink *devlink,
+                             const struct devlink_param *param);
 void devlink_params_publish(struct devlink *devlink);
 void devlink_params_unpublish(struct devlink *devlink);
 int devlink_port_params_register(struct devlink_port *devlink_port,
 
 }
 EXPORT_SYMBOL_GPL(devlink_params_unregister);
 
+/**
+ * devlink_param_register - register one configuration parameter
+ *
+ * @devlink: devlink
+ * @param: one configuration parameter
+ *
+ * Register the configuration parameter supported by the driver.
+ * Return: returns 0 on successful registration or error code otherwise.
+ */
+int devlink_param_register(struct devlink *devlink,
+                          const struct devlink_param *param)
+{
+       int err;
+
+       mutex_lock(&devlink->lock);
+       err = __devlink_param_register_one(devlink, 0, &devlink->param_list,
+                                          param, DEVLINK_CMD_PARAM_NEW);
+       mutex_unlock(&devlink->lock);
+       return err;
+}
+EXPORT_SYMBOL_GPL(devlink_param_register);
+
+/**
+ * devlink_param_unregister - unregister one configuration parameter
+ * @devlink: devlink
+ * @param: configuration parameter to unregister
+ */
+void devlink_param_unregister(struct devlink *devlink,
+                             const struct devlink_param *param)
+{
+       mutex_lock(&devlink->lock);
+       devlink_param_unregister_one(devlink, 0, &devlink->param_list, param,
+                                    DEVLINK_CMD_PARAM_DEL);
+       mutex_unlock(&devlink->lock);
+}
+EXPORT_SYMBOL_GPL(devlink_param_unregister);
+
 /**
  *     devlink_params_publish - publish configuration parameters
  *