aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/events/evevent.c
diff options
context:
space:
mode:
authorBob Moore <robert.moore@intel.com>2005-11-02 00:00:00 -0500
committerLen Brown <len.brown@intel.com>2005-12-10 00:26:05 -0500
commit96db255c8f014ae3497507104e8df809785a619f (patch)
tree79d2c506644370fd6c10d94bd40c419cd3bad148 /drivers/acpi/events/evevent.c
parent0897831bb54eb36fd9e2a22da7f0f64be1b20d09 (diff)
[ACPI] ACPICA 20051102
Modified the subsystem initialization sequence to improve GPE support. The GPE initialization has been split into two parts in order to defer execution of the _PRW methods (Power Resources for Wake) until after the hardware is fully initialized and the SCI handler is installed. This allows the _PRW methods to access fields protected by the Global Lock. This will fix systems where a NO_GLOBAL_LOCK exception has been seen during initialization. Fixed a regression with the ConcatenateResTemplate() ASL operator introduced in the 20051021 release. Implemented support for "local" internal ACPI object types within the debugger "Object" command and the acpi_walk_namespace() external interfaces. These local types include RegionFields, BankFields, IndexFields, Alias, and reference objects. Moved common AML resource handling code into a new file, "utresrc.c". This code is shared by both the Resource Manager and the AML Debugger. Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/events/evevent.c')
-rw-r--r--drivers/acpi/events/evevent.c42
1 files changed, 42 insertions, 0 deletions
diff --git a/drivers/acpi/events/evevent.c b/drivers/acpi/events/evevent.c
index 842d1e3fb37b..9522c643b88b 100644
--- a/drivers/acpi/events/evevent.c
+++ b/drivers/acpi/events/evevent.c
@@ -100,6 +100,48 @@ acpi_status acpi_ev_initialize_events(void)
100 100
101/******************************************************************************* 101/*******************************************************************************
102 * 102 *
103 * FUNCTION: acpi_ev_install_fadt_gpes
104 *
105 * PARAMETERS: None
106 *
107 * RETURN: Status
108 *
109 * DESCRIPTION: Completes initialization of the FADT-defined GPE blocks
110 * (0 and 1). This causes the _PRW methods to be run, so the HW
111 * must be fully initialized at this point, including global lock
112 * support.
113 *
114 ******************************************************************************/
115
116acpi_status acpi_ev_install_fadt_gpes(void)
117{
118 acpi_status status;
119
120 ACPI_FUNCTION_TRACE("ev_install_fadt_gpes");
121
122 /* Namespace must be locked */
123
124 status = acpi_ut_acquire_mutex(ACPI_MTX_NAMESPACE);
125 if (ACPI_FAILURE(status)) {
126 return (status);
127 }
128
129 /* FADT GPE Block 0 */
130
131 (void)acpi_ev_initialize_gpe_block(acpi_gbl_fadt_gpe_device,
132 acpi_gbl_gpe_fadt_blocks[0]);
133
134 /* FADT GPE Block 1 */
135
136 (void)acpi_ev_initialize_gpe_block(acpi_gbl_fadt_gpe_device,
137 acpi_gbl_gpe_fadt_blocks[1]);
138
139 (void)acpi_ut_release_mutex(ACPI_MTX_NAMESPACE);
140 return_ACPI_STATUS(AE_OK);
141}
142
143/*******************************************************************************
144 *
103 * FUNCTION: acpi_ev_install_xrupt_handlers 145 * FUNCTION: acpi_ev_install_xrupt_handlers
104 * 146 *
105 * PARAMETERS: None 147 * PARAMETERS: None