From f065f5591e9806ba6812d96541388a1d71bc5cc5 Mon Sep 17 00:00:00 2001 From: Daniel Drake Date: Fri, 16 Dec 2011 15:49:28 +1100 Subject: [PATCH] x86-olpc-xo15-sci-enable-lid-close-wakeup-control-through-sysfs-v2 v2: Fix sscanf usage error and add an explanatory comment in the code, both pointed out by Andrew Morton. Thanks! Signed-off-by: Daniel Drake Cc: Andres Salomon Cc: Matthew Garrett Cc: Ingo Molnar Cc: Thomas Gleixner Cc: "H. Peter Anvin" Signed-off-by: Andrew Morton --- arch/x86/platform/olpc/olpc-xo15-sci.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/arch/x86/platform/olpc/olpc-xo15-sci.c b/arch/x86/platform/olpc/olpc-xo15-sci.c index 2dd700351e7a..e1869b48e6e9 100644 --- a/arch/x86/platform/olpc/olpc-xo15-sci.c +++ b/arch/x86/platform/olpc/olpc-xo15-sci.c @@ -26,6 +26,17 @@ static unsigned long xo15_sci_gpe; static bool lid_wake_on_close; +/* + * The normal ACPI LID wakeup behavior is wake-on-open, but not + * wake-on-close. This is implemented as standard by the XO-1.5 DSDT. + * + * We provide here a sysfs attribute that will additionally enable + * wake-on-close behavior. This is useful (e.g.) when we oportunistically + * suspend with the display running; if the lid is then closed, we want to + * wake up to turn the display off. + * + * This is controlled through a custom method in the XO-1.5 DSDT. + */ static int set_lid_wake_behavior(bool wake_on_close) { struct acpi_object_list arg_list; @@ -39,7 +50,7 @@ static int set_lid_wake_behavior(bool wake_on_close) status = acpi_evaluate_object(NULL, "\\_SB.PCI0.LID.LIDW", &arg_list, NULL); if (ACPI_FAILURE(status)) { - pr_warning(PFX "failed to set lid behaviour\n"); + pr_warning(PFX "failed to set lid behavior\n"); return 1; } -- 2.39.5