/* Object is not a package element */
 
 #define ACPI_NOT_PACKAGE_ELEMENT    ACPI_UINT32_MAX
+#define ACPI_ALL_PACKAGE_ELEMENTS   (ACPI_UINT32_MAX-1)
 
 /* Always emit warning message, not dependent on node flags */
 
                            union acpi_operand_object *original_object,
                            union acpi_operand_object **return_object);
 
+acpi_status
+acpi_ns_convert_to_reference(struct acpi_namespace_node *scope,
+                            union acpi_operand_object *original_object,
+                            union acpi_operand_object **return_object);
+
 /*
  * nsdump - Namespace dump/print utilities
  */
 
        *return_object = new_object;
        return (AE_OK);
 }
+
+/*******************************************************************************
+ *
+ * FUNCTION:    acpi_ns_convert_to_reference
+ *
+ * PARAMETERS:  scope               - Namespace node for the method/object
+ *              original_object     - Object to be converted
+ *              return_object       - Where the new converted object is returned
+ *
+ * RETURN:      Status. AE_OK if conversion was successful
+ *
+ * DESCRIPTION: Attempt to convert a Integer object to a object_reference.
+ *              Buffer.
+ *
+ ******************************************************************************/
+
+acpi_status
+acpi_ns_convert_to_reference(struct acpi_namespace_node * scope,
+                            union acpi_operand_object *original_object,
+                            union acpi_operand_object **return_object)
+{
+       union acpi_operand_object *new_object = NULL;
+       acpi_status status;
+       struct acpi_namespace_node *node;
+       union acpi_generic_state scope_info;
+       char *name;
+
+       ACPI_FUNCTION_NAME(ns_convert_to_reference);
+
+       /* Convert path into internal presentation */
+
+       status =
+           acpi_ns_internalize_name(original_object->string.pointer, &name);
+       if (ACPI_FAILURE(status)) {
+               return_ACPI_STATUS(status);
+       }
+
+       /* Find the namespace node */
+
+       scope_info.scope.node =
+           ACPI_CAST_PTR(struct acpi_namespace_node, scope);
+       status =
+           acpi_ns_lookup(&scope_info, name, ACPI_TYPE_ANY, ACPI_IMODE_EXECUTE,
+                          ACPI_NS_SEARCH_PARENT | ACPI_NS_DONT_OPEN_SCOPE,
+                          NULL, &node);
+       if (ACPI_FAILURE(status)) {
+
+               /* Check if we are resolving a named reference within a package */
+
+               ACPI_ERROR_NAMESPACE(original_object->string.pointer, status);
+               goto error_exit;
+       }
+
+       /* Create and init a new internal ACPI object */
+
+       new_object = acpi_ut_create_internal_object(ACPI_TYPE_LOCAL_REFERENCE);
+       if (!new_object) {
+               status = AE_NO_MEMORY;
+               goto error_exit;
+       }
+       new_object->reference.node = node;
+       new_object->reference.object = node->object;
+       new_object->reference.class = ACPI_REFCLASS_NAME;
+
+       /*
+        * Increase reference of the object if needed (the object is likely a
+        * null for device nodes).
+        */
+       acpi_ut_add_reference(node->object);
+
+error_exit:
+       ACPI_FREE(name);
+       *return_object = new_object;
+       return (AE_OK);
+}
 
         ACPI_NOT_PACKAGE_ELEMENT,
         acpi_ns_convert_to_resource},
 
+       /* Object reference conversions */
+
+       {"_DEP", ACPI_RTYPE_STRING, ACPI_ALL_PACKAGE_ELEMENTS,
+        acpi_ns_convert_to_reference},
+
        /* Unicode conversions */
 
        {"_MLS", ACPI_RTYPE_STRING, 1,
                        /* Check if we can actually repair this name/type combination */
 
                        if ((return_btype & this_name->unexpected_btypes) &&
-                           (package_index == this_name->package_index)) {
+                           (this_name->package_index ==
+                            ACPI_ALL_PACKAGE_ELEMENTS
+                            || package_index == this_name->package_index)) {
                                return (this_name);
                        }