]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/acpi/acpica/dswload.c
ACPICA: Namespace: Add support to allow overriding objects
[karo-tx-linux.git] / drivers / acpi / acpica / dswload.c
index 843942fb4be501c8dcc3d15ced1729a152489011..845ff44919c3713f8725f08daff16d9b9679e338 100644 (file)
@@ -315,10 +315,19 @@ acpi_ds_load1_begin_op(struct acpi_walk_state * walk_state,
                flags = ACPI_NS_NO_UPSEARCH;
                if ((walk_state->opcode != AML_SCOPE_OP) &&
                    (!(walk_state->parse_flags & ACPI_PARSE_DEFERRED_OP))) {
-                       flags |= ACPI_NS_ERROR_IF_FOUND;
-                       ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH,
-                                         "[%s] Cannot already exist\n",
-                                         acpi_ut_get_type_name(object_type)));
+                       if (walk_state->namespace_override) {
+                               flags |= ACPI_NS_OVERRIDE_IF_FOUND;
+                               ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH,
+                                                 "[%s] Override allowed\n",
+                                                 acpi_ut_get_type_name
+                                                 (object_type)));
+                       } else {
+                               flags |= ACPI_NS_ERROR_IF_FOUND;
+                               ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH,
+                                                 "[%s] Cannot already exist\n",
+                                                 acpi_ut_get_type_name
+                                                 (object_type)));
+                       }
                } else {
                        ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH,
                                          "[%s] Both Find or Create allowed\n",