ACPICA: Remove extra write for acpi_hw_clear_acpi_status
authorBob Moore <robert.moore@intel.com>
Wed, 18 Feb 2009 06:24:50 +0000 (14:24 +0800)
committerLen Brown <len.brown@intel.com>
Thu, 26 Mar 2009 20:38:24 +0000 (16:38 -0400)
This function was writing an optional PM1B status register
twice.  The existing call to the low-level acpi_hw_register_write
automatically handles a possibly split PM1 A/B register.
ACPICA BZ 751.

http://www.acpica.org/bugzilla/show_bug.cgi?id=751

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
drivers/acpi/acpica/hwregs.c

index 41f1173e02c27983d1bba4c0ff2b4fed24bf8df5..9c8162128c2b943b2d970c6f13e699d367e9cdf3 100644 (file)
@@ -71,7 +71,6 @@ acpi_hw_write_multiple(u32 value,
  * RETURN:      Status
  *
  * DESCRIPTION: Clears all fixed and general purpose status bits
- *              THIS FUNCTION MUST BE CALLED WITH INTERRUPTS DISABLED
  *
  ******************************************************************************/
 
@@ -82,13 +81,13 @@ acpi_status acpi_hw_clear_acpi_status(void)
 
        ACPI_FUNCTION_TRACE(hw_clear_acpi_status);
 
-       ACPI_DEBUG_PRINT((ACPI_DB_IO, "About to write %04X to %04X\n",
+       ACPI_DEBUG_PRINT((ACPI_DB_IO, "About to write %04X to %0llX\n",
                          ACPI_BITMASK_ALL_FIXED_STATUS,
-                         (u16) acpi_gbl_xpm1a_status.address));
+                         acpi_gbl_xpm1a_status.address));
 
        lock_flags = acpi_os_acquire_lock(acpi_gbl_hardware_lock);
 
-       /* Clear the fixed events */
+       /* Clear the fixed events in PM1 A/B */
 
        status = acpi_hw_register_write(ACPI_REGISTER_PM1_STATUS,
                                        ACPI_BITMASK_ALL_FIXED_STATUS);
@@ -96,16 +95,6 @@ acpi_status acpi_hw_clear_acpi_status(void)
                goto unlock_and_exit;
        }
 
-       /* Write PM1B register if present */
-
-       if (acpi_gbl_xpm1b_status.address) {
-               status = acpi_write(ACPI_BITMASK_ALL_FIXED_STATUS,
-                                   &acpi_gbl_xpm1b_status);
-               if (ACPI_FAILURE(status)) {
-                       goto unlock_and_exit;
-               }
-       }
-
        /* Clear the GPE Bits in all GPE registers in all GPE blocks */
 
        status = acpi_ev_walk_gpe_list(acpi_hw_clear_gpe_block, NULL);