diff options
author | Matthew Garrett <mjg59@srcf.ucam.org> | 2009-03-26 08:58:13 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2009-03-27 12:17:56 -0400 |
commit | 82734bfc8622f3e8f015a5783b739739f97f89f9 (patch) | |
tree | a8258a4f833fe754dace4d49cdeaf28c44b0b670 | |
parent | badf26f00f2ed80615206d07bcfc2e3b78af5441 (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>
-rw-r--r-- | drivers/platform/x86/sony-laptop.c | 12 |
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"); |