From: Bob Moore Date: Mon, 31 Dec 2012 00:05:33 +0000 (+0000) Subject: ACPICA: Add root node optimization to internal get namespace node function. X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=f8c9bfe461bb2923ae5d070f1ec0fb312825caad;p=linux-beck.git ACPICA: Add root node optimization to internal get namespace node function. Detect a request for the root node (a lone backslash) up front before invoking a full namespace lookup. Signed-off-by: Bob Moore Signed-off-by: Lv Zheng Signed-off-by: Rafael J. Wysocki --- diff --git a/drivers/acpi/acpica/nsutils.c b/drivers/acpi/acpica/nsutils.c index d2dfe6172181..596d4ccc963f 100644 --- a/drivers/acpi/acpica/nsutils.c +++ b/drivers/acpi/acpica/nsutils.c @@ -671,6 +671,8 @@ acpi_ns_get_node(struct acpi_namespace_node *prefix_node, ACPI_FUNCTION_TRACE_PTR(ns_get_node, ACPI_CAST_PTR(char, pathname)); + /* Simplest case is a null pathname */ + if (!pathname) { *return_node = prefix_node; if (!prefix_node) { @@ -679,6 +681,13 @@ acpi_ns_get_node(struct acpi_namespace_node *prefix_node, return_ACPI_STATUS(AE_OK); } + /* Quick check for a reference to the root */ + + if (ACPI_IS_ROOT_PREFIX(pathname[0]) && (!pathname[1])) { + *return_node = acpi_gbl_root_node; + return_ACPI_STATUS(AE_OK); + } + /* Convert path to internal representation */ status = acpi_ns_internalize_name(pathname, &internal_path);