|
@@ -146,6 +146,7 @@ acpi_ev_mask_gpe(struct acpi_gpe_event_info *gpe_event_info, u8 is_masked)
|
|
|
* FUNCTION: acpi_ev_add_gpe_reference
|
|
* FUNCTION: acpi_ev_add_gpe_reference
|
|
|
*
|
|
*
|
|
|
* PARAMETERS: gpe_event_info - Add a reference to this GPE
|
|
* PARAMETERS: gpe_event_info - Add a reference to this GPE
|
|
|
|
|
+ * clear_on_enable - Clear GPE status before enabling it
|
|
|
*
|
|
*
|
|
|
* RETURN: Status
|
|
* RETURN: Status
|
|
|
*
|
|
*
|
|
@@ -155,7 +156,8 @@ acpi_ev_mask_gpe(struct acpi_gpe_event_info *gpe_event_info, u8 is_masked)
|
|
|
******************************************************************************/
|
|
******************************************************************************/
|
|
|
|
|
|
|
|
acpi_status
|
|
acpi_status
|
|
|
-acpi_ev_add_gpe_reference(struct acpi_gpe_event_info *gpe_event_info)
|
|
|
|
|
|
|
+acpi_ev_add_gpe_reference(struct acpi_gpe_event_info *gpe_event_info,
|
|
|
|
|
+ u8 clear_on_enable)
|
|
|
{
|
|
{
|
|
|
acpi_status status = AE_OK;
|
|
acpi_status status = AE_OK;
|
|
|
|
|
|
|
@@ -170,6 +172,10 @@ acpi_ev_add_gpe_reference(struct acpi_gpe_event_info *gpe_event_info)
|
|
|
|
|
|
|
|
/* Enable on first reference */
|
|
/* Enable on first reference */
|
|
|
|
|
|
|
|
|
|
+ if (clear_on_enable) {
|
|
|
|
|
+ (void)acpi_hw_clear_gpe(gpe_event_info);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
status = acpi_ev_update_gpe_enable_mask(gpe_event_info);
|
|
status = acpi_ev_update_gpe_enable_mask(gpe_event_info);
|
|
|
if (ACPI_SUCCESS(status)) {
|
|
if (ACPI_SUCCESS(status)) {
|
|
|
status = acpi_ev_enable_gpe(gpe_event_info);
|
|
status = acpi_ev_enable_gpe(gpe_event_info);
|