summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
Diffstat (limited to 'common')
-rw-r--r--common/chipset_gaia.c17
-rw-r--r--common/chipset_haswell.c2
-rw-r--r--common/chipset_ivybridge.c2
-rw-r--r--common/chipset_tegra.c17
4 files changed, 18 insertions, 20 deletions
diff --git a/common/chipset_gaia.c b/common/chipset_gaia.c
index 19619d601b..fd5d5fb7a6 100644
--- a/common/chipset_gaia.c
+++ b/common/chipset_gaia.c
@@ -27,7 +27,6 @@
#include "chipset.h" /* This module implements chipset functions too */
#include "common.h"
#include "console.h"
-#include "gaia_power.h"
#include "gpio.h"
#include "hooks.h"
#include "lid_switch.h"
@@ -289,15 +288,15 @@ static void gaia_suspend_deferred(void)
}
DECLARE_DEFERRED(gaia_suspend_deferred);
-void gaia_suspend_event(enum gpio_signal signal)
+void power_interrupt(enum gpio_signal signal)
{
- hook_call_deferred(gaia_suspend_deferred, 0);
-}
-
-void gaia_power_event(enum gpio_signal signal)
-{
- /* Wake up the task */
- task_wake(TASK_ID_CHIPSET);
+ if (signal == GPIO_SUSPEND_L) {
+ /* Handle suspend events in the hook task */
+ hook_call_deferred(gaia_suspend_deferred, 0);
+ } else {
+ /* All other events are handled in the chipset task */
+ task_wake(TASK_ID_CHIPSET);
+ }
}
static void gaia_lid_event(void)
diff --git a/common/chipset_haswell.c b/common/chipset_haswell.c
index b656cb8797..95823ae418 100644
--- a/common/chipset_haswell.c
+++ b/common/chipset_haswell.c
@@ -367,7 +367,7 @@ enum x86_state x86_handle_state(enum x86_state state)
return state;
}
-void haswell_interrupt(enum gpio_signal signal)
+void power_interrupt(enum gpio_signal signal)
{
/* Pass through eDP VDD enable from PCH */
gpio_set_level(GPIO_EC_EDP_VDD_EN, gpio_get_level(GPIO_PCH_EDP_VDD_EN));
diff --git a/common/chipset_ivybridge.c b/common/chipset_ivybridge.c
index 048d6a5d5b..7a8dfd12aa 100644
--- a/common/chipset_ivybridge.c
+++ b/common/chipset_ivybridge.c
@@ -337,7 +337,7 @@ enum x86_state x86_handle_state(enum x86_state state)
return state;
}
-void ivybridge_interrupt(enum gpio_signal signal)
+void power_interrupt(enum gpio_signal signal)
{
/* Route SUSWARN# back to SUSACK# */
gpio_set_level(GPIO_PCH_SUSACK_L, gpio_get_level(GPIO_PCH_SUSWARN_L));
diff --git a/common/chipset_tegra.c b/common/chipset_tegra.c
index 7032f969cb..3484a266ae 100644
--- a/common/chipset_tegra.c
+++ b/common/chipset_tegra.c
@@ -27,7 +27,6 @@
#include "chipset.h" /* This module implements chipset functions too */
#include "common.h"
#include "console.h"
-#include "tegra_power.h"
#include "gpio.h"
#include "hooks.h"
#include "lid_switch.h"
@@ -248,15 +247,15 @@ static void tegra_suspend_deferred(void)
}
DECLARE_DEFERRED(tegra_suspend_deferred);
-void tegra_suspend_event(enum gpio_signal signal)
+void power_interrupt(enum gpio_signal signal)
{
- hook_call_deferred(tegra_suspend_deferred, 0);
-}
-
-void tegra_power_event(enum gpio_signal signal)
-{
- /* Wake up the task */
- task_wake(TASK_ID_CHIPSET);
+ if (signal == GPIO_SUSPEND_L) {
+ /* Handle suspend events in the hook task */
+ hook_call_deferred(tegra_suspend_deferred, 0);
+ } else {
+ /* All other events are handled in the chipset task */
+ task_wake(TASK_ID_CHIPSET);
+ }
}
static void tegra_lid_event(void)