span_entry->used = false;
 }
 
-struct mlxsw_sp_span_entry *mlxsw_sp_span_entry_find(struct mlxsw_sp_port *port)
+static struct mlxsw_sp_span_entry *
+mlxsw_sp_span_entry_find(struct mlxsw_sp_port *port)
 {
        struct mlxsw_sp *mlxsw_sp = port->mlxsw_sp;
        int i;
        return NULL;
 }
 
-struct mlxsw_sp_span_entry *mlxsw_sp_span_entry_get(struct mlxsw_sp_port *port)
+static struct mlxsw_sp_span_entry
+*mlxsw_sp_span_entry_get(struct mlxsw_sp_port *port)
 {
        struct mlxsw_sp_span_entry *span_entry;
 
        }
 
        /* bind the port to the SPAN entry */
-       mlxsw_reg_mpar_pack(mpar_pl, port->local_port, type, true, pa_id);
+       mlxsw_reg_mpar_pack(mpar_pl, port->local_port,
+                           (enum mlxsw_reg_mpar_i_e) type, true, pa_id);
        err = mlxsw_reg_write(mlxsw_sp->core, MLXSW_REG(mpar), mpar_pl);
        if (err)
                goto err_mpar_reg_write;
                return;
 
        /* remove the inspected port */
-       mlxsw_reg_mpar_pack(mpar_pl, port->local_port, type, false, pa_id);
+       mlxsw_reg_mpar_pack(mpar_pl, port->local_port,
+                           (enum mlxsw_reg_mpar_i_e) type, false, pa_id);
        mlxsw_reg_write(mlxsw_sp->core, MLXSW_REG(mpar), mpar_pl);
 
        /* remove the SBIB buffer if it was egress SPAN */
 
        enum mlxsw_reg_sbxx_dir dir = dir_get(pool_index);
        struct mlxsw_sp_sb_pr *pr = mlxsw_sp_sb_pr_get(mlxsw_sp, pool, dir);
 
-       pool_info->pool_type = dir;
+       pool_info->pool_type = (enum devlink_sb_pool_type) dir;
        pool_info->size = MLXSW_SP_CELLS_TO_BYTES(pr->size);
-       pool_info->threshold_type = pr->mode;
+       pool_info->threshold_type = (enum devlink_sb_threshold_type) pr->mode;
        return 0;
 }
 
        struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core);
        u8 pool = pool_get(pool_index);
        enum mlxsw_reg_sbxx_dir dir = dir_get(pool_index);
-       enum mlxsw_reg_sbpr_mode mode = threshold_type;
        u32 pool_size = MLXSW_SP_BYTES_TO_CELLS(size);
+       enum mlxsw_reg_sbpr_mode mode;
 
+       mode = (enum mlxsw_reg_sbpr_mode) threshold_type;
        return mlxsw_sp_sb_pr_write(mlxsw_sp, pool, dir, mode, pool_size);
 }
 
        struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
        u8 local_port = mlxsw_sp_port->local_port;
        u8 pg_buff = tc_index;
-       enum mlxsw_reg_sbxx_dir dir = pool_type;
+       enum mlxsw_reg_sbxx_dir dir = (enum mlxsw_reg_sbxx_dir) pool_type;
        struct mlxsw_sp_sb_cm *cm = mlxsw_sp_sb_cm_get(mlxsw_sp, local_port,
                                                       pg_buff, dir);
 
        *p_threshold = mlxsw_sp_sb_threshold_out(mlxsw_sp, cm->pool, dir,
                                                 cm->max_buff);
-       *p_pool_index = pool_index_get(cm->pool, pool_type);
+       *p_pool_index = pool_index_get(cm->pool, dir);
        return 0;
 }
 
        struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
        u8 local_port = mlxsw_sp_port->local_port;
        u8 pg_buff = tc_index;
-       enum mlxsw_reg_sbxx_dir dir = pool_type;
+       enum mlxsw_reg_sbxx_dir dir = (enum mlxsw_reg_sbxx_dir) pool_type;
        u8 pool = pool_get(pool_index);
        u32 max_buff;
        int err;
        struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
        u8 local_port = mlxsw_sp_port->local_port;
        u8 pg_buff = tc_index;
-       enum mlxsw_reg_sbxx_dir dir = pool_type;
+       enum mlxsw_reg_sbxx_dir dir = (enum mlxsw_reg_sbxx_dir) pool_type;
        struct mlxsw_sp_sb_cm *cm = mlxsw_sp_sb_cm_get(mlxsw_sp, local_port,
                                                       pg_buff, dir);
 
 
 {
        char ralta_pl[MLXSW_REG_RALTA_LEN];
 
-       mlxsw_reg_ralta_pack(ralta_pl, true, lpm_tree->proto, lpm_tree->id);
+       mlxsw_reg_ralta_pack(ralta_pl, true,
+                            (enum mlxsw_reg_ralxx_protocol) lpm_tree->proto,
+                            lpm_tree->id);
        return mlxsw_reg_write(mlxsw_sp->core, MLXSW_REG(ralta), ralta_pl);
 }
 
 {
        char ralta_pl[MLXSW_REG_RALTA_LEN];
 
-       mlxsw_reg_ralta_pack(ralta_pl, false, lpm_tree->proto, lpm_tree->id);
+       mlxsw_reg_ralta_pack(ralta_pl, false,
+                            (enum mlxsw_reg_ralxx_protocol) lpm_tree->proto,
+                            lpm_tree->id);
        return mlxsw_reg_write(mlxsw_sp->core, MLXSW_REG(ralta), ralta_pl);
 }
 
 {
        char raltb_pl[MLXSW_REG_RALTB_LEN];
 
-       mlxsw_reg_raltb_pack(raltb_pl, vr->id, vr->proto, vr->lpm_tree->id);
+       mlxsw_reg_raltb_pack(raltb_pl, vr->id,
+                            (enum mlxsw_reg_ralxx_protocol) vr->proto,
+                            vr->lpm_tree->id);
        return mlxsw_reg_write(mlxsw_sp->core, MLXSW_REG(raltb), raltb_pl);
 }
 
        char raltb_pl[MLXSW_REG_RALTB_LEN];
 
        /* Bind to tree 0 which is default */
-       mlxsw_reg_raltb_pack(raltb_pl, vr->id, vr->proto, 0);
+       mlxsw_reg_raltb_pack(raltb_pl, vr->id,
+                            (enum mlxsw_reg_ralxx_protocol) vr->proto, 0);
        return mlxsw_reg_write(mlxsw_sp->core, MLXSW_REG(raltb), raltb_pl);
 }
 
 {
        char raleu_pl[MLXSW_REG_RALEU_LEN];
 
-       mlxsw_reg_raleu_pack(raleu_pl, vr->proto, vr->id,
-                            adj_index, ecmp_size,
-                            new_adj_index, new_ecmp_size);
+       mlxsw_reg_raleu_pack(raleu_pl,
+                            (enum mlxsw_reg_ralxx_protocol) vr->proto, vr->id,
+                            adj_index, ecmp_size, new_adj_index,
+                            new_ecmp_size);
        return mlxsw_reg_write(mlxsw_sp->core, MLXSW_REG(raleu), raleu_pl);
 }
 
                trap_id = MLXSW_TRAP_ID_RTR_INGRESS0;
        }
 
-       mlxsw_reg_ralue_pack4(ralue_pl, vr->proto, op, vr->id,
-                             fib_entry->key.prefix_len, *p_dip);
+       mlxsw_reg_ralue_pack4(ralue_pl,
+                             (enum mlxsw_reg_ralxx_protocol) vr->proto, op,
+                             vr->id, fib_entry->key.prefix_len, *p_dip);
        mlxsw_reg_ralue_act_remote_pack(ralue_pl, trap_action, trap_id,
                                        adjacency_index, ecmp_size);
        return mlxsw_reg_write(mlxsw_sp->core, MLXSW_REG(ralue), ralue_pl);
        u32 *p_dip = (u32 *) fib_entry->key.addr;
        struct mlxsw_sp_vr *vr = fib_entry->vr;
 
-       mlxsw_reg_ralue_pack4(ralue_pl, vr->proto, op, vr->id,
-                             fib_entry->key.prefix_len, *p_dip);
+       mlxsw_reg_ralue_pack4(ralue_pl,
+                             (enum mlxsw_reg_ralxx_protocol) vr->proto, op,
+                             vr->id, fib_entry->key.prefix_len, *p_dip);
        mlxsw_reg_ralue_act_local_pack(ralue_pl,
                                       MLXSW_REG_RALUE_TRAP_ACTION_NOP, 0,
                                       fib_entry->rif);
        u32 *p_dip = (u32 *) fib_entry->key.addr;
        struct mlxsw_sp_vr *vr = fib_entry->vr;
 
-       mlxsw_reg_ralue_pack4(ralue_pl, vr->proto, op, vr->id,
-                             fib_entry->key.prefix_len, *p_dip);
+       mlxsw_reg_ralue_pack4(ralue_pl,
+                             (enum mlxsw_reg_ralxx_protocol) vr->proto, op,
+                             vr->id, fib_entry->key.prefix_len, *p_dip);
        mlxsw_reg_ralue_act_ip2me_pack(ralue_pl);
        return mlxsw_reg_write(mlxsw_sp->core, MLXSW_REG(ralue), ralue_pl);
 }
                                         fib4->fi->fib_dev);
 }
 
-void mlxsw_sp_fib_entry_put(struct mlxsw_sp *mlxsw_sp,
-                           struct mlxsw_sp_fib_entry *fib_entry)
+static void mlxsw_sp_fib_entry_put(struct mlxsw_sp *mlxsw_sp,
+                                  struct mlxsw_sp_fib_entry *fib_entry)
 {
        struct mlxsw_sp_vr *vr = fib_entry->vr;