union devlink_param_value value;
 
        value.vbool = !!mlx4_internal_err_reset;
-       devlink_param_driverinit_value_set(devlink,
-                                          DEVLINK_PARAM_GENERIC_ID_INT_ERR_RESET,
-                                          value);
+       devl_param_driverinit_value_set(devlink,
+                                       DEVLINK_PARAM_GENERIC_ID_INT_ERR_RESET,
+                                       value);
 
        value.vu32 = 1UL << log_num_mac;
-       devlink_param_driverinit_value_set(devlink,
-                                          DEVLINK_PARAM_GENERIC_ID_MAX_MACS,
-                                          value);
+       devl_param_driverinit_value_set(devlink,
+                                       DEVLINK_PARAM_GENERIC_ID_MAX_MACS,
+                                       value);
 
        value.vbool = enable_64b_cqe_eqe;
-       devlink_param_driverinit_value_set(devlink,
-                                          MLX4_DEVLINK_PARAM_ID_ENABLE_64B_CQE_EQE,
-                                          value);
+       devl_param_driverinit_value_set(devlink,
+                                       MLX4_DEVLINK_PARAM_ID_ENABLE_64B_CQE_EQE,
+                                       value);
 
        value.vbool = enable_4k_uar;
-       devlink_param_driverinit_value_set(devlink,
-                                          MLX4_DEVLINK_PARAM_ID_ENABLE_4K_UAR,
-                                          value);
+       devl_param_driverinit_value_set(devlink,
+                                       MLX4_DEVLINK_PARAM_ID_ENABLE_4K_UAR,
+                                       value);
 
        value.vbool = false;
-       devlink_param_driverinit_value_set(devlink,
-                                          DEVLINK_PARAM_GENERIC_ID_REGION_SNAPSHOT,
-                                          value);
+       devl_param_driverinit_value_set(devlink,
+                                       DEVLINK_PARAM_GENERIC_ID_REGION_SNAPSHOT,
+                                       value);
 }
 
 static inline void mlx4_set_num_reserved_uars(struct mlx4_dev *dev,
        union devlink_param_value saved_value;
        int err;
 
-       err = devlink_param_driverinit_value_get(devlink,
-                                                DEVLINK_PARAM_GENERIC_ID_INT_ERR_RESET,
-                                                &saved_value);
+       err = devl_param_driverinit_value_get(devlink,
+                                             DEVLINK_PARAM_GENERIC_ID_INT_ERR_RESET,
+                                             &saved_value);
        if (!err && mlx4_internal_err_reset != saved_value.vbool) {
                mlx4_internal_err_reset = saved_value.vbool;
                /* Notify on value changed on runtime configuration mode */
-               devlink_param_value_changed(devlink,
-                                           DEVLINK_PARAM_GENERIC_ID_INT_ERR_RESET);
+               devl_param_value_changed(devlink,
+                                        DEVLINK_PARAM_GENERIC_ID_INT_ERR_RESET);
        }
-       err = devlink_param_driverinit_value_get(devlink,
-                                                DEVLINK_PARAM_GENERIC_ID_MAX_MACS,
-                                                &saved_value);
+       err = devl_param_driverinit_value_get(devlink,
+                                             DEVLINK_PARAM_GENERIC_ID_MAX_MACS,
+                                             &saved_value);
        if (!err)
                log_num_mac = order_base_2(saved_value.vu32);
-       err = devlink_param_driverinit_value_get(devlink,
-                                                MLX4_DEVLINK_PARAM_ID_ENABLE_64B_CQE_EQE,
-                                                &saved_value);
+       err = devl_param_driverinit_value_get(devlink,
+                                             MLX4_DEVLINK_PARAM_ID_ENABLE_64B_CQE_EQE,
+                                             &saved_value);
        if (!err)
                enable_64b_cqe_eqe = saved_value.vbool;
-       err = devlink_param_driverinit_value_get(devlink,
-                                                MLX4_DEVLINK_PARAM_ID_ENABLE_4K_UAR,
-                                                &saved_value);
+       err = devl_param_driverinit_value_get(devlink,
+                                             MLX4_DEVLINK_PARAM_ID_ENABLE_4K_UAR,
+                                             &saved_value);
        if (!err)
                enable_4k_uar = saved_value.vbool;
-       err = devlink_param_driverinit_value_get(devlink,
-                                                DEVLINK_PARAM_GENERIC_ID_REGION_SNAPSHOT,
-                                                &saved_value);
+       err = devl_param_driverinit_value_get(devlink,
+                                             DEVLINK_PARAM_GENERIC_ID_REGION_SNAPSHOT,
+                                             &saved_value);
        if (!err && crdump->snapshot_enable != saved_value.vbool) {
                crdump->snapshot_enable = saved_value.vbool;
-               devlink_param_value_changed(devlink,
-                                           DEVLINK_PARAM_GENERIC_ID_REGION_SNAPSHOT);
+               devl_param_value_changed(devlink,
+                                        DEVLINK_PARAM_GENERIC_ID_REGION_SNAPSHOT);
        }
 }
 
        mutex_init(&dev->persist->interface_state_mutex);
        mutex_init(&dev->persist->pci_status_mutex);
 
-       ret = devlink_params_register(devlink, mlx4_devlink_params,
-                                     ARRAY_SIZE(mlx4_devlink_params));
+       ret = devl_params_register(devlink, mlx4_devlink_params,
+                                  ARRAY_SIZE(mlx4_devlink_params));
        if (ret)
                goto err_devlink_unregister;
        mlx4_devlink_set_params_init_values(devlink);
        return 0;
 
 err_params_unregister:
-       devlink_params_unregister(devlink, mlx4_devlink_params,
-                                 ARRAY_SIZE(mlx4_devlink_params));
+       devl_params_unregister(devlink, mlx4_devlink_params,
+                              ARRAY_SIZE(mlx4_devlink_params));
 err_devlink_unregister:
        kfree(dev->persist);
 err_devlink_free:
 
        pci_release_regions(pdev);
        mlx4_pci_disable_device(dev);
-       devlink_params_unregister(devlink, mlx4_devlink_params,
-                                 ARRAY_SIZE(mlx4_devlink_params));
+       devl_params_unregister(devlink, mlx4_devlink_params,
+                              ARRAY_SIZE(mlx4_devlink_params));
        kfree(dev->persist);
        devl_unlock(devlink);
        devlink_free(devlink);
 
        union devlink_param_value val;
        int err;
 
-       err = devlink_param_driverinit_value_get(priv_to_devlink(dev),
-                                                DEVLINK_PARAM_GENERIC_ID_ENABLE_ETH,
-                                                &val);
+       err = devl_param_driverinit_value_get(priv_to_devlink(dev),
+                                             DEVLINK_PARAM_GENERIC_ID_ENABLE_ETH,
+                                             &val);
        return err ? false : val.vbool;
 }
 
        union devlink_param_value val;
        int err;
 
-       err = devlink_param_driverinit_value_get(priv_to_devlink(dev),
-                                                DEVLINK_PARAM_GENERIC_ID_ENABLE_VNET,
-                                                &val);
+       err = devl_param_driverinit_value_get(priv_to_devlink(dev),
+                                             DEVLINK_PARAM_GENERIC_ID_ENABLE_VNET,
+                                             &val);
        return err ? false : val.vbool;
 }
 
        union devlink_param_value val;
        int err;
 
-       err = devlink_param_driverinit_value_get(priv_to_devlink(dev),
-                                                DEVLINK_PARAM_GENERIC_ID_ENABLE_RDMA,
-                                                &val);
+       err = devl_param_driverinit_value_get(priv_to_devlink(dev),
+                                             DEVLINK_PARAM_GENERIC_ID_ENABLE_RDMA,
+                                             &val);
        return err ? false : val.vbool;
 }
 
 
        union devlink_param_value value;
 
        value.vbool = MLX5_CAP_GEN(dev, roce);
-       devlink_param_driverinit_value_set(devlink,
-                                          DEVLINK_PARAM_GENERIC_ID_ENABLE_ROCE,
-                                          value);
+       devl_param_driverinit_value_set(devlink,
+                                       DEVLINK_PARAM_GENERIC_ID_ENABLE_ROCE,
+                                       value);
 
 #ifdef CONFIG_MLX5_ESWITCH
        value.vu32 = ESW_OFFLOADS_DEFAULT_NUM_GROUPS;
-       devlink_param_driverinit_value_set(devlink,
-                                          MLX5_DEVLINK_PARAM_ID_ESW_LARGE_GROUP_NUM,
-                                          value);
+       devl_param_driverinit_value_set(devlink,
+                                       MLX5_DEVLINK_PARAM_ID_ESW_LARGE_GROUP_NUM,
+                                       value);
 #endif
 
        value.vu32 = MLX5_COMP_EQ_SIZE;
-       devlink_param_driverinit_value_set(devlink,
-                                          DEVLINK_PARAM_GENERIC_ID_IO_EQ_SIZE,
-                                          value);
+       devl_param_driverinit_value_set(devlink,
+                                       DEVLINK_PARAM_GENERIC_ID_IO_EQ_SIZE,
+                                       value);
 
        value.vu32 = MLX5_NUM_ASYNC_EQE;
-       devlink_param_driverinit_value_set(devlink,
-                                          DEVLINK_PARAM_GENERIC_ID_EVENT_EQ_SIZE,
-                                          value);
+       devl_param_driverinit_value_set(devlink,
+                                       DEVLINK_PARAM_GENERIC_ID_EVENT_EQ_SIZE,
+                                       value);
 }
 
 static const struct devlink_param mlx5_devlink_eth_params[] = {
        if (!mlx5_eth_supported(dev))
                return 0;
 
-       err = devlink_params_register(devlink, mlx5_devlink_eth_params,
-                                     ARRAY_SIZE(mlx5_devlink_eth_params));
+       err = devl_params_register(devlink, mlx5_devlink_eth_params,
+                                  ARRAY_SIZE(mlx5_devlink_eth_params));
        if (err)
                return err;
 
        value.vbool = true;
-       devlink_param_driverinit_value_set(devlink,
-                                          DEVLINK_PARAM_GENERIC_ID_ENABLE_ETH,
-                                          value);
+       devl_param_driverinit_value_set(devlink,
+                                       DEVLINK_PARAM_GENERIC_ID_ENABLE_ETH,
+                                       value);
        return 0;
 }
 
        if (!mlx5_eth_supported(dev))
                return;
 
-       devlink_params_unregister(devlink, mlx5_devlink_eth_params,
-                                 ARRAY_SIZE(mlx5_devlink_eth_params));
+       devl_params_unregister(devlink, mlx5_devlink_eth_params,
+                              ARRAY_SIZE(mlx5_devlink_eth_params));
 }
 
 static int mlx5_devlink_enable_rdma_validate(struct devlink *devlink, u32 id,
        if (!IS_ENABLED(CONFIG_MLX5_INFINIBAND))
                return 0;
 
-       err = devlink_params_register(devlink, mlx5_devlink_rdma_params,
-                                     ARRAY_SIZE(mlx5_devlink_rdma_params));
+       err = devl_params_register(devlink, mlx5_devlink_rdma_params,
+                                  ARRAY_SIZE(mlx5_devlink_rdma_params));
        if (err)
                return err;
 
        value.vbool = true;
-       devlink_param_driverinit_value_set(devlink,
-                                          DEVLINK_PARAM_GENERIC_ID_ENABLE_RDMA,
-                                          value);
+       devl_param_driverinit_value_set(devlink,
+                                       DEVLINK_PARAM_GENERIC_ID_ENABLE_RDMA,
+                                       value);
        return 0;
 }
 
        if (!IS_ENABLED(CONFIG_MLX5_INFINIBAND))
                return;
 
-       devlink_params_unregister(devlink, mlx5_devlink_rdma_params,
-                                 ARRAY_SIZE(mlx5_devlink_rdma_params));
+       devl_params_unregister(devlink, mlx5_devlink_rdma_params,
+                              ARRAY_SIZE(mlx5_devlink_rdma_params));
 }
 
 static const struct devlink_param mlx5_devlink_vnet_params[] = {
        if (!mlx5_vnet_supported(dev))
                return 0;
 
-       err = devlink_params_register(devlink, mlx5_devlink_vnet_params,
-                                     ARRAY_SIZE(mlx5_devlink_vnet_params));
+       err = devl_params_register(devlink, mlx5_devlink_vnet_params,
+                                  ARRAY_SIZE(mlx5_devlink_vnet_params));
        if (err)
                return err;
 
        value.vbool = true;
-       devlink_param_driverinit_value_set(devlink,
-                                          DEVLINK_PARAM_GENERIC_ID_ENABLE_VNET,
-                                          value);
+       devl_param_driverinit_value_set(devlink,
+                                       DEVLINK_PARAM_GENERIC_ID_ENABLE_VNET,
+                                       value);
        return 0;
 }
 
        if (!mlx5_vnet_supported(dev))
                return;
 
-       devlink_params_unregister(devlink, mlx5_devlink_vnet_params,
-                                 ARRAY_SIZE(mlx5_devlink_vnet_params));
+       devl_params_unregister(devlink, mlx5_devlink_vnet_params,
+                              ARRAY_SIZE(mlx5_devlink_vnet_params));
 }
 
 static int mlx5_devlink_auxdev_params_register(struct devlink *devlink)
        if (!MLX5_CAP_GEN_MAX(dev, log_max_current_uc_list_wr_supported))
                return 0;
 
-       err = devlink_params_register(devlink, mlx5_devlink_max_uc_list_params,
-                                     ARRAY_SIZE(mlx5_devlink_max_uc_list_params));
+       err = devl_params_register(devlink, mlx5_devlink_max_uc_list_params,
+                                  ARRAY_SIZE(mlx5_devlink_max_uc_list_params));
        if (err)
                return err;
 
        value.vu32 = 1 << MLX5_CAP_GEN(dev, log_max_current_uc_list);
-       devlink_param_driverinit_value_set(devlink,
-                                          DEVLINK_PARAM_GENERIC_ID_MAX_MACS,
-                                          value);
+       devl_param_driverinit_value_set(devlink,
+                                       DEVLINK_PARAM_GENERIC_ID_MAX_MACS,
+                                       value);
        return 0;
 }
 
        if (!MLX5_CAP_GEN_MAX(dev, log_max_current_uc_list_wr_supported))
                return;
 
-       devlink_params_unregister(devlink, mlx5_devlink_max_uc_list_params,
-                                 ARRAY_SIZE(mlx5_devlink_max_uc_list_params));
+       devl_params_unregister(devlink, mlx5_devlink_max_uc_list_params,
+                              ARRAY_SIZE(mlx5_devlink_max_uc_list_params));
 }
 
 #define MLX5_TRAP_DROP(_id, _group_id)                                 \
        struct mlx5_core_dev *dev = devlink_priv(devlink);
        int err;
 
-       err = devlink_params_register(devlink, mlx5_devlink_params,
-                                     ARRAY_SIZE(mlx5_devlink_params));
+       err = devl_params_register(devlink, mlx5_devlink_params,
+                                  ARRAY_SIZE(mlx5_devlink_params));
        if (err)
                return err;
 
 max_uc_list_err:
        mlx5_devlink_auxdev_params_unregister(devlink);
 auxdev_reg_err:
-       devlink_params_unregister(devlink, mlx5_devlink_params,
-                                 ARRAY_SIZE(mlx5_devlink_params));
+       devl_params_unregister(devlink, mlx5_devlink_params,
+                              ARRAY_SIZE(mlx5_devlink_params));
        return err;
 }
 
 {
        mlx5_devlink_max_uc_list_params_unregister(devlink);
        mlx5_devlink_auxdev_params_unregister(devlink);
-       devlink_params_unregister(devlink, mlx5_devlink_params,
-                                 ARRAY_SIZE(mlx5_devlink_params));
+       devl_params_unregister(devlink, mlx5_devlink_params,
+                              ARRAY_SIZE(mlx5_devlink_params));
 }
 
        union devlink_param_value val;
        int err;
 
-       err = devlink_param_driverinit_value_get(devlink,
-                                                DEVLINK_PARAM_GENERIC_ID_EVENT_EQ_SIZE,
-                                                &val);
+       err = devl_param_driverinit_value_get(devlink,
+                                             DEVLINK_PARAM_GENERIC_ID_EVENT_EQ_SIZE,
+                                             &val);
        if (!err)
                return val.vu32;
        mlx5_core_dbg(dev, "Failed to get param. using default. err = %d\n", err);
        union devlink_param_value val;
        int err;
 
-       err = devlink_param_driverinit_value_get(devlink,
-                                                DEVLINK_PARAM_GENERIC_ID_IO_EQ_SIZE,
-                                                &val);
+       err = devl_param_driverinit_value_get(devlink,
+                                             DEVLINK_PARAM_GENERIC_ID_IO_EQ_SIZE,
+                                             &val);
        if (!err)
                return val.vu32;
        mlx5_core_dbg(dev, "Failed to get param. using default. err = %d\n", err);
 
        union devlink_param_value val;
        int err;
 
-       err = devlink_param_driverinit_value_get(devlink,
-                                                MLX5_DEVLINK_PARAM_ID_ESW_LARGE_GROUP_NUM,
-                                                &val);
+       err = devl_param_driverinit_value_get(devlink,
+                                             MLX5_DEVLINK_PARAM_ID_ESW_LARGE_GROUP_NUM,
+                                             &val);
        if (!err) {
                esw->params.large_group_num = val.vu32;
        } else {
 
        union devlink_param_value val;
        int err;
 
-       err = devlink_param_driverinit_value_get(devlink,
-                                                DEVLINK_PARAM_GENERIC_ID_MAX_MACS,
-                                                &val);
+       err = devl_param_driverinit_value_get(devlink,
+                                             DEVLINK_PARAM_GENERIC_ID_MAX_MACS,
+                                             &val);
        if (!err)
                return val.vu32;
        mlx5_core_dbg(dev, "Failed to get param. err = %d\n", err);
        union devlink_param_value val;
        int err;
 
-       err = devlink_param_driverinit_value_get(devlink,
-                                                DEVLINK_PARAM_GENERIC_ID_ENABLE_ROCE,
-                                                &val);
+       err = devl_param_driverinit_value_get(devlink,
+                                             DEVLINK_PARAM_GENERIC_ID_ENABLE_ROCE,
+                                             &val);
 
        if (!err)
                return val.vbool;
 
                return 0;
 
        /* Don't check if devlink 'fw_load_policy' param is 'flash' */
-       err = devlink_param_driverinit_value_get(priv_to_devlink(mlxsw_core),
-                                                DEVLINK_PARAM_GENERIC_ID_FW_LOAD_POLICY,
-                                                &value);
+       err = devl_param_driverinit_value_get(priv_to_devlink(mlxsw_core),
+                                             DEVLINK_PARAM_GENERIC_ID_FW_LOAD_POLICY,
+                                             &value);
        if (err)
                return err;
        if (value.vu8 == DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_FLASH)
        union devlink_param_value value;
        int err;
 
-       err = devlink_params_register(devlink, mlxsw_core_fw_devlink_params,
-                                     ARRAY_SIZE(mlxsw_core_fw_devlink_params));
+       err = devl_params_register(devlink, mlxsw_core_fw_devlink_params,
+                                  ARRAY_SIZE(mlxsw_core_fw_devlink_params));
        if (err)
                return err;
 
        value.vu8 = DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_DRIVER;
-       devlink_param_driverinit_value_set(devlink, DEVLINK_PARAM_GENERIC_ID_FW_LOAD_POLICY, value);
+       devl_param_driverinit_value_set(devlink,
+                                       DEVLINK_PARAM_GENERIC_ID_FW_LOAD_POLICY,
+                                       value);
        return 0;
 }
 
 static void mlxsw_core_fw_params_unregister(struct mlxsw_core *mlxsw_core)
 {
-       devlink_params_unregister(priv_to_devlink(mlxsw_core), mlxsw_core_fw_devlink_params,
-                                 ARRAY_SIZE(mlxsw_core_fw_devlink_params));
+       devl_params_unregister(priv_to_devlink(mlxsw_core), mlxsw_core_fw_devlink_params,
+                              ARRAY_SIZE(mlxsw_core_fw_devlink_params));
 }
 
 static void *__dl_port(struct devlink_port *devlink_port)
 
        union devlink_param_value value;
        int err;
 
-       err = devlink_params_register(devlink, mlxsw_sp2_devlink_params,
-                                     ARRAY_SIZE(mlxsw_sp2_devlink_params));
+       err = devl_params_register(devlink, mlxsw_sp2_devlink_params,
+                                  ARRAY_SIZE(mlxsw_sp2_devlink_params));
        if (err)
                return err;
 
        value.vu32 = 0;
-       devlink_param_driverinit_value_set(devlink,
-                                          MLXSW_DEVLINK_PARAM_ID_ACL_REGION_REHASH_INTERVAL,
-                                          value);
+       devl_param_driverinit_value_set(devlink,
+                                       MLXSW_DEVLINK_PARAM_ID_ACL_REGION_REHASH_INTERVAL,
+                                       value);
        return 0;
 }
 
 static void mlxsw_sp2_params_unregister(struct mlxsw_core *mlxsw_core)
 {
-       devlink_params_unregister(priv_to_devlink(mlxsw_core),
-                                 mlxsw_sp2_devlink_params,
-                                 ARRAY_SIZE(mlxsw_sp2_devlink_params));
+       devl_params_unregister(priv_to_devlink(mlxsw_core),
+                              mlxsw_sp2_devlink_params,
+                              ARRAY_SIZE(mlxsw_sp2_devlink_params));
 }
 
 static void mlxsw_sp_ptp_transmitted(struct mlxsw_core *mlxsw_core,
 
        if (err <= 0)
                return err;
 
-       return devlink_params_register(devlink, nfp_devlink_params,
-                                      ARRAY_SIZE(nfp_devlink_params));
+       return devl_params_register(devlink, nfp_devlink_params,
+                                   ARRAY_SIZE(nfp_devlink_params));
 }
 
 void nfp_devlink_params_unregister(struct nfp_pf *pf)
        if (err <= 0)
                return;
 
-       devlink_params_unregister(priv_to_devlink(pf), nfp_devlink_params,
-                                 ARRAY_SIZE(nfp_devlink_params));
+       devl_params_unregister(priv_to_devlink(pf), nfp_devlink_params,
+                              ARRAY_SIZE(nfp_devlink_params));
 }
 
        if (err)
                goto err_devlink_unreg;
 
+       devl_lock(devlink);
        err = nfp_devlink_params_register(pf);
        if (err)
                goto err_shared_buf_unreg;
 
-       devl_lock(devlink);
        pf->ddir = nfp_net_debugfs_device_add(pf->pdev);
 
        /* Allocate the vnics and do basic init */
        nfp_net_pf_free_vnics(pf);
 err_clean_ddir:
        nfp_net_debugfs_dir_clean(&pf->ddir);
-       devl_unlock(devlink);
        nfp_devlink_params_unregister(pf);
 err_shared_buf_unreg:
+       devl_unlock(devlink);
        nfp_shared_buf_unregister(pf);
 err_devlink_unreg:
        cancel_work_sync(&pf->port_refresh_work);
        /* stop app first, to avoid double free of ctrl vNIC's ddir */
        nfp_net_debugfs_dir_clean(&pf->ddir);
 
+       nfp_devlink_params_unregister(pf);
+
        devl_unlock(devlink);
 
-       nfp_devlink_params_unregister(pf);
        nfp_shared_buf_unregister(pf);
 
        nfp_net_pf_free_irqs(pf);
 
        union devlink_param_value value;
 
        value.vu32 = nsim_dev->max_macs;
-       devlink_param_driverinit_value_set(devlink,
-                                          DEVLINK_PARAM_GENERIC_ID_MAX_MACS,
-                                          value);
+       devl_param_driverinit_value_set(devlink,
+                                       DEVLINK_PARAM_GENERIC_ID_MAX_MACS,
+                                       value);
        value.vbool = nsim_dev->test1;
-       devlink_param_driverinit_value_set(devlink,
-                                          NSIM_DEVLINK_PARAM_ID_TEST1,
-                                          value);
+       devl_param_driverinit_value_set(devlink,
+                                       NSIM_DEVLINK_PARAM_ID_TEST1,
+                                       value);
 }
 
 static void nsim_devlink_param_load_driverinit_values(struct devlink *devlink)
        union devlink_param_value saved_value;
        int err;
 
-       err = devlink_param_driverinit_value_get(devlink,
-                                                DEVLINK_PARAM_GENERIC_ID_MAX_MACS,
-                                                &saved_value);
+       err = devl_param_driverinit_value_get(devlink,
+                                             DEVLINK_PARAM_GENERIC_ID_MAX_MACS,
+                                             &saved_value);
        if (!err)
                nsim_dev->max_macs = saved_value.vu32;
-       err = devlink_param_driverinit_value_get(devlink,
-                                                NSIM_DEVLINK_PARAM_ID_TEST1,
-                                                &saved_value);
+       err = devl_param_driverinit_value_get(devlink,
+                                             NSIM_DEVLINK_PARAM_ID_TEST1,
+                                             &saved_value);
        if (!err)
                nsim_dev->test1 = saved_value.vbool;
 }
        if (err)
                goto err_dl_unregister;
 
-       err = devlink_params_register(devlink, nsim_devlink_params,
-                                     ARRAY_SIZE(nsim_devlink_params));
+       err = devl_params_register(devlink, nsim_devlink_params,
+                                  ARRAY_SIZE(nsim_devlink_params));
        if (err)
                goto err_resource_unregister;
        nsim_devlink_set_params_init_values(nsim_dev, devlink);
 err_dummy_region_exit:
        nsim_dev_dummy_region_exit(nsim_dev);
 err_params_unregister:
-       devlink_params_unregister(devlink, nsim_devlink_params,
-                                 ARRAY_SIZE(nsim_devlink_params));
+       devl_params_unregister(devlink, nsim_devlink_params,
+                              ARRAY_SIZE(nsim_devlink_params));
 err_resource_unregister:
        devl_resources_unregister(devlink);
 err_dl_unregister:
 
        nsim_bpf_dev_exit(nsim_dev);
        nsim_dev_debugfs_exit(nsim_dev);
-       devlink_params_unregister(devlink, nsim_devlink_params,
-                                 ARRAY_SIZE(nsim_devlink_params));
+       devl_params_unregister(devlink, nsim_devlink_params,
+                              ARRAY_SIZE(nsim_devlink_params));
        devl_resources_unregister(devlink);
        devl_unregister(devlink);
        kfree(nsim_dev->vfconfigs);
 
 
 void devlink_resource_occ_get_unregister(struct devlink *devlink,
                                         u64 resource_id);
+int devl_params_register(struct devlink *devlink,
+                        const struct devlink_param *params,
+                        size_t params_count);
 int devlink_params_register(struct devlink *devlink,
                            const struct devlink_param *params,
                            size_t params_count);
+void devl_params_unregister(struct devlink *devlink,
+                           const struct devlink_param *params,
+                           size_t params_count);
 void devlink_params_unregister(struct devlink *devlink,
                               const struct devlink_param *params,
                               size_t params_count);
-int devlink_param_driverinit_value_get(struct devlink *devlink, u32 param_id,
-                                      union devlink_param_value *init_val);
-void devlink_param_driverinit_value_set(struct devlink *devlink, u32 param_id,
-                                       union devlink_param_value init_val);
-void devlink_param_value_changed(struct devlink *devlink, u32 param_id);
+int devl_param_driverinit_value_get(struct devlink *devlink, u32 param_id,
+                                   union devlink_param_value *init_val);
+void devl_param_driverinit_value_set(struct devlink *devlink, u32 param_id,
+                                    union devlink_param_value init_val);
+void devl_param_value_changed(struct devlink *devlink, u32 param_id);
 struct devlink_region *devl_region_create(struct devlink *devlink,
                                          const struct devlink_region_ops *ops,
                                          u32 region_max_snapshots,
 
 }
 
 /**
- *     devlink_params_register - register configuration parameters
+ *     devl_params_register - register configuration parameters
  *
  *     @devlink: devlink
  *     @params: configuration parameters array
  *
  *     Register the configuration parameters supported by the driver.
  */
-int devlink_params_register(struct devlink *devlink,
-                           const struct devlink_param *params,
-                           size_t params_count)
+int devl_params_register(struct devlink *devlink,
+                        const struct devlink_param *params,
+                        size_t params_count)
 {
        const struct devlink_param *param = params;
        int i, err;
 
+       lockdep_assert_held(&devlink->lock);
+
        for (i = 0; i < params_count; i++, param++) {
                err = devlink_param_register(devlink, param);
                if (err)
                devlink_param_unregister(devlink, param);
        return err;
 }
+EXPORT_SYMBOL_GPL(devl_params_register);
+
+int devlink_params_register(struct devlink *devlink,
+                           const struct devlink_param *params,
+                           size_t params_count)
+{
+       int err;
+
+       devl_lock(devlink);
+       err = devl_params_register(devlink, params, params_count);
+       devl_unlock(devlink);
+       return err;
+}
 EXPORT_SYMBOL_GPL(devlink_params_register);
 
 /**
- *     devlink_params_unregister - unregister configuration parameters
+ *     devl_params_unregister - unregister configuration parameters
  *     @devlink: devlink
  *     @params: configuration parameters to unregister
  *     @params_count: number of parameters provided
  */
-void devlink_params_unregister(struct devlink *devlink,
-                              const struct devlink_param *params,
-                              size_t params_count)
+void devl_params_unregister(struct devlink *devlink,
+                           const struct devlink_param *params,
+                           size_t params_count)
 {
        const struct devlink_param *param = params;
        int i;
 
+       lockdep_assert_held(&devlink->lock);
+
        for (i = 0; i < params_count; i++, param++)
                devlink_param_unregister(devlink, param);
 }
+EXPORT_SYMBOL_GPL(devl_params_unregister);
+
+void devlink_params_unregister(struct devlink *devlink,
+                              const struct devlink_param *params,
+                              size_t params_count)
+{
+       devl_lock(devlink);
+       devl_params_unregister(devlink, params, params_count);
+       devl_unlock(devlink);
+}
 EXPORT_SYMBOL_GPL(devlink_params_unregister);
 
 /**
- *     devlink_param_driverinit_value_get - get configuration parameter
- *                                          value for driver initializing
+ *     devl_param_driverinit_value_get - get configuration parameter
+ *                                       value for driver initializing
  *
  *     @devlink: devlink
  *     @param_id: parameter ID
  *     This function should be used by the driver to get driverinit
  *     configuration for initialization after reload command.
  */
-int devlink_param_driverinit_value_get(struct devlink *devlink, u32 param_id,
-                                      union devlink_param_value *init_val)
+int devl_param_driverinit_value_get(struct devlink *devlink, u32 param_id,
+                                   union devlink_param_value *init_val)
 {
        struct devlink_param_item *param_item;
 
+       lockdep_assert_held(&devlink->lock);
+
        if (WARN_ON(!devlink_reload_supported(devlink->ops)))
                return -EOPNOTSUPP;
 
 
        return 0;
 }
-EXPORT_SYMBOL_GPL(devlink_param_driverinit_value_get);
+EXPORT_SYMBOL_GPL(devl_param_driverinit_value_get);
 
 /**
- *     devlink_param_driverinit_value_set - set value of configuration
- *                                          parameter for driverinit
- *                                          configuration mode
+ *     devl_param_driverinit_value_set - set value of configuration
+ *                                       parameter for driverinit
+ *                                       configuration mode
  *
  *     @devlink: devlink
  *     @param_id: parameter ID
  *     This function should be used by the driver to set driverinit
  *     configuration mode default value.
  */
-void devlink_param_driverinit_value_set(struct devlink *devlink, u32 param_id,
-                                       union devlink_param_value init_val)
+void devl_param_driverinit_value_set(struct devlink *devlink, u32 param_id,
+                                    union devlink_param_value init_val)
 {
        struct devlink_param_item *param_item;
 
 
        devlink_param_notify(devlink, 0, param_item, DEVLINK_CMD_PARAM_NEW);
 }
-EXPORT_SYMBOL_GPL(devlink_param_driverinit_value_set);
+EXPORT_SYMBOL_GPL(devl_param_driverinit_value_set);
 
 /**
- *     devlink_param_value_changed - notify devlink on a parameter's value
- *                                   change. Should be called by the driver
- *                                   right after the change.
+ *     devl_param_value_changed - notify devlink on a parameter's value
+ *                                change. Should be called by the driver
+ *                                right after the change.
  *
  *     @devlink: devlink
  *     @param_id: parameter ID
  *     change, excluding driverinit configuration mode.
  *     For driverinit configuration mode driver should use the function
  */
-void devlink_param_value_changed(struct devlink *devlink, u32 param_id)
+void devl_param_value_changed(struct devlink *devlink, u32 param_id)
 {
        struct devlink_param_item *param_item;
 
 
        devlink_param_notify(devlink, 0, param_item, DEVLINK_CMD_PARAM_NEW);
 }
-EXPORT_SYMBOL_GPL(devlink_param_value_changed);
+EXPORT_SYMBOL_GPL(devl_param_value_changed);
 
 /**
  * devl_region_create - create a new address region