aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/platform
diff options
context:
space:
mode:
authorMatthew Garrett <mjg59@srcf.ucam.org>2009-03-26 08:58:13 -0400
committerLen Brown <len.brown@intel.com>2009-03-27 12:17:56 -0400
commit82734bfc8622f3e8f015a5783b739739f97f89f9 (patch)
treea8258a4f833fe754dace4d49cdeaf28c44b0b670 /drivers/platform
parentbadf26f00f2ed80615206d07bcfc2e3b78af5441 (diff)
sony-laptop: Enable EC on newer hardware
The latest Vaios can execute certain codepaths in two ways - either using system management mode or using pure ACPI methods. The latter is only used if the OS has called the ECON method. Ensure that this is done where the method is available. Signed-off-by: Matthew Garrett <mjg@redhat.com> Signed-off-by: Mattia Dongili <malattia@linux.it> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/platform')
-rw-r--r--drivers/platform/x86/sony-laptop.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c
index 3c52ec9548ab..04deed826180 100644
--- a/drivers/platform/x86/sony-laptop.c
+++ b/drivers/platform/x86/sony-laptop.c
@@ -948,6 +948,12 @@ static int sony_nc_resume(struct acpi_device *device)
948 } 948 }
949 } 949 }
950 950
951 if (ACPI_SUCCESS(acpi_get_handle(sony_nc_acpi_handle, "ECON",
952 &handle))) {
953 if (acpi_callsetfunc(sony_nc_acpi_handle, "ECON", 1, NULL))
954 dprintk("ECON Method failed\n");
955 }
956
951 if (ACPI_SUCCESS(acpi_get_handle(sony_nc_acpi_handle, "SN00", 957 if (ACPI_SUCCESS(acpi_get_handle(sony_nc_acpi_handle, "SN00",
952 &handle))) { 958 &handle))) {
953 dprintk("Doing SNC setup\n"); 959 dprintk("Doing SNC setup\n");
@@ -1005,6 +1011,12 @@ static int sony_nc_add(struct acpi_device *device)
1005 dprintk("_INI Method failed\n"); 1011 dprintk("_INI Method failed\n");
1006 } 1012 }
1007 1013
1014 if (ACPI_SUCCESS(acpi_get_handle(sony_nc_acpi_handle, "ECON",
1015 &handle))) {
1016 if (acpi_callsetfunc(sony_nc_acpi_handle, "ECON", 1, NULL))
1017 dprintk("ECON Method failed\n");
1018 }
1019
1008 if (ACPI_SUCCESS(acpi_get_handle(sony_nc_acpi_handle, "SN00", 1020 if (ACPI_SUCCESS(acpi_get_handle(sony_nc_acpi_handle, "SN00",
1009 &handle))) { 1021 &handle))) {
1010 dprintk("Doing SNC setup\n"); 1022 dprintk("Doing SNC setup\n");