aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/platform/olpc/olpc-xo1-pm.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/platform/olpc/olpc-xo1-pm.c')
-rw-r--r--arch/x86/platform/olpc/olpc-xo1-pm.c15
1 files changed, 0 insertions, 15 deletions
diff --git a/arch/x86/platform/olpc/olpc-xo1-pm.c b/arch/x86/platform/olpc/olpc-xo1-pm.c
index 8054b64ec4ce..d75582d1aa55 100644
--- a/arch/x86/platform/olpc/olpc-xo1-pm.c
+++ b/arch/x86/platform/olpc/olpc-xo1-pm.c
@@ -52,16 +52,11 @@ EXPORT_SYMBOL_GPL(olpc_xo1_pm_wakeup_clear);
52static int xo1_power_state_enter(suspend_state_t pm_state) 52static int xo1_power_state_enter(suspend_state_t pm_state)
53{ 53{
54 unsigned long saved_sci_mask; 54 unsigned long saved_sci_mask;
55 int r;
56 55
57 /* Only STR is supported */ 56 /* Only STR is supported */
58 if (pm_state != PM_SUSPEND_MEM) 57 if (pm_state != PM_SUSPEND_MEM)
59 return -EINVAL; 58 return -EINVAL;
60 59
61 r = olpc_ec_cmd(EC_SET_SCI_INHIBIT, NULL, 0, NULL, 0);
62 if (r)
63 return r;
64
65 /* 60 /*
66 * Save SCI mask (this gets lost since PM1_EN is used as a mask for 61 * Save SCI mask (this gets lost since PM1_EN is used as a mask for
67 * wakeup events, which is not necessarily the same event set) 62 * wakeup events, which is not necessarily the same event set)
@@ -77,16 +72,6 @@ static int xo1_power_state_enter(suspend_state_t pm_state)
77 /* Restore SCI mask (using dword access to CS5536_PM1_EN) */ 72 /* Restore SCI mask (using dword access to CS5536_PM1_EN) */
78 outl(saved_sci_mask, acpi_base + CS5536_PM1_STS); 73 outl(saved_sci_mask, acpi_base + CS5536_PM1_STS);
79 74
80 /* Tell the EC to stop inhibiting SCIs */
81 olpc_ec_cmd(EC_SET_SCI_INHIBIT_RELEASE, NULL, 0, NULL, 0);
82
83 /*
84 * Tell the wireless module to restart USB communication.
85 * Must be done twice.
86 */
87 olpc_ec_cmd(EC_WAKE_UP_WLAN, NULL, 0, NULL, 0);
88 olpc_ec_cmd(EC_WAKE_UP_WLAN, NULL, 0, NULL, 0);
89
90 return 0; 75 return 0;
91} 76}
92 77