public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
From: Len Brown <lenb@kernel.org>
To: linux-acpi@vger.kernel.org
Cc: Bob Moore <robert.moore@intel.com>,
	Alexey Starikovskiy <alexey.y.starikovskiy@intel.com>,
	Len Brown <len.brown@intel.com>
Subject: [PATCH 45/140] ACPICA: Delete recursive feature of ACPI Global Lock
Date: Wed,  7 Feb 2007 13:50:59 -0500	[thread overview]
Message-ID: <1170874433382-git-send-email-lenb@kernel.org> (raw)
Message-ID: <c81da66608d65dab04730582dfdfcdcab779e2fe.1170873816.git.len.brown@intel.com> (raw)
In-Reply-To: <11708744322360-git-send-email-lenb@kernel.org>
In-Reply-To: <9e89dde2b063ca73fcdc9244fe68e2dea32c5088.1170873816.git.len.brown@intel.com>

From: Bob Moore <robert.moore@intel.com>

Completed a new design and implementation for
the ACPI Global Lock support. On the OS side, the global
lock is now treated as a standard AML mutex. Previously,
multiple OS threads could acquire the global lock
simultaneously, but this could cause the BIOS to be starved
by the lock in cases such as the Embedded Controller driver,
where there is a tight coupling between the OS and the BIOS.

Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
---
 drivers/acpi/events/evmisc.c      |  113 +++++++++++++++++++------------------
 drivers/acpi/executer/exmutex.c   |   78 +++++++++++++++-----------
 drivers/acpi/executer/exsystem.c  |   78 +-------------------------
 drivers/acpi/namespace/nsaccess.c |   36 +++++-------
 drivers/acpi/utilities/utdelete.c |   14 +++--
 drivers/acpi/utilities/utglobal.c |    2 +-
 include/acpi/acglobal.h           |    2 +-
 include/acpi/acinterp.h           |    6 --
 include/acpi/aclocal.h            |    1 -
 9 files changed, 132 insertions(+), 198 deletions(-)

diff --git a/drivers/acpi/events/evmisc.c b/drivers/acpi/events/evmisc.c
index bf63edc..f82b81c 100644
--- a/drivers/acpi/events/evmisc.c
+++ b/drivers/acpi/events/evmisc.c
@@ -298,19 +298,13 @@ static void ACPI_SYSTEM_XFACE acpi_ev_global_lock_thread(void *context)
 {
 	acpi_status status;
 
-	/* Signal threads that are waiting for the lock */
+	/* Signal the thread that is waiting for the lock */
 
-	if (acpi_gbl_global_lock_thread_count) {
+	/* Send a unit to the semaphore */
 
-		/* Send sufficient units to the semaphore */
-
-		status =
-		    acpi_os_signal_semaphore(acpi_gbl_global_lock_semaphore,
-					     acpi_gbl_global_lock_thread_count);
-		if (ACPI_FAILURE(status)) {
-			ACPI_ERROR((AE_INFO,
-				    "Could not signal Global Lock semaphore"));
-		}
+	status = acpi_os_signal_semaphore(acpi_gbl_global_lock_semaphore, 1);
+	if (ACPI_FAILURE(status)) {
+		ACPI_ERROR((AE_INFO, "Could not signal Global Lock semaphore"));
 	}
 }
 
@@ -333,7 +327,8 @@ static u32 acpi_ev_global_lock_handler(void *context)
 	u8 acquired = FALSE;
 
 	/*
-	 * Attempt to get the lock
+	 * Attempt to get the lock.
+	 *
 	 * If we don't get it now, it will be marked pending and we will
 	 * take another interrupt when it becomes free.
 	 */
@@ -341,6 +336,7 @@ static u32 acpi_ev_global_lock_handler(void *context)
 	if (acquired) {
 
 		/* Got the lock, now wake all threads waiting for it */
+
 		acpi_gbl_global_lock_acquired = TRUE;
 		acpi_ev_global_lock_thread(context);
 	}
@@ -399,6 +395,16 @@ acpi_status acpi_ev_init_global_lock_handler(void)
  *
  * DESCRIPTION: Attempt to gain ownership of the Global Lock.
  *
+ * MUTEX:       Interpreter must be locked
+ *
+ * Note: The original implementation allowed multiple threads to "acquire" the
+ * Global Lock, and the OS would hold the lock until the last thread had
+ * released it. However, this could potentially starve the BIOS out of the
+ * lock, especially in the case where there is a tight handshake between the
+ * Embedded Controller driver and the BIOS. Therefore, this implementation
+ * allows only one thread to acquire the HW Global Lock at a time, and makes
+ * the global lock appear as a standard mutex on the OS side.
+ *
  *****************************************************************************/
 
 acpi_status acpi_ev_acquire_global_lock(u16 timeout)
@@ -408,27 +414,25 @@ acpi_status acpi_ev_acquire_global_lock(u16 timeout)
 
 	ACPI_FUNCTION_TRACE(ev_acquire_global_lock);
 
-#ifndef ACPI_APPLICATION
-	/* Make sure that we actually have a global lock */
-
-	if (!acpi_gbl_global_lock_present) {
-		return_ACPI_STATUS(AE_NO_GLOBAL_LOCK);
+	/*
+	 * Only one thread can acquire the GL at a time, the global_lock_mutex
+	 * enforces this. This interface releases the interpreter if we must wait.
+	 */
+	status = acpi_ex_system_wait_mutex(acpi_gbl_global_lock_mutex, timeout);
+	if (ACPI_FAILURE(status)) {
+		return_ACPI_STATUS(status);
 	}
-#endif
-
-	/* One more thread wants the global lock */
-
-	acpi_gbl_global_lock_thread_count++;
 
 	/*
-	 * If we (OS side vs. BIOS side) have the hardware lock already,
-	 * we are done
+	 * Make sure that a global lock actually exists. If not, just treat
+	 * the lock as a standard mutex.
 	 */
-	if (acpi_gbl_global_lock_acquired) {
+	if (!acpi_gbl_global_lock_present) {
+		acpi_gbl_global_lock_acquired = TRUE;
 		return_ACPI_STATUS(AE_OK);
 	}
 
-	/* We must acquire the actual hardware lock */
+	/* Attempt to acquire the actual hardware lock */
 
 	ACPI_ACQUIRE_GLOBAL_LOCK(acpi_gbl_common_fACS.global_lock, acquired);
 	if (acquired) {
@@ -436,25 +440,24 @@ acpi_status acpi_ev_acquire_global_lock(u16 timeout)
 		/* We got the lock */
 
 		ACPI_DEBUG_PRINT((ACPI_DB_EXEC,
-				  "Acquired the HW Global Lock\n"));
+				  "Acquired hardware Global Lock\n"));
 
 		acpi_gbl_global_lock_acquired = TRUE;
 		return_ACPI_STATUS(AE_OK);
 	}
 
 	/*
-	 * Did not get the lock.  The pending bit was set above, and we must now
+	 * Did not get the lock. The pending bit was set above, and we must now
 	 * wait until we get the global lock released interrupt.
 	 */
-	ACPI_DEBUG_PRINT((ACPI_DB_EXEC, "Waiting for the HW Global Lock\n"));
+	ACPI_DEBUG_PRINT((ACPI_DB_EXEC, "Waiting for hardware Global Lock\n"));
 
 	/*
-	 * Acquire the global lock semaphore first.
-	 * Since this wait will block, we must release the interpreter
+	 * Wait for handshake with the global lock interrupt handler.
+	 * This interface releases the interpreter if we must wait.
 	 */
-	status =
-	    acpi_ex_system_wait_semaphore(acpi_gbl_global_lock_semaphore,
-					  timeout);
+	status = acpi_ex_system_wait_semaphore(acpi_gbl_global_lock_semaphore,
+					       ACPI_WAIT_FOREVER);
 	return_ACPI_STATUS(status);
 }
 
@@ -477,38 +480,40 @@ acpi_status acpi_ev_release_global_lock(void)
 
 	ACPI_FUNCTION_TRACE(ev_release_global_lock);
 
-	if (!acpi_gbl_global_lock_thread_count) {
+	/* Lock must be acquired */
+
+	if (!acpi_gbl_global_lock_acquired) {
 		ACPI_WARNING((AE_INFO,
-			      "Cannot release HW Global Lock, it has not been acquired"));
+			      "Cannot release the ACPI Global Lock, it has not been acquired"));
 		return_ACPI_STATUS(AE_NOT_ACQUIRED);
 	}
 
-	/* One fewer thread has the global lock */
+	if (acpi_gbl_global_lock_present) {
 
-	acpi_gbl_global_lock_thread_count--;
-	if (acpi_gbl_global_lock_thread_count) {
+		/* Allow any thread to release the lock */
 
-		/* There are still some threads holding the lock, cannot release */
+		ACPI_RELEASE_GLOBAL_LOCK(acpi_gbl_common_fACS.global_lock,
+					 pending);
 
-		return_ACPI_STATUS(AE_OK);
+		/*
+		 * If the pending bit was set, we must write GBL_RLS to the control
+		 * register
+		 */
+		if (pending) {
+			status =
+			    acpi_set_register(ACPI_BITREG_GLOBAL_LOCK_RELEASE,
+					      1, ACPI_MTX_LOCK);
+		}
+
+		ACPI_DEBUG_PRINT((ACPI_DB_EXEC,
+				  "Released hardware Global Lock\n"));
 	}
 
-	/*
-	 * No more threads holding lock, we can do the actual hardware
-	 * release
-	 */
-	ACPI_RELEASE_GLOBAL_LOCK(acpi_gbl_common_fACS.global_lock, pending);
 	acpi_gbl_global_lock_acquired = FALSE;
 
-	/*
-	 * If the pending bit was set, we must write GBL_RLS to the control
-	 * register
-	 */
-	if (pending) {
-		status = acpi_set_register(ACPI_BITREG_GLOBAL_LOCK_RELEASE,
-					   1, ACPI_MTX_LOCK);
-	}
+	/* Release the local GL mutex */
 
+	acpi_os_release_mutex(acpi_gbl_global_lock_mutex);
 	return_ACPI_STATUS(status);
 }
 
diff --git a/drivers/acpi/executer/exmutex.c b/drivers/acpi/executer/exmutex.c
index bf90f04..f1dd1b0 100644
--- a/drivers/acpi/executer/exmutex.c
+++ b/drivers/acpi/executer/exmutex.c
@@ -44,6 +44,7 @@
 
 #include <acpi/acpi.h>
 #include <acpi/acinterp.h>
+#include <acpi/acevents.h>
 
 #define _COMPONENT          ACPI_EXECUTER
 ACPI_MODULE_NAME("exmutex")
@@ -150,7 +151,7 @@ acpi_ex_acquire_mutex(union acpi_operand_object *time_desc,
 		return_ACPI_STATUS(AE_BAD_PARAMETER);
 	}
 
-	/* Sanity check -- we must have a valid thread ID */
+	/* Sanity check: we must have a valid thread ID */
 
 	if (!walk_state->thread) {
 		ACPI_ERROR((AE_INFO,
@@ -174,24 +175,28 @@ acpi_ex_acquire_mutex(union acpi_operand_object *time_desc,
 	/* Support for multiple acquires by the owning thread */
 
 	if (obj_desc->mutex.owner_thread) {
-
-		/* Special case for Global Lock, allow all threads */
-
-		if ((obj_desc->mutex.owner_thread->thread_id ==
-		     walk_state->thread->thread_id) ||
-		    (obj_desc->mutex.os_mutex == ACPI_GLOBAL_LOCK)) {
+		if (obj_desc->mutex.owner_thread->thread_id ==
+		    walk_state->thread->thread_id) {
 			/*
-			 * The mutex is already owned by this thread,
-			 * just increment the acquisition depth
+			 * The mutex is already owned by this thread, just increment the
+			 * acquisition depth
 			 */
 			obj_desc->mutex.acquisition_depth++;
 			return_ACPI_STATUS(AE_OK);
 		}
 	}
 
-	/* Acquire the mutex, wait if necessary */
+	/* Acquire the mutex, wait if necessary. Special case for Global Lock */
+
+	if (obj_desc->mutex.os_mutex == acpi_gbl_global_lock_mutex) {
+		status =
+		    acpi_ev_acquire_global_lock((u16) time_desc->integer.value);
+	} else {
+		status = acpi_ex_system_wait_mutex(obj_desc->mutex.os_mutex,
+						   (u16) time_desc->integer.
+						   value);
+	}
 
-	status = acpi_ex_system_acquire_mutex(time_desc, obj_desc);
 	if (ACPI_FAILURE(status)) {
 
 		/* Includes failure from a timeout on time_desc */
@@ -211,7 +216,6 @@ acpi_ex_acquire_mutex(union acpi_operand_object *time_desc,
 	/* Link the mutex to the current thread for force-unlock at method exit */
 
 	acpi_ex_link_mutex(obj_desc, walk_state->thread);
-
 	return_ACPI_STATUS(AE_OK);
 }
 
@@ -232,7 +236,7 @@ acpi_status
 acpi_ex_release_mutex(union acpi_operand_object *obj_desc,
 		      struct acpi_walk_state *walk_state)
 {
-	acpi_status status;
+	acpi_status status = AE_OK;
 
 	ACPI_FUNCTION_TRACE(ex_release_mutex);
 
@@ -249,7 +253,7 @@ acpi_ex_release_mutex(union acpi_operand_object *obj_desc,
 		return_ACPI_STATUS(AE_AML_MUTEX_NOT_ACQUIRED);
 	}
 
-	/* Sanity check -- we must have a valid thread ID */
+	/* Sanity check: we must have a valid thread ID */
 
 	if (!walk_state->thread) {
 		ACPI_ERROR((AE_INFO,
@@ -264,7 +268,7 @@ acpi_ex_release_mutex(union acpi_operand_object *obj_desc,
 	 */
 	if ((obj_desc->mutex.owner_thread->thread_id !=
 	     walk_state->thread->thread_id)
-	    && (obj_desc->mutex.os_mutex != ACPI_GLOBAL_LOCK)) {
+	    && (obj_desc->mutex.os_mutex != acpi_gbl_global_lock_mutex)) {
 		ACPI_ERROR((AE_INFO,
 			    "Thread %lX cannot release Mutex [%4.4s] acquired by thread %lX",
 			    (unsigned long)walk_state->thread->thread_id,
@@ -274,8 +278,8 @@ acpi_ex_release_mutex(union acpi_operand_object *obj_desc,
 	}
 
 	/*
-	 * The sync level of the mutex must be less than or
-	 * equal to the current sync level
+	 * The sync level of the mutex must be less than or equal to the current
+	 * sync level
 	 */
 	if (obj_desc->mutex.sync_level > walk_state->thread->current_sync_level) {
 		ACPI_ERROR((AE_INFO,
@@ -298,11 +302,15 @@ acpi_ex_release_mutex(union acpi_operand_object *obj_desc,
 
 	acpi_ex_unlink_mutex(obj_desc);
 
-	/* Release the mutex */
+	/* Release the mutex, special case for Global Lock */
 
-	status = acpi_ex_system_release_mutex(obj_desc);
+	if (obj_desc->mutex.os_mutex == acpi_gbl_global_lock_mutex) {
+		status = acpi_ev_release_global_lock();
+	} else {
+		acpi_os_release_mutex(obj_desc->mutex.os_mutex);
+	}
 
-	/* Update the mutex and walk state, restore sync_level before acquire */
+	/* Update the mutex and restore sync_level */
 
 	obj_desc->mutex.owner_thread = NULL;
 	walk_state->thread->current_sync_level =
@@ -326,34 +334,38 @@ acpi_ex_release_mutex(union acpi_operand_object *obj_desc,
 void acpi_ex_release_all_mutexes(struct acpi_thread_state *thread)
 {
 	union acpi_operand_object *next = thread->acquired_mutex_list;
-	union acpi_operand_object *this;
-	acpi_status status;
+	union acpi_operand_object *obj_desc;
 
 	ACPI_FUNCTION_ENTRY();
 
 	/* Traverse the list of owned mutexes, releasing each one */
 
 	while (next) {
-		this = next;
-		next = this->mutex.next;
+		obj_desc = next;
+		next = obj_desc->mutex.next;
+
+		obj_desc->mutex.prev = NULL;
+		obj_desc->mutex.next = NULL;
+		obj_desc->mutex.acquisition_depth = 1;
+
+		/* Release the mutex, special case for Global Lock */
 
-		this->mutex.acquisition_depth = 1;
-		this->mutex.prev = NULL;
-		this->mutex.next = NULL;
+		if (obj_desc->mutex.os_mutex == acpi_gbl_global_lock_mutex) {
 
-		/* Release the mutex */
+			/* Ignore errors */
 
-		status = acpi_ex_system_release_mutex(this);
-		if (ACPI_FAILURE(status)) {
-			continue;
+			(void)acpi_ev_release_global_lock();
+		} else {
+			acpi_os_release_mutex(obj_desc->mutex.os_mutex);
 		}
 
 		/* Mark mutex unowned */
 
-		this->mutex.owner_thread = NULL;
+		obj_desc->mutex.owner_thread = NULL;
 
 		/* Update Thread sync_level (Last mutex is the important one) */
 
-		thread->current_sync_level = this->mutex.original_sync_level;
+		thread->current_sync_level =
+		    obj_desc->mutex.original_sync_level;
 	}
 }
diff --git a/drivers/acpi/executer/exsystem.c b/drivers/acpi/executer/exsystem.c
index 28aef3e..3b9736a 100644
--- a/drivers/acpi/executer/exsystem.c
+++ b/drivers/acpi/executer/exsystem.c
@@ -227,82 +227,6 @@ acpi_status acpi_ex_system_do_suspend(acpi_integer how_long)
 
 /*******************************************************************************
  *
- * FUNCTION:    acpi_ex_system_acquire_mutex
- *
- * PARAMETERS:  time_desc       - Maximum time to wait for the mutex
- *              obj_desc        - The object descriptor for this op
- *
- * RETURN:      Status
- *
- * DESCRIPTION: Provides an access point to perform synchronization operations
- *              within the AML.  This function will cause a lock to be generated
- *              for the Mutex pointed to by obj_desc.
- *
- ******************************************************************************/
-
-acpi_status
-acpi_ex_system_acquire_mutex(union acpi_operand_object * time_desc,
-			     union acpi_operand_object * obj_desc)
-{
-	acpi_status status = AE_OK;
-
-	ACPI_FUNCTION_TRACE_PTR(ex_system_acquire_mutex, obj_desc);
-
-	if (!obj_desc) {
-		return_ACPI_STATUS(AE_BAD_PARAMETER);
-	}
-
-	/* Support for the _GL_ Mutex object -- go get the global lock */
-
-	if (obj_desc->mutex.os_mutex == ACPI_GLOBAL_LOCK) {
-		status =
-		    acpi_ev_acquire_global_lock((u16) time_desc->integer.value);
-		return_ACPI_STATUS(status);
-	}
-
-	status = acpi_ex_system_wait_mutex(obj_desc->mutex.os_mutex,
-					   (u16) time_desc->integer.value);
-	return_ACPI_STATUS(status);
-}
-
-/*******************************************************************************
- *
- * FUNCTION:    acpi_ex_system_release_mutex
- *
- * PARAMETERS:  obj_desc        - The object descriptor for this op
- *
- * RETURN:      Status
- *
- * DESCRIPTION: Provides an access point to perform synchronization operations
- *              within the AML.  This operation is a request to release a
- *              previously acquired Mutex.  If the Mutex variable is set then
- *              it will be decremented.
- *
- ******************************************************************************/
-
-acpi_status acpi_ex_system_release_mutex(union acpi_operand_object *obj_desc)
-{
-	acpi_status status = AE_OK;
-
-	ACPI_FUNCTION_TRACE(ex_system_release_mutex);
-
-	if (!obj_desc) {
-		return_ACPI_STATUS(AE_BAD_PARAMETER);
-	}
-
-	/* Support for the _GL_ Mutex object -- release the global lock */
-
-	if (obj_desc->mutex.os_mutex == ACPI_GLOBAL_LOCK) {
-		status = acpi_ev_release_global_lock();
-		return_ACPI_STATUS(status);
-	}
-
-	acpi_os_release_mutex(obj_desc->mutex.os_mutex);
-	return_ACPI_STATUS(AE_OK);
-}
-
-/*******************************************************************************
- *
  * FUNCTION:    acpi_ex_system_signal_event
  *
  * PARAMETERS:  obj_desc        - The object descriptor for this op
@@ -314,7 +238,7 @@ acpi_status acpi_ex_system_release_mutex(union acpi_operand_object *obj_desc)
  *
  ******************************************************************************/
 
-acpi_status acpi_ex_system_signal_event(union acpi_operand_object *obj_desc)
+acpi_status acpi_ex_system_signal_event(union acpi_operand_object * obj_desc)
 {
 	acpi_status status = AE_OK;
 
diff --git a/drivers/acpi/namespace/nsaccess.c b/drivers/acpi/namespace/nsaccess.c
index c1c6c23..b2ef673 100644
--- a/drivers/acpi/namespace/nsaccess.c
+++ b/drivers/acpi/namespace/nsaccess.c
@@ -195,31 +195,27 @@ acpi_status acpi_ns_root_initialize(void)
 				obj_desc->mutex.sync_level =
 				    (u8) (ACPI_TO_INTEGER(val) - 1);
 
-				if (ACPI_STRCMP(init_val->name, "_GL_") == 0) {
-
-					/* Create a counting semaphore for the global lock */
+				/* Create a mutex */
+
+				status =
+				    acpi_os_create_mutex(&obj_desc->mutex.
+							 os_mutex);
+				if (ACPI_FAILURE(status)) {
+					acpi_ut_remove_reference(obj_desc);
+					goto unlock_and_exit;
+				}
 
-					status =
-					    acpi_os_create_semaphore
-					    (ACPI_NO_UNIT_LIMIT, 1,
-					     &acpi_gbl_global_lock_semaphore);
-					if (ACPI_FAILURE(status)) {
-						acpi_ut_remove_reference
-						    (obj_desc);
-						goto unlock_and_exit;
-					}
+				/* Special case for ACPI Global Lock */
 
-					/* Mark this mutex as very special */
+				if (ACPI_STRCMP(init_val->name, "_GL_") == 0) {
+					acpi_gbl_global_lock_mutex =
+					    obj_desc->mutex.os_mutex;
 
-					obj_desc->mutex.os_mutex =
-					    ACPI_GLOBAL_LOCK;
-				} else {
-					/* Create a mutex */
+					/* Create additional counting semaphore for global lock */
 
 					status =
-					    acpi_os_create_mutex(&obj_desc->
-								 mutex.
-								 os_mutex);
+					    acpi_os_create_semaphore(1, 1,
+								     &acpi_gbl_global_lock_semaphore);
 					if (ACPI_FAILURE(status)) {
 						acpi_ut_remove_reference
 						    (obj_desc);
diff --git a/drivers/acpi/utilities/utdelete.c b/drivers/acpi/utilities/utdelete.c
index 9d3f114..af8e65f 100644
--- a/drivers/acpi/utilities/utdelete.c
+++ b/drivers/acpi/utilities/utdelete.c
@@ -158,16 +158,20 @@ static void acpi_ut_delete_internal_obj(union acpi_operand_object *object)
 				  "***** Mutex %p, OS Mutex %p\n",
 				  object, object->mutex.os_mutex));
 
-		if (object->mutex.os_mutex != ACPI_GLOBAL_LOCK) {
-			acpi_ex_unlink_mutex(object);
-			acpi_os_delete_mutex(object->mutex.os_mutex);
-		} else {
-			/* Global Lock "mutex" is actually a counting semaphore */
+		if (object->mutex.os_mutex == acpi_gbl_global_lock_mutex) {
+
+			/* Global Lock has extra semaphore */
 
 			(void)
 			    acpi_os_delete_semaphore
 			    (acpi_gbl_global_lock_semaphore);
 			acpi_gbl_global_lock_semaphore = NULL;
+
+			acpi_os_delete_mutex(object->mutex.os_mutex);
+			acpi_gbl_global_lock_mutex = NULL;
+		} else {
+			acpi_ex_unlink_mutex(object);
+			acpi_os_delete_mutex(object->mutex.os_mutex);
 		}
 		break;
 
diff --git a/drivers/acpi/utilities/utglobal.c b/drivers/acpi/utilities/utglobal.c
index 014030a..1038452 100644
--- a/drivers/acpi/utilities/utglobal.c
+++ b/drivers/acpi/utilities/utglobal.c
@@ -795,8 +795,8 @@ void acpi_ut_init_globals(void)
 	/* Global Lock support */
 
 	acpi_gbl_global_lock_semaphore = NULL;
+	acpi_gbl_global_lock_mutex = NULL;
 	acpi_gbl_global_lock_acquired = FALSE;
-	acpi_gbl_global_lock_thread_count = 0;
 	acpi_gbl_global_lock_handle = 0;
 
 	/* Miscellaneous variables */
diff --git a/include/acpi/acglobal.h b/include/acpi/acglobal.h
index 06972e6..bf43184 100644
--- a/include/acpi/acglobal.h
+++ b/include/acpi/acglobal.h
@@ -197,6 +197,7 @@ ACPI_EXTERN struct acpi_mutex_info acpi_gbl_mutex_info[ACPI_NUM_MUTEX];
 /*
  * Global lock semaphore works in conjunction with the actual HW global lock
  */
+ACPI_EXTERN acpi_mutex acpi_gbl_global_lock_mutex;
 ACPI_EXTERN acpi_semaphore acpi_gbl_global_lock_semaphore;
 
 /*
@@ -240,7 +241,6 @@ ACPI_EXTERN struct acpi_walk_state *acpi_gbl_breakpoint_walk;
 
 /* Misc */
 
-ACPI_EXTERN u32 acpi_gbl_global_lock_thread_count;
 ACPI_EXTERN u32 acpi_gbl_original_mode;
 ACPI_EXTERN u32 acpi_gbl_rsdp_original_location;
 ACPI_EXTERN u32 acpi_gbl_ns_lookup_count;
diff --git a/include/acpi/acinterp.h b/include/acpi/acinterp.h
index 91586d0..f266b38 100644
--- a/include/acpi/acinterp.h
+++ b/include/acpi/acinterp.h
@@ -277,12 +277,6 @@ acpi_status acpi_ex_system_do_suspend(acpi_integer time);
 
 acpi_status acpi_ex_system_do_stall(u32 time);
 
-acpi_status
-acpi_ex_system_acquire_mutex(union acpi_operand_object *time,
-			     union acpi_operand_object *obj_desc);
-
-acpi_status acpi_ex_system_release_mutex(union acpi_operand_object *obj_desc);
-
 acpi_status acpi_ex_system_signal_event(union acpi_operand_object *obj_desc);
 
 acpi_status
diff --git a/include/acpi/aclocal.h b/include/acpi/aclocal.h
index 063c4b5..d542140 100644
--- a/include/acpi/aclocal.h
+++ b/include/acpi/aclocal.h
@@ -51,7 +51,6 @@
 #define ACPI_SERIALIZED                 0xFF
 
 typedef u32 acpi_mutex_handle;
-#define ACPI_GLOBAL_LOCK                (acpi_semaphore) (-1)
 
 /* Total number of aml opcodes defined */
 
-- 
1.5.0.rc3.39.gec804

  parent reply	other threads:[~2007-02-07 18:54 UTC|newest]

Thread overview: 143+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-07 18:50 ACPI patches for 2.6.21 Len Brown
2007-02-07 18:50 ` Len Brown
2007-02-07 18:50   ` Len Brown
     [not found]     ` <9e89dde2b063ca73fcdc9244fe68e2dea32c5088.1170873816.git.len.brown@intel.com>
2007-02-07 18:50       ` [PATCH 1/140] ACPI: clean up scan.c Len Brown
     [not found]       ` <1d268b0a0f5407138caf0dec9559d68e657a3a74.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 2/140] ACPI: rename some functions Len Brown
     [not found]       ` <d43ec68e9837dfa6618ab473622683fdbf6e68a9.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 3/140] ACPI: add device_driver and hepler functions Len Brown
     [not found]       ` <5d9464a46918ced087c351a10f38cee95725f85b.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 4/140] ACPI: add ACPI bus_type for driver model Len Brown
     [not found]       ` <1890a97ab3f66d1e99768439f8067608b9b97fe3.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 5/140] ACPI: change registration interface to follow " Len Brown
     [not found]       ` <a7178df5e7e5730e5daa6cf6d8b8bf73adbe75c0.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 6/140] ACPI: adjust init order Len Brown
     [not found]       ` <f883d9db008deb20d4969c26475100cec2b7f6f8.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 7/140] ACPI: convert to sysfs framework Len Brown
     [not found]       ` <c4168bff32e218b8400cb48b48adb9b7f7bb31b8.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 8/140] ACPI: add acpi_bus_ops in acpi_device Len Brown
     [not found]       ` <96333578b023957537c3e98b50af7f3b7e08e411.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 9/140] ACPI: add acpi_bus_removal_type " Len Brown
     [not found]       ` <54a07001b9efb6a3bb9a9d8ac9ddb226e29b5406.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 10/140] ACPI: consolidate two motherboard drivers into one Len Brown
     [not found]       ` <db3e1cc3257758d8a694d0a6ab29f109fb019853.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 11/140] ACPI: Convert ACPI PCI .bind/.unbind to use PCI bridge driver Len Brown
     [not found]       ` <ae8433324be16673c75951986dcf85f29c090557.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 12/140] ACPI: Set fake hid for non-PNPID ACPI devices Len Brown
     [not found]       ` <2dec3ba8d872aa3ffbcdb8f6f8a2c0bcd44e9910.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 13/140] output: Add display output class support Len Brown
     [not found]       ` <b03637b8863159a4518cb0a9ab90577460fe3417.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 14/140] output: Add output class document Len Brown
     [not found]       ` <2f3d000a133f68250635f14f6caf24d32d358090.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 15/140] ACPI: Adds backlight sysfs support for acpi video driver Len Brown
     [not found]       ` <e49bd2dd5a503bb94fe2f2af45422b610940b75d.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 16/140] ACPI: use PNPID:instance_no as bus_id of ACPI device Len Brown
     [not found]       ` <2786f6e388e9dfe9e7b1c3c6bd7fcfba9cfb9831.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 17/140] ACPI: fix Supermicro X7DB8+ Boot regression Len Brown
     [not found]       ` <82cae99980c158cb9724415547ca59cf95c58792.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 18/140] ACPI: video: fix LCD monitor seen as CRT Len Brown
     [not found]       ` <bb0958544f3c7c016b2a3025ab3694363e403aa1.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 19/140] ACPI: use more understandable bus_id for ACPI devices Len Brown
     [not found]       ` <d91a0078476ca536d76419f3b53196873b2931bc.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 20/140] ACPI: Optimize acpi_get_pci_rootbridge_handle() to boot faster Len Brown
     [not found]       ` <9a47cdb1bb85e7944fb7419e4078c46516ef7335.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 21/140] ACPI: move FADT resource reservations from motherboard driver to osl Len Brown
     [not found]       ` <a8c78f7fb1571764f48b8af5459abdd2c66a765f.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 22/140] PNP: reserve system board iomem resources as well as ioport resources Len Brown
     [not found]       ` <5859554c3ad31b722f0b5a1d3a40e19d8ccedd0b.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 23/140] PNP: system.c whitespace cleanup Len Brown
     [not found]       ` <10fccf5fda7529258325769e9da136064b481aab.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 24/140] i386: turn on CONFIG_PNP in defconfig Len Brown
     [not found]       ` <5eca338fb510af78eee5372ff6a3525768ab913f.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 25/140] ACPI: remove motherboard driver (redundant with PNP system driver) Len Brown
     [not found]       ` <fb5c3e1b6d304bcf5f8d697471e36f2fa8d53f1c.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 26/140] PNPACPI: remove EXPERIMENTAL dependency Len Brown
     [not found]       ` <b981c591891dc8885de36498d38fa8d8a5481069.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 27/140] ACPI: add a Kconfig option for ACPI procfs interface Len Brown
     [not found]       ` <219c3c8e268b9307eae9fae4c765a0c589b98338.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 28/140] ACPI: add ACPI debug attribute in sysfs Len Brown
     [not found]       ` <5bb730fda8aa4e3f7e94b259c468ecd095f60770.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 29/140] ACPI: add ACPICA version " Len Brown
     [not found]       ` <85091b718969be7b8e6f795af7e264b8afcd7a6d.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 30/140] asus-laptop: add base driver Len Brown
     [not found]       ` <be18cdabb8ed40ff4b8a240e0d6f4e6c30ff866d.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 31/140] asus-laptop: add led support Len Brown
     [not found]       ` <4564de172dcdce641c0d6c689e79e95b5f6bee2c.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 32/140] asus-laptop: add bluetooth and wlan support Len Brown
     [not found]       ` <6b7091e74fe176da97917ca60524e2b3554305f0.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 33/140] asus-laptop: add backlight support Len Brown
     [not found]       ` <78127b4a90469d6973de2837d483f80f3709e6e0.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 34/140] asus-laptop: add display switching support Len Brown
     [not found]       ` <722ad97153015aaf5becba3084565e98e71a2aed.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 35/140] asus-laptop: add ledd support Len Brown
     [not found]       ` <8b857353237c144113b9bbbf9e0236b3f0e7d315.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 36/140] asus-laptop: add light sensor support Len Brown
     [not found]       ` <8def05fa82bfa4af0c8e83a00ff377ddd9074480.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 37/140] asus-laptop: Lindent Len Brown
     [not found]       ` <7ac2735462349ca35d8807d93d66cf4d9ea7b729.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 39/140] ACPI: delete unused acpi_device_get_debug_info() Len Brown
     [not found]       ` <bfd80223d73f80e1d1c69dace9151756b3ef3b49.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 40/140] ACPI: correct id for fixed buttons Len Brown
     [not found]       ` <db50342205deabaff9ce1fbe53d5ba351992fa08.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 41/140] ACPI: prevent build failure when CONFIG_X86_NUMAQ=y Len Brown
     [not found]       ` <c9e3ba2c1d178195e17bb4f1d49c32e0be8dbb16.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 42/140] ACPICA: Update function header Len Brown
     [not found]       ` <24058054d781934df526be114c612cf2b29cf4e7.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 43/140] ACPICA: Handle mis-matched package length Len Brown
     [not found]       ` <8f9337c88335846b01801b1047a4caf10527a320.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` [PATCH 44/140] ACPICA: Handle case NumElements > Package length Len Brown
     [not found]       ` <c81da66608d65dab04730582dfdfcdcab779e2fe.1170873816.git.len.brown@intel.com>
2007-02-07 18:50         ` Len Brown [this message]
     [not found]       ` <a72d47563bce9542b9a83521a4e8175076278ee9.1170873816.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 46/140] ACPICA: Release global lock from interrupt handler Len Brown
     [not found]       ` <0654a6d3c7a777ddccd35c5bbc5765ffbfe3ea96.1170873816.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 47/140] ACPICA: Cast acpi_thread_id to UINT32 for debug output only Len Brown
     [not found]       ` <6b366e2fe1b68bd9af55caf166eaaf0609ba18a9.1170873816.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 48/140] ACPICA: fix for object premature deletion Len Brown
     [not found]       ` <9c52657a2ac8aac5149e11049497b10918e1f58f.1170873816.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 49/140] ACPICA: Temporary fix for BankValue parameter Len Brown
     [not found]       ` <f93a21c7184de3db962d01f11eb2ddad5396c824.1170873816.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 50/140] ACPICA: Update version to 20060721 Len Brown
     [not found]       ` <2e42005bcdb4f63bed1cea7f537a5534d4bd7a57.1170873816.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 51/140] ACPICA: Update debug output Len Brown
     [not found]       ` <c5fc42ac4d4d6d3e3f619290b86890cb3725d2f8.1170873817.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 53/140] ACPICA: misc fixes for new Table Manager: Len Brown
     [not found]       ` <8f34890dce60f7df6dd23a0d04977c6572adaab8.1170873817.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 54/140] ACPICA: Update comments for individual table fields Len Brown
     [not found]       ` <4bf273939c99fae5bae399f51c417a552d74b97f.1170873817.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 55/140] ACPICA: Fix for FADT conversion in 64-bit mode Len Brown
     [not found]       ` <a4bbb810dedaecf74d54b16b6dd3c33e95e1024c.1170873817.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 56/140] ACPICA: Lint changes Len Brown
     [not found]       ` <ad71860a17ba33eb0e673e9e2cf5ba0d8e3e3fdd.1170873817.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 57/140] ACPICA: minimal patch to integrate new tables into Linux Len Brown
     [not found]       ` <2502fffb1958da66fa50a475081cb6827acdd9f3.1170873817.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 58/140] ACPICA: Add support for DMAR table Len Brown
     [not found]       ` <fdffb72d23172c91af56983f303d1986994df522.1170873817.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 59/140] ACPICA: Add acpi_gpe_count global to track the number of GPE events Len Brown
     [not found]       ` <c5a7156959e89b32260ad6072bbf5077bcdfbeee.1170873817.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 60/140] ACPICA: Disable all wake GPEs after first one recieved Len Brown
     [not found]       ` <3d81b236a82a26fa8bdef9096829675d81890dc9.1170873817.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 61/140] ACPICA: Fix unalignment in acpi_ut_repair_name Len Brown
     [not found]       ` <69874165ab953a62f9adb3096ccd84ed2561a602.1170873817.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 62/140] ACPICA: Store GPE number instead of bitmask Len Brown
     [not found]       ` <84fb2c97731c1631c5548c15f3698ad82c274245.1170873817.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 63/140] ACPICA: Split acpi_format_exception into two parts Len Brown
     [not found]       ` <0eaa14c02809cc93386b907846da5c024fd73012.1170873817.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 64/140] ACPICA: Update version to 20060831 Len Brown
     [not found]       ` <b89b71a0019660d73e3c9671205c49e443d7085c.1170873817.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 65/140] ACPICA: Cleanup of FADT verification function Len Brown
     [not found]       ` <95befdb398e0112ede80529f6770644ecfa5a82e.1170873817.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 66/140] ACPICA: Create tbfadt.c to hold all FADT-related functions Len Brown
     [not found]       ` <1ba753acb372c2955a4843302e92e49ce82e2fea.1170873817.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 67/140] ACPICA: Re-implement interpreters' "serialized mode" Len Brown
     [not found]       ` <765ec20180fb70b4ee9d730167b2a0b76879f791.1170873817.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 68/140] ACPICA: Delete stale FADT functions outside tbfadt.c Len Brown
     [not found]       ` <e56b638bbee3c17b0dee39495bd15afe64db1b94.1170873817.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 69/140] ACPICA: Update comments in tbfadt.c Len Brown
     [not found]       ` <694b0b2092bce3f4610626b04158a6f3a95058e6.1170873817.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 70/140] ACPICA: add ASF comment Len Brown
     [not found]       ` <77389e1263a7c9bc8040bda726e08b6501ba1c8b.1170873817.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 71/140] ACPICA: re-factor table init routines for benefit of iASL Len Brown
     [not found]       ` <15f0c0d1ef7804d098fe3eb0a3f350a490ca269c.1170873817.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 72/140] ACPICA: Allow type ANY to be the target of the Scope operator Len Brown
     [not found]       ` <cc2a472b8411ce0b71738039e15d45917da30fbe.1170873817.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 73/140] ACPICA: IsResourceTemplate now returns ACPI_STATUS Len Brown
     [not found]       ` <775d85b6aa33116da8aacad4168c540ce86a1803.1170873817.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 74/140] ACPICA: Add declarations for ASF! sub-tables Len Brown
     [not found]       ` <ea5d8ebcbb7ca3bcb35a2133805571295f3f06e8.1170873817.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 75/140] ACPICA: FADT verification is now table driven Len Brown
     [not found]       ` <13b572a35ed904ae1e162f8ee89ca7fd6992b44c.1170873817.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 76/140] ACPICA: Report error if method creates 2 objects with the same name Len Brown
     [not found]       ` <7139284460fba90c4dfcfae76680ad36b45f5982.1170873817.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 77/140] ACPICA: New common routine for creating and verifying a local FADT Len Brown
     [not found]       ` <0fab8997f18f71b2391e72e49d8d31a395352dcc.1170873817.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 78/140] ACPICA: Fix memory leak in table load error path Len Brown
     [not found]       ` <977a6226feae3e2c10a4d8227625ff0f04b49239.1170873817.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 79/140] ACPICA: Fix trace output name and whitespace Len Brown
     [not found]       ` <4cdf469090f732ab8a45b2d30b43ec5745699285.1170873817.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 80/140] ACPICA: Update version to 20060912 Len Brown
     [not found]           ` <11708744951308-git-send-emailMessage-Id: <d41eb99bac4063aa3fac2dbb8ca01bedd9f0b3bf.1170873818.git.len.brown@intel.com>
     [not found]       ` <14d64b5e36a82ef21a51d8a15639d26b75a79499.1170873817.git.len.brown@intel.com>
2007-02-07 18:51         ` [PATCH 81/140] ACPICA: Add full table name to disassembler output Len Brown
2007-02-07 18:51       ` [PATCH 82/140] ACPICA: Fix for Global Lock semaphore Len Brown
2007-02-07 18:51       ` [PATCH 83/140] ACPICA: Remove obsolete Flags parameter Len Brown
2007-02-07 18:51       ` [PATCH 84/140] ACPICA: Use faster ByIndex interface to get FACS Len Brown
2007-02-07 18:51       ` [PATCH 85/140] ACPICA: On AML mutex force-release, set depth to zero (was 1) Len Brown
2007-02-07 18:51       ` [PATCH 86/140] ACPICA: Update interpreter error paths to always report the error Len Brown
2007-02-07 18:51       ` [PATCH 87/140] ACPICA: Fix for possible memory leak and fault Len Brown
2007-02-07 18:51       ` [PATCH 88/140] ACPICA: Add new subsystem state bit that is set after SubsystemInitialize is called Len Brown
2007-02-07 18:51       ` [PATCH 89/140] ACPICA: Update version to 20060927 Len Brown
2007-02-07 18:51       ` [PATCH 90/140] ACPICA: Restructured module into multiple functions Len Brown
2007-02-07 18:51       ` [PATCH 91/140] ACPICA: Eliminate control method 2-pass parse/execute Len Brown
2007-02-07 18:51       ` [PATCH 92/140] ACPICA: Fix race condition with AcpiWalkNamespace Len Brown
2007-02-07 18:51       ` [PATCH 93/140] ACPICA: _CID support for PCI Root Bridge detection Len Brown
2007-02-07 18:51       ` [PATCH 94/140] ACPICA: Use manifest constants for parse pass number Len Brown
2007-02-07 18:51       ` [PATCH 95/140] ACPICA: Update comments Len Brown
2007-02-07 18:51       ` [PATCH 96/140] ACPICA: Abort downward walk on temporary node detection Len Brown
2007-02-07 18:51       ` [PATCH 97/140] ACPICA: Fixes for parameter validation Len Brown
2007-02-07 18:51       ` [PATCH 98/140] ACPICA: Update version to 20061011 Len Brown
2007-02-07 18:51       ` [PATCH 99/140] ACPICA: Remove duplicate table manager Len Brown
2007-02-07 18:51       ` [PATCH 100/140] ACPICA: use new ACPI headers Len Brown
2007-02-07 18:51       ` [PATCH 101/140] ACPICA: Remove duplicate table definitions Len Brown
2007-02-07 18:51       ` [PATCH 102/140] ACPICA: Remove duplicate table definitions (non-conflicting) Len Brown
2007-02-07 18:51       ` [PATCH 103/140] ACPICA: Remove duplicate table definitions (non-conflicting), cont Len Brown
2007-02-07 18:51       ` [PATCH 104/140] ACPICA: Update debug output routines for data structure changes Len Brown
2007-02-07 18:51       ` [PATCH 105/140] ACPICA: Miscellaneous table manager updates and optimizations Len Brown
2007-02-07 18:52       ` [PATCH 106/140] ACPICA: Fixes for load() operator Len Brown
2007-02-07 18:52       ` [PATCH 107/140] ACPICA: Remove global lock handler on AcpiTerminate Len Brown
2007-02-07 18:52       ` [PATCH 108/140] ACPICA: Ensure that all structures in acobject.h are aligned, via #pragma Len Brown
2007-02-07 18:52       ` [PATCH 109/140] ACPICA: Add ACPI_MAX macro Len Brown
2007-02-07 18:52       ` [PATCH 110/140] ACPICA: Fail AcpiEnable if ACPI tables not loaded Len Brown
2007-02-07 18:52       ` [PATCH 111/140] ACPICA: Add include of actables.h Len Brown
2007-02-07 18:52       ` [PATCH 112/140] ACPICA: Update version to 20061109 Len Brown
2007-02-07 18:52       ` [PATCH 113/140] ACPICA: Removed all 16-bit support Len Brown
2007-02-07 18:52       ` [PATCH 114/140] ACPICA: Debugger multithreading enhancements Len Brown
2007-02-07 18:52       ` [PATCH 115/140] ACPICA: Update a comment Len Brown
2007-02-07 18:52       ` [PATCH 117/140] ACPICA: Added option to display memory statistics upon termination Len Brown
2007-02-07 18:52       ` [PATCH 118/140] ACPICA: Update version to 20061215 Len Brown
2007-02-07 18:52       ` [PATCH 119/140] ACPICA: Allow ACPI id to be u32 instead of u8 Len Brown
2007-02-07 18:52       ` [PATCH 120/140] ACPICA: Allow processor to be declared with the Device() instead of Processor() Len Brown
2007-02-07 18:52       ` [PATCH 121/140] ACPICA: Update copyright to 2007 Len Brown
2007-02-07 18:52       ` [PATCH 122/140] ACPICA: Fix for incorrect parameter passed to AcpiTbDeleteTable during table load Len Brown
2007-02-07 18:52       ` [PATCH 123/140] ACPICA: Update version to 20070126 Len Brown
2007-02-07 18:52       ` [PATCH 124/140] ACPI: build fix for IBM x440 - CONFIG_X86_SUMMIT Len Brown
2007-02-07 18:52       ` [PATCH 125/140] ACPI: fix HP RX2600 IA64 boot Len Brown
2007-02-07 18:52       ` [PATCH 126/140] ACPI_NUMA: fix HP IA64 simulator issue with extended memory domain Len Brown
2007-02-07 18:52       ` [PATCH 127/140] ACPICA: reduce conflicts with Altix patch series Len Brown
2007-02-07 18:52       ` [PATCH 128/140] Altix: ACPI SSDT PCI device support Len Brown
2007-02-07 18:52       ` [PATCH 129/140] Altix: Add ACPI SSDT PCI device support (hotplug) Len Brown
2007-02-07 18:52       ` [PATCH 130/140] ACPICA: fix gcc build warnings Len Brown
2007-02-07 18:52       ` [PATCH 131/140] ACPI: dock: check if parent is on dock Len Brown
2007-02-07 18:52       ` [PATCH 132/140] ACPI: bay: new driver adding removable drive bay support Len Brown
2007-02-07 18:52       ` [PATCH 133/140] ACPI: bay: delete unused variable Len Brown
2007-02-07 18:52       ` [PATCH 134/140] ACPI: bay: remove prototype procfs code Len Brown
2007-02-07 18:52       ` [PATCH 135/140] ACPI: bay: make bay a platform driver Len Brown
2007-04-13 17:25         ` Bjorn Helgaas
2007-02-07 18:52       ` [PATCH 136/140] ACPI: bay: make drive_bays static Len Brown
2007-02-07 18:52       ` [PATCH 137/140] ACPI: bay: new driver is EXPERIMENTAL Len Brown
2007-02-07 18:52       ` [PATCH 138/140] ACPI: bay: Convert ACPI Bay driver to be compatible with sysfs update Len Brown
2007-02-07 18:52       ` [PATCH 139/140] asus-laptop: merge with ACPICA table update Len Brown
2007-02-07 18:52       ` [PATCH 140/140] ACPICA: reduce table header messages to fit within 80 columns Len Brown
2007-02-07 19:42   ` ACPI patches for 2.6.21 Mattia Dongili
2007-02-07 20:19     ` Len Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1170874433382-git-send-email-lenb@kernel.org \
    --to=lenb@kernel.org \
    --cc=alexey.y.starikovskiy@intel.com \
    --cc=len.brown@intel.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=robert.moore@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox