.len = MLXSW_REG_SBPR_LEN,
 };
 
-enum mlxsw_reg_sbpr_dir {
-       MLXSW_REG_SBPR_DIR_INGRESS,
-       MLXSW_REG_SBPR_DIR_EGRESS,
+/* shared direstion enum for SBPR, SBCM, SBPM */
+enum mlxsw_reg_sbxx_dir {
+       MLXSW_REG_SBXX_DIR_INGRESS,
+       MLXSW_REG_SBXX_DIR_EGRESS,
 };
 
 /* reg_sbpr_dir
 MLXSW_ITEM32(reg, sbpr, mode, 0x08, 0, 4);
 
 static inline void mlxsw_reg_sbpr_pack(char *payload, u8 pool,
-                                      enum mlxsw_reg_sbpr_dir dir,
+                                      enum mlxsw_reg_sbxx_dir dir,
                                       enum mlxsw_reg_sbpr_mode mode, u32 size)
 {
        MLXSW_REG_ZERO(sbpr, payload);
  */
 MLXSW_ITEM32(reg, sbcm, pg_buff, 0x00, 8, 6);
 
-enum mlxsw_reg_sbcm_dir {
-       MLXSW_REG_SBCM_DIR_INGRESS,
-       MLXSW_REG_SBCM_DIR_EGRESS,
-};
-
 /* reg_sbcm_dir
  * Direction.
  * Access: Index
 MLXSW_ITEM32(reg, sbcm, pool, 0x24, 0, 4);
 
 static inline void mlxsw_reg_sbcm_pack(char *payload, u8 local_port, u8 pg_buff,
-                                      enum mlxsw_reg_sbcm_dir dir,
+                                      enum mlxsw_reg_sbxx_dir dir,
                                       u32 min_buff, u32 max_buff, u8 pool)
 {
        MLXSW_REG_ZERO(sbcm, payload);
  */
 MLXSW_ITEM32(reg, sbpm, pool, 0x00, 8, 4);
 
-enum mlxsw_reg_sbpm_dir {
-       MLXSW_REG_SBPM_DIR_INGRESS,
-       MLXSW_REG_SBPM_DIR_EGRESS,
-};
-
 /* reg_sbpm_dir
  * Direction.
  * Access: Index
 MLXSW_ITEM32(reg, sbpm, max_buff, 0x1C, 0, 24);
 
 static inline void mlxsw_reg_sbpm_pack(char *payload, u8 local_port, u8 pool,
-                                      enum mlxsw_reg_sbpm_dir dir,
+                                      enum mlxsw_reg_sbxx_dir dir,
                                       u32 min_buff, u32 max_buff)
 {
        MLXSW_REG_ZERO(sbpm, payload);
 
 
 struct mlxsw_sp_sb_pool {
        u8 pool;
-       enum mlxsw_reg_sbpr_dir dir;
+       enum mlxsw_reg_sbxx_dir dir;
        enum mlxsw_reg_sbpr_mode mode;
        u32 size;
 };
        }
 
 #define MLXSW_SP_SB_POOL_INGRESS(_pool, _size)                 \
-       MLXSW_SP_SB_POOL(_pool, MLXSW_REG_SBPR_DIR_INGRESS,     \
+       MLXSW_SP_SB_POOL(_pool, MLXSW_REG_SBXX_DIR_INGRESS,     \
                         MLXSW_REG_SBPR_MODE_DYNAMIC, _size)
 
 #define MLXSW_SP_SB_POOL_EGRESS(_pool, _size)                  \
-       MLXSW_SP_SB_POOL(_pool, MLXSW_REG_SBPR_DIR_EGRESS,      \
+       MLXSW_SP_SB_POOL(_pool, MLXSW_REG_SBXX_DIR_EGRESS,      \
                         MLXSW_REG_SBPR_MODE_DYNAMIC, _size)
 
 static const struct mlxsw_sp_sb_pool mlxsw_sp_sb_pools[] = {
                u8 pg;
                u8 tc;
        } u;
-       enum mlxsw_reg_sbcm_dir dir;
+       enum mlxsw_reg_sbxx_dir dir;
        u32 min_buff;
        u32 max_buff;
        u8 pool;
        }
 
 #define MLXSW_SP_SB_CM_INGRESS(_pg, _min_buff, _max_buff)              \
-       MLXSW_SP_SB_CM(_pg, MLXSW_REG_SBCM_DIR_INGRESS,                 \
+       MLXSW_SP_SB_CM(_pg, MLXSW_REG_SBXX_DIR_INGRESS,                 \
                       _min_buff, _max_buff, 0)
 
 #define MLXSW_SP_SB_CM_EGRESS(_tc, _min_buff, _max_buff)               \
-       MLXSW_SP_SB_CM(_tc, MLXSW_REG_SBCM_DIR_EGRESS,                  \
+       MLXSW_SP_SB_CM(_tc, MLXSW_REG_SBXX_DIR_EGRESS,                  \
                       _min_buff, _max_buff, 0)
 
 #define MLXSW_SP_CPU_PORT_SB_CM_EGRESS(_tc)                            \
-       MLXSW_SP_SB_CM(_tc, MLXSW_REG_SBCM_DIR_EGRESS, 104, 2, 3)
+       MLXSW_SP_SB_CM(_tc, MLXSW_REG_SBXX_DIR_EGRESS, 104, 2, 3)
 
 static const struct mlxsw_sp_sb_cm mlxsw_sp_sb_cms[] = {
        MLXSW_SP_SB_CM_INGRESS(0, MLXSW_SP_BYTES_TO_CELLS(10000), 8),
 
 struct mlxsw_sp_sb_pm {
        u8 pool;
-       enum mlxsw_reg_sbpm_dir dir;
+       enum mlxsw_reg_sbxx_dir dir;
        u32 min_buff;
        u32 max_buff;
 };
        }
 
 #define MLXSW_SP_SB_PM_INGRESS(_pool, _min_buff, _max_buff)    \
-       MLXSW_SP_SB_PM(_pool, MLXSW_REG_SBPM_DIR_INGRESS,       \
+       MLXSW_SP_SB_PM(_pool, MLXSW_REG_SBXX_DIR_INGRESS,       \
                       _min_buff, _max_buff)
 
 #define MLXSW_SP_SB_PM_EGRESS(_pool, _min_buff, _max_buff)     \
-       MLXSW_SP_SB_PM(_pool, MLXSW_REG_SBPM_DIR_EGRESS,        \
+       MLXSW_SP_SB_PM(_pool, MLXSW_REG_SBXX_DIR_EGRESS,        \
                       _min_buff, _max_buff)
 
 static const struct mlxsw_sp_sb_pm mlxsw_sp_sb_pms[] = {