__le32 dword[2];
 };
 
-extern const char * const mhi_state_str[MHI_STATE_MAX];
-#define TO_MHI_STATE_STR(state) ((state >= MHI_STATE_MAX || \
-                                 !mhi_state_str[state]) ? \
-                               "INVALID_STATE" : mhi_state_str[state])
+static inline const char *mhi_state_str(enum mhi_state state)
+{
+       switch (state) {
+       case MHI_STATE_RESET:
+               return "RESET";
+       case MHI_STATE_READY:
+               return "READY";
+       case MHI_STATE_M0:
+               return "M0";
+       case MHI_STATE_M1:
+               return "M1";
+       case MHI_STATE_M2:
+               return "M2";
+       case MHI_STATE_M3:
+               return "M3";
+       case MHI_STATE_M3_FAST:
+               return "M3 FAST";
+       case MHI_STATE_BHI:
+               return "BHI";
+       case MHI_STATE_SYS_ERR:
+               return "SYS ERROR";
+       default:
+               return "Unknown state";
+       }
+};
 
 #endif /* _MHI_COMMON_H */
 
 
        dev_dbg(dev, "Entered with pm_state:%s dev_state:%s ee:%s\n",
                to_mhi_pm_state_str(mhi_cntrl->pm_state),
-               TO_MHI_STATE_STR(mhi_cntrl->dev_state),
+               mhi_state_str(mhi_cntrl->dev_state),
                TO_MHI_EXEC_STR(mhi_cntrl->ee));
 
        /*
 
        seq_printf(m, "PM state: %s Device: %s MHI state: %s EE: %s wake: %s\n",
                   to_mhi_pm_state_str(mhi_cntrl->pm_state),
                   mhi_is_active(mhi_cntrl) ? "Active" : "Inactive",
-                  TO_MHI_STATE_STR(mhi_cntrl->dev_state),
+                  mhi_state_str(mhi_cntrl->dev_state),
                   TO_MHI_EXEC_STR(mhi_cntrl->ee),
                   mhi_cntrl->wake_set ? "true" : "false");
 
 
        seq_printf(m, "Host PM state: %s Device state: %s EE: %s\n",
                   to_mhi_pm_state_str(mhi_cntrl->pm_state),
-                  TO_MHI_STATE_STR(mhi_cntrl->dev_state),
+                  mhi_state_str(mhi_cntrl->dev_state),
                   TO_MHI_EXEC_STR(mhi_cntrl->ee));
 
        state = mhi_get_mhi_state(mhi_cntrl);
        ee = mhi_get_exec_env(mhi_cntrl);
        seq_printf(m, "Device EE: %s state: %s\n", TO_MHI_EXEC_STR(ee),
-                  TO_MHI_STATE_STR(state));
+                  mhi_state_str(state));
 
        for (i = 0; regs[i].name; i++) {
                if (!regs[i].base)
 
        [DEV_ST_TRANSITION_DISABLE] = "DISABLE",
 };
 
-const char * const mhi_state_str[MHI_STATE_MAX] = {
-       [MHI_STATE_RESET] = "RESET",
-       [MHI_STATE_READY] = "READY",
-       [MHI_STATE_M0] = "M0",
-       [MHI_STATE_M1] = "M1",
-       [MHI_STATE_M2] = "M2",
-       [MHI_STATE_M3] = "M3",
-       [MHI_STATE_M3_FAST] = "M3 FAST",
-       [MHI_STATE_BHI] = "BHI",
-       [MHI_STATE_SYS_ERR] = "SYS ERROR",
-};
-
 const char * const mhi_ch_state_type_str[MHI_CH_STATE_TYPE_MAX] = {
        [MHI_CH_STATE_TYPE_RESET] = "RESET",
        [MHI_CH_STATE_TYPE_STOP] = "STOP",
 
        ee = mhi_get_exec_env(mhi_cntrl);
        dev_dbg(dev, "local ee: %s state: %s device ee: %s state: %s\n",
                TO_MHI_EXEC_STR(mhi_cntrl->ee),
-               TO_MHI_STATE_STR(mhi_cntrl->dev_state),
-               TO_MHI_EXEC_STR(ee), TO_MHI_STATE_STR(state));
+               mhi_state_str(mhi_cntrl->dev_state),
+               TO_MHI_EXEC_STR(ee), mhi_state_str(state));
 
        if (state == MHI_STATE_SYS_ERR) {
                dev_dbg(dev, "System error detected\n");
                        new_state = MHI_TRE_GET_EV_STATE(local_rp);
 
                        dev_dbg(dev, "State change event to state: %s\n",
-                               TO_MHI_STATE_STR(new_state));
+                               mhi_state_str(new_state));
 
                        switch (new_state) {
                        case MHI_STATE_M0:
                        }
                        default:
                                dev_err(dev, "Invalid state: %s\n",
-                                       TO_MHI_STATE_STR(new_state));
+                                       mhi_state_str(new_state));
                        }
 
                        break;
 
 
        dev_dbg(dev, "Exiting with PM state: %s, MHI state: %s\n",
                to_mhi_pm_state_str(mhi_cntrl->pm_state),
-               TO_MHI_STATE_STR(mhi_cntrl->dev_state));
+               mhi_state_str(mhi_cntrl->dev_state));
 
        mutex_unlock(&mhi_cntrl->pm_mutex);
 }
 exit_sys_error_transition:
        dev_dbg(dev, "Exiting with PM state: %s, MHI state: %s\n",
                to_mhi_pm_state_str(mhi_cntrl->pm_state),
-               TO_MHI_STATE_STR(mhi_cntrl->dev_state));
+               mhi_state_str(mhi_cntrl->dev_state));
 
        mutex_unlock(&mhi_cntrl->pm_mutex);
 }
        if (!ret || MHI_PM_IN_ERROR_STATE(mhi_cntrl->pm_state)) {
                dev_err(dev,
                        "Did not enter M3 state, MHI state: %s, PM state: %s\n",
-                       TO_MHI_STATE_STR(mhi_cntrl->dev_state),
+                       mhi_state_str(mhi_cntrl->dev_state),
                        to_mhi_pm_state_str(mhi_cntrl->pm_state));
                return -EIO;
        }
 
        dev_dbg(dev, "Entered with PM state: %s, MHI state: %s\n",
                to_mhi_pm_state_str(mhi_cntrl->pm_state),
-               TO_MHI_STATE_STR(mhi_cntrl->dev_state));
+               mhi_state_str(mhi_cntrl->dev_state));
 
        if (mhi_cntrl->pm_state == MHI_PM_DISABLE)
                return 0;
 
        if (mhi_get_mhi_state(mhi_cntrl) != MHI_STATE_M3) {
                dev_warn(dev, "Resuming from non M3 state (%s)\n",
-                        TO_MHI_STATE_STR(mhi_get_mhi_state(mhi_cntrl)));
+                        mhi_state_str(mhi_get_mhi_state(mhi_cntrl)));
                if (!force)
                        return -EINVAL;
        }
        if (!ret || MHI_PM_IN_ERROR_STATE(mhi_cntrl->pm_state)) {
                dev_err(dev,
                        "Did not enter M0 state, MHI state: %s, PM state: %s\n",
-                       TO_MHI_STATE_STR(mhi_cntrl->dev_state),
+                       mhi_state_str(mhi_cntrl->dev_state),
                        to_mhi_pm_state_str(mhi_cntrl->pm_state));
                return -EIO;
        }
 
        state = mhi_get_mhi_state(mhi_cntrl);
        dev_dbg(dev, "Attempting power on with EE: %s, state: %s\n",
-               TO_MHI_EXEC_STR(current_ee), TO_MHI_STATE_STR(state));
+               TO_MHI_EXEC_STR(current_ee), mhi_state_str(state));
 
        if (state == MHI_STATE_SYS_ERR) {
                mhi_set_mhi_state(mhi_cntrl, MHI_STATE_RESET);