diff options
author | Bob Moore <robert.moore@intel.com> | 2005-11-02 00:00:00 -0500 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2005-12-10 00:26:05 -0500 |
commit | 96db255c8f014ae3497507104e8df809785a619f (patch) | |
tree | 79d2c506644370fd6c10d94bd40c419cd3bad148 /drivers/acpi/events/evevent.c | |
parent | 0897831bb54eb36fd9e2a22da7f0f64be1b20d09 (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.c | 42 |
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 | |||
116 | acpi_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 |