fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / drivers / acpi / namespace / nswalk.c
index 5482e74..c8f6bef 100644 (file)
@@ -5,7 +5,7 @@
  *****************************************************************************/
 
 /*
- * Copyright (C) 2000 - 2004, R. Byron Moore
+ * Copyright (C) 2000 - 2006, R. Byron Moore
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * POSSIBILITY OF SUCH DAMAGES.
  */
 
-
 #include <acpi/acpi.h>
 #include <acpi/acnamesp.h>
 
-
 #define _COMPONENT          ACPI_NAMESPACE
-        ACPI_MODULE_NAME    ("nswalk")
-
+ACPI_MODULE_NAME("nswalk")
 
 /*******************************************************************************
  *
@@ -56,7 +53,7 @@
  *
  * PARAMETERS:  Type                - Type of node to be searched for
  *              parent_node         - Parent node whose children we are
- *                                     getting
+ *                                    getting
  *              child_node          - Previous child that was found.
  *                                    The NEXT child will be returned
  *
  *              within Scope is returned.
  *
  ******************************************************************************/
-
-struct acpi_namespace_node *
-acpi_ns_get_next_node (
-       acpi_object_type                type,
-       struct acpi_namespace_node      *parent_node,
-       struct acpi_namespace_node      *child_node)
+struct acpi_namespace_node *acpi_ns_get_next_node(acpi_object_type type,
+                                                 struct acpi_namespace_node
+                                                 *parent_node,
+                                                 struct acpi_namespace_node
+                                                 *child_node)
 {
-       struct acpi_namespace_node      *next_node = NULL;
-
-
-       ACPI_FUNCTION_ENTRY ();
+       struct acpi_namespace_node *next_node = NULL;
 
+       ACPI_FUNCTION_ENTRY();
 
        if (!child_node) {
+
                /* It's really the parent's _scope_ that we want */
 
                if (parent_node->child) {
@@ -92,12 +87,13 @@ acpi_ns_get_next_node (
        else {
                /* Start search at the NEXT node */
 
-               next_node = acpi_ns_get_next_valid_node (child_node);
+               next_node = acpi_ns_get_next_valid_node(child_node);
        }
 
        /* If any type is OK, we are done */
 
        if (type == ACPI_TYPE_ANY) {
+
                /* next_node is NULL if we are at the end-of-list */
 
                return (next_node);
@@ -106,6 +102,7 @@ acpi_ns_get_next_node (
        /* Must search for the node -- but within this scope only */
 
        while (next_node) {
+
                /* If type matches, we are done */
 
                if (next_node->type == type) {
@@ -114,7 +111,7 @@ acpi_ns_get_next_node (
 
                /* Otherwise, move on to the next node */
 
-               next_node = acpi_ns_get_next_valid_node (next_node);
+               next_node = acpi_ns_get_next_valid_node(next_node);
        }
 
        /* Not found */
@@ -122,7 +119,6 @@ acpi_ns_get_next_node (
        return (NULL);
 }
 
-
 /*******************************************************************************
  *
  * FUNCTION:    acpi_ns_walk_namespace
@@ -154,25 +150,21 @@ acpi_ns_get_next_node (
  ******************************************************************************/
 
 acpi_status
-acpi_ns_walk_namespace (
-       acpi_object_type                type,
-       acpi_handle                     start_node,
-       u32                             max_depth,
-       u8                              unlock_before_callback,
-       acpi_walk_callback              user_function,
-       void                            *context,
-       void                            **return_value)
+acpi_ns_walk_namespace(acpi_object_type type,
+                      acpi_handle start_node,
+                      u32 max_depth,
+                      u8 unlock_before_callback,
+                      acpi_walk_callback user_function,
+                      void *context, void **return_value)
 {
-       acpi_status                     status;
-       acpi_status                     mutex_status;
-       struct acpi_namespace_node      *child_node;
-       struct acpi_namespace_node      *parent_node;
-       acpi_object_type                child_type;
-       u32                             level;
-
-
-       ACPI_FUNCTION_TRACE ("ns_walk_namespace");
+       acpi_status status;
+       acpi_status mutex_status;
+       struct acpi_namespace_node *child_node;
+       struct acpi_namespace_node *parent_node;
+       acpi_object_type child_type;
+       u32 level;
 
+       ACPI_FUNCTION_TRACE(ns_walk_namespace);
 
        /* Special case for the namespace Root Node */
 
@@ -183,9 +175,9 @@ acpi_ns_walk_namespace (
        /* Null child means "get first node" */
 
        parent_node = start_node;
-       child_node  = NULL;
-       child_type  = ACPI_TYPE_ANY;
-       level       = 1;
+       child_node = NULL;
+       child_type = ACPI_TYPE_ANY;
+       level = 1;
 
        /*
         * Traverse the tree of nodes until we bubble back up to where we
@@ -193,10 +185,13 @@ acpi_ns_walk_namespace (
         * bubbled up to (and passed) the original parent handle (start_entry)
         */
        while (level > 0) {
+
                /* Get the next node in this scope.  Null if not found */
 
                status = AE_OK;
-               child_node = acpi_ns_get_next_node (ACPI_TYPE_ANY, parent_node, child_node);
+               child_node =
+                   acpi_ns_get_next_node(ACPI_TYPE_ANY, parent_node,
+                                         child_node);
                if (child_node) {
                        /*
                         * Found node, Get the type if we are not
@@ -212,19 +207,25 @@ acpi_ns_walk_namespace (
                                 * callback function
                                 */
                                if (unlock_before_callback) {
-                                       mutex_status = acpi_ut_release_mutex (ACPI_MTX_NAMESPACE);
-                                       if (ACPI_FAILURE (mutex_status)) {
-                                               return_ACPI_STATUS (mutex_status);
+                                       mutex_status =
+                                           acpi_ut_release_mutex
+                                           (ACPI_MTX_NAMESPACE);
+                                       if (ACPI_FAILURE(mutex_status)) {
+                                               return_ACPI_STATUS
+                                                   (mutex_status);
                                        }
                                }
 
-                               status = user_function (child_node, level,
-                                                context, return_value);
+                               status = user_function(child_node, level,
+                                                      context, return_value);
 
                                if (unlock_before_callback) {
-                                       mutex_status = acpi_ut_acquire_mutex (ACPI_MTX_NAMESPACE);
-                                       if (ACPI_FAILURE (mutex_status)) {
-                                               return_ACPI_STATUS (mutex_status);
+                                       mutex_status =
+                                           acpi_ut_acquire_mutex
+                                           (ACPI_MTX_NAMESPACE);
+                                       if (ACPI_FAILURE(mutex_status)) {
+                                               return_ACPI_STATUS
+                                                   (mutex_status);
                                        }
                                }
 
@@ -239,13 +240,13 @@ acpi_ns_walk_namespace (
 
                                        /* Exit now, with OK status */
 
-                                       return_ACPI_STATUS (AE_OK);
+                                       return_ACPI_STATUS(AE_OK);
 
                                default:
 
                                        /* All others are valid exceptions */
 
-                                       return_ACPI_STATUS (status);
+                                       return_ACPI_STATUS(status);
                                }
                        }
 
@@ -258,18 +259,18 @@ acpi_ns_walk_namespace (
                         * maximum depth has been reached.
                         */
                        if ((level < max_depth) && (status != AE_CTRL_DEPTH)) {
-                               if (acpi_ns_get_next_node (ACPI_TYPE_ANY, child_node, NULL)) {
+                               if (acpi_ns_get_next_node
+                                   (ACPI_TYPE_ANY, child_node, NULL)) {
                                        /*
                                         * There is at least one child of this
                                         * node, visit the onde
                                         */
                                        level++;
-                                       parent_node   = child_node;
-                                       child_node    = NULL;
+                                       parent_node = child_node;
+                                       child_node = NULL;
                                }
                        }
-               }
-               else {
+               } else {
                        /*
                         * No more children of this node (acpi_ns_get_next_node
                         * failed), go back upwards in the namespace tree to
@@ -277,13 +278,11 @@ acpi_ns_walk_namespace (
                         */
                        level--;
                        child_node = parent_node;
-                       parent_node = acpi_ns_get_parent_node (parent_node);
+                       parent_node = acpi_ns_get_parent_node(parent_node);
                }
        }
 
        /* Complete walk, not terminated by user function */
 
-       return_ACPI_STATUS (AE_OK);
+       return_ACPI_STATUS(AE_OK);
 }
-
-