|
@@ -208,44 +208,6 @@ acpi_status acpi_enable_event(u32 event, u32 flags)
|
|
|
|
|
|
ACPI_EXPORT_SYMBOL(acpi_enable_event)
|
|
|
|
|
|
-/*******************************************************************************
|
|
|
- *
|
|
|
- * FUNCTION: acpi_clear_and_enable_gpe
|
|
|
- *
|
|
|
- * PARAMETERS: gpe_event_info - GPE to enable
|
|
|
- *
|
|
|
- * RETURN: Status
|
|
|
- *
|
|
|
- * DESCRIPTION: Clear the given GPE from stale events and enable it.
|
|
|
- *
|
|
|
- ******************************************************************************/
|
|
|
-static acpi_status
|
|
|
-acpi_clear_and_enable_gpe(struct acpi_gpe_event_info *gpe_event_info)
|
|
|
-{
|
|
|
- acpi_status status;
|
|
|
-
|
|
|
- /*
|
|
|
- * We will only allow a GPE to be enabled if it has either an
|
|
|
- * associated method (_Lxx/_Exx) or a handler. Otherwise, the
|
|
|
- * GPE will be immediately disabled by acpi_ev_gpe_dispatch the
|
|
|
- * first time it fires.
|
|
|
- */
|
|
|
- if (!(gpe_event_info->flags & ACPI_GPE_DISPATCH_MASK)) {
|
|
|
- return_ACPI_STATUS(AE_NO_HANDLER);
|
|
|
- }
|
|
|
-
|
|
|
- /* Clear the GPE (of stale events) */
|
|
|
- status = acpi_hw_clear_gpe(gpe_event_info);
|
|
|
- if (ACPI_FAILURE(status)) {
|
|
|
- return_ACPI_STATUS(status);
|
|
|
- }
|
|
|
-
|
|
|
- /* Enable the requested GPE */
|
|
|
- status = acpi_hw_low_set_gpe(gpe_event_info, ACPI_GPE_ENABLE);
|
|
|
-
|
|
|
- return_ACPI_STATUS(status);
|
|
|
-}
|
|
|
-
|
|
|
/*******************************************************************************
|
|
|
*
|
|
|
* FUNCTION: acpi_set_gpe
|
|
@@ -287,7 +249,7 @@ acpi_status acpi_set_gpe(acpi_handle gpe_device, u32 gpe_number, u8 action)
|
|
|
|
|
|
switch (action) {
|
|
|
case ACPI_GPE_ENABLE:
|
|
|
- status = acpi_clear_and_enable_gpe(gpe_event_info);
|
|
|
+ status = acpi_ev_enable_gpe(gpe_event_info);
|
|
|
break;
|
|
|
|
|
|
case ACPI_GPE_DISABLE:
|
|
@@ -414,7 +376,7 @@ acpi_status acpi_enable_gpe(acpi_handle gpe_device, u32 gpe_number)
|
|
|
if (gpe_event_info->runtime_count == 1) {
|
|
|
status = acpi_ev_update_gpe_enable_mask(gpe_event_info);
|
|
|
if (ACPI_SUCCESS(status)) {
|
|
|
- status = acpi_clear_and_enable_gpe(gpe_event_info);
|
|
|
+ status = acpi_ev_enable_gpe(gpe_event_info);
|
|
|
}
|
|
|
if (ACPI_FAILURE(status)) {
|
|
|
gpe_event_info->runtime_count--;
|