#define ORC_REG_SP_INDIRECT            9
 #define ORC_REG_MAX                    15
 
+#define ORC_TYPE_CALL                  0
+#define ORC_TYPE_REGS                  1
+#define ORC_TYPE_REGS_PARTIAL          2
+
 #ifndef __ASSEMBLY__
 #include <asm/byteorder.h>
 
 
        .sp_offset = sizeof(long),
        .sp_reg = ORC_REG_SP,
        .bp_reg = ORC_REG_UNDEFINED,
-       .type = UNWIND_HINT_TYPE_CALL
+       .type = ORC_TYPE_CALL
 };
 
 #ifdef CONFIG_CALL_THUNKS
 
 /* Fake frame pointer entry -- used as a fallback for generated code */
 static struct orc_entry orc_fp_entry = {
-       .type           = UNWIND_HINT_TYPE_CALL,
+       .type           = ORC_TYPE_CALL,
        .sp_reg         = ORC_REG_BP,
        .sp_offset      = 16,
        .bp_reg         = ORC_REG_PREV_SP,
 
        /* Find IP, SP and possibly regs: */
        switch (orc->type) {
-       case UNWIND_HINT_TYPE_CALL:
+       case ORC_TYPE_CALL:
                ip_p = sp - sizeof(long);
 
                if (!deref_stack_reg(state, ip_p, &state->ip))
                state->prev_regs = NULL;
                break;
 
-       case UNWIND_HINT_TYPE_REGS:
+       case ORC_TYPE_REGS:
                if (!deref_stack_regs(state, sp, &state->ip, &state->sp)) {
                        orc_warn_current("can't access registers at %pB\n",
                                         (void *)orig_ip);
                state->full_regs = true;
                break;
 
-       case UNWIND_HINT_TYPE_REGS_PARTIAL:
+       case ORC_TYPE_REGS_PARTIAL:
                if (!deref_stack_iret_regs(state, sp, &state->ip, &state->sp)) {
                        orc_warn_current("can't access iret registers at %pB\n",
                                         (void *)orig_ip);
                        goto err;
                }
-               /* See UNWIND_HINT_TYPE_REGS case comment. */
+               /* See ORC_TYPE_REGS case comment. */
                state->ip = unwind_recover_rethook(state, state->ip,
                                (unsigned long *)(state->sp - sizeof(long)));
 
 
 #define UNWIND_HINT_TYPE_CALL          0
 #define UNWIND_HINT_TYPE_REGS          1
 #define UNWIND_HINT_TYPE_REGS_PARTIAL  2
+/* The below hint types don't have corresponding ORC types */
 #define UNWIND_HINT_TYPE_FUNC          3
 #define UNWIND_HINT_TYPE_ENTRY         4
 #define UNWIND_HINT_TYPE_SAVE          5
 
 #define ORC_REG_SP_INDIRECT            9
 #define ORC_REG_MAX                    15
 
+#define ORC_TYPE_CALL                  0
+#define ORC_TYPE_REGS                  1
+#define ORC_TYPE_REGS_PARTIAL          2
+
 #ifndef __ASSEMBLY__
 #include <asm/byteorder.h>
 
 
 #define UNWIND_HINT_TYPE_CALL          0
 #define UNWIND_HINT_TYPE_REGS          1
 #define UNWIND_HINT_TYPE_REGS_PARTIAL  2
+/* The below hint types don't have corresponding ORC types */
 #define UNWIND_HINT_TYPE_FUNC          3
 #define UNWIND_HINT_TYPE_ENTRY         4
 #define UNWIND_HINT_TYPE_SAVE          5
 
  */
 
 #include <unistd.h>
-#include <linux/objtool_types.h>
 #include <asm/orc_types.h>
 #include <objtool/objtool.h>
 #include <objtool/warn.h>
 static const char *orc_type_name(unsigned int type)
 {
        switch (type) {
-       case UNWIND_HINT_TYPE_CALL:
+       case ORC_TYPE_CALL:
                return "call";
-       case UNWIND_HINT_TYPE_REGS:
+       case ORC_TYPE_REGS:
                return "regs";
-       case UNWIND_HINT_TYPE_REGS_PARTIAL:
+       case ORC_TYPE_REGS_PARTIAL:
                return "regs (partial)";
        default:
                return "?";
 
                return 0;
        }
 
+       switch (cfi->type) {
+       case UNWIND_HINT_TYPE_CALL:
+               orc->type = ORC_TYPE_CALL;
+               break;
+       case UNWIND_HINT_TYPE_REGS:
+               orc->type = ORC_TYPE_REGS;
+               break;
+       case UNWIND_HINT_TYPE_REGS_PARTIAL:
+               orc->type = ORC_TYPE_REGS_PARTIAL;
+               break;
+       default:
+               WARN_FUNC("unknown unwind hint type %d",
+                         insn->sec, insn->offset, cfi->type);
+               return -1;
+       }
+
        orc->end = cfi->end;
        orc->signal = cfi->signal;
 
 
        orc->sp_offset = cfi->cfa.offset;
        orc->bp_offset = bp->offset;
-       orc->type = cfi->type;
 
        return 0;
 }
        struct orc_entry null = {
                .sp_reg  = ORC_REG_UNDEFINED,
                .bp_reg  = ORC_REG_UNDEFINED,
-               .type    = UNWIND_HINT_TYPE_CALL,
+               .type    = ORC_TYPE_CALL,
        };
 
        /* Build a deduplicated list of ORC entries: */